- Mastering Linux Kernel Development
- Raghu Bharadwaj
- 204字
- 2021-07-08 09:47:13
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.
- The Complete Rust Programming Reference Guide
- Web交互界面設(shè)計(jì)與制作(微課版)
- 基于免疫進(jìn)化的算法及應(yīng)用研究
- Learning ArcGIS Pro
- MySQL數(shù)據(jù)庫基礎(chǔ)實(shí)例教程(微課版)
- Go語言精進(jìn)之路:從新手到高手的編程思想、方法和技巧(1)
- Mobile Device Exploitation Cookbook
- Spring+Spring MVC+MyBatis從零開始學(xué)
- Node.js區(qū)塊鏈開發(fā)
- 30天學(xué)通C#項(xiàng)目案例開發(fā)
- Mastering PowerCLI
- AutoCAD基礎(chǔ)教程
- 數(shù)字媒體技術(shù)概論
- PHP+MySQL Web應(yīng)用開發(fā)教程
- Visual C#(學(xué)習(xí)筆記)