乐趣区

关于linux:Linux内核学习2-进程的管理和调度

Linux 内核学习 -2. 过程的治理和调度(要点)

内核的工作

过程的治理和调度

过程优先级

过程优先级粗犷分为实时过程和非实时过程:

  • 硬实时过程:有严格的工夫限度 /Linux 不反对硬实时 / 一些 linux 旁支版本 RTLinux 反对硬实时,次要起因是调度器没有做进内核中,内核作为一个独立的过程解决一些不仅要的工作。
  • Linux 的工作优先满足吞吐量,所以弱化了过程调度。然而这些年人们也在升高内核提早下面做了很多钻研,比方提出可抢占机制、实时互斥内核锁还有齐全偏心调度器。
  • 软实时过程:相似与写 CD 这种工作品种的过程,就算是写过程被临时中断也不会造成宕机之类的危险操作。
  • 一般过程:没有具体的工夫束缚限度,然而会调配优先级来辨别重要性。

过程的生命周期

  • 生命周期分为:运行、期待、休眠和终止。
  • 过程的状态机由调度器来扭转状态。
  • 不在于周期范畴内的过程:“僵尸过程”:子过程被 KILL 信号(SIGTERM 和 SIGKILL)杀死,父过程没有调用 wait4()。失常流程是,子过程被 KILL,父过程调用 wait4 零碎调用,告诉内核子过程已死。
  • 处于僵尸过程状态过程:

    • 还会在过程表中(ps/top 能刷出过程)
    • 占用很少的资源
    • 重启后能力刷掉该过程
  • 抢占式多任务处理

    • 过程执行分为内核态和用户态,最大区别在于,内存地址区域拜访划分不同。
    • 进内核态办法一:如果用户态过程进入内核态:访问共享数据,文件系统空间,必须通过 零碎调用,能力进入到内核态。
    • 进内核态办法二:中断触发进入内核态。
    • 中断触发和零碎调用能够使用户态进入到内核态,但用户态是被动调用的,中断是内部触发的。
    • 用户态 < 外围态 < 中断
  • 过程抢占档次:

    • 一般过程总会被抢占
    • 如果
退出移动版