相关的系统调度

  • fork():  用于创建进程,Linux中进程的创建者与被创建者是父子关系
  • clone():克隆,真正实现创建进程的操作,fork()是不带参数的,clone()是带参数的,通过不同的参数后,可以不仅仅做fork(),也能做其他的创建进程的方式
  • exec():加载外部存储器的一段代码,把一个可执行文件,加载到当前的进程执行环境中。往往是和fork()和clone搭配使用的。
  • exit():退出;进程生命周期结束就会执行exit(),消亡时exit()会把这个信息通知父进程,父进程根据这些信息做出相应的反映。
  • wait4(): 子进程的运行情况需要通过一些方式将信息反馈给父进程,这个系统调用和反馈信息密切相关;等待相应的子进程反馈相应的数据状态信息
  • waitpid():同上

进程描述符

进程描述符是用来在操作系统中标识一个进程的

linux重要知识清单:进程管理

slab机制

slab机制的linux进行进程描述符分配的一种机制。

比如土司面报被切成很多片,每一块就是slab.

内存区间通过动态分配机制分配下来,这个区间按照一定的结构尺寸切成若干份,在使用时就在若干份存储区间中去申请,每次去分配一块,每块对应的就是具体应用的数据结构的尺寸;应用在进程描述符时,每个slab的尺寸就是进程描述符的尺寸。

Linux为什么用这种机制而不是使用动态分配内存呢?

针对资源要被频繁使用归还的使用slab机制就可以提升很大的效率

分配进程描述符

2.6内核之前,在每个进程内核栈末端来分配。

linux重要知识清单:进程管理

linux重要知识清单:进程管理

相关文章:

  • 2021-08-06
  • 2021-08-06
  • 2021-04-27
  • 2021-04-18
  • 2022-12-23
  • 2022-12-23
  • 2021-06-03
  • 2021-12-27
猜你喜欢
  • 2021-05-16
  • 2022-12-23
  • 2021-07-07
  • 2022-01-07
  • 2021-12-02
  • 2021-04-25
  • 2021-08-31
相关资源
相似解决方案