官术网_书友最值得收藏!

Process descriptors

Right from the time a process is born until it exits, it’s the kernel's process management subsystem that carries out various operations, ranging from process creation, allocating CPU time, and event notifications to destruction of the process upon termination.

Apart from the address space, a process in memory is also assigned a data structure called the process descriptor, which the kernel uses to identify, manage, and schedule the process. The following figure depicts process address spaces with their respective process descriptors in the kernel:

In Linux, a process descriptor is an instance of type struct task_struct defined in <linux/sched.h>, it is one of the central data structures, and contains all the attributes, identification details, and resource allocation entries that a process holds. Looking at struct task_struct is like a peek into the window of what the kernel sees or works with to manage and schedule a process.

Since the task structure contains a wide set of data elements, which are related to the functionality of various kernel subsystems, it would be out of context to discuss the purpose and scope of all the elements in this chapter. We shall consider a few important elements that are related to process management.

主站蜘蛛池模板: 巩义市| 林芝县| 咸宁市| 衢州市| 肇庆市| 鄂温| 平湖市| 游戏| 宁波市| 阳西县| 荥经县| 新绛县| 连江县| 郴州市| 大渡口区| 密云县| 南投市| 秦安县| 利辛县| 铜陵市| 藁城市| 蒙山县| 潜江市| 鄂托克旗| 城固县| 临汾市| 青海省| 东阿县| 商都县| 固安县| 仲巴县| 普宁市| 绍兴县| 雅安市| 肃北| 盐边县| 奉贤区| 金沙县| 开原市| 弥勒县| 绵阳市|