栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

# 深入linux内核架构——进程管理和调度(一)

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

# 深入linux内核架构——进程管理和调度(一)

0. 前言

多任务的现代操作系统

所有的现代操作系统都能够同时运行若干个进程。内核和处理器建立了这种多任务的错觉(也就是可以并行操作)

但是,这也引入了若干问题

多任务引入的问题
    独立:除非明确要求,进程之间不能互相干扰共享:公平地共享CPU,但是其中一些程序可能更重要

由此,在内核中,需要完成以下的两个任务。

内核需要解决的任务
    调度策略:分配多少时间?什么时候切换进程?切换到哪一个进程?任务切换机制:切换之后,如何保证与上一次的上下文一致?
1. 进程优先级——长幼尊卑

在所有进程中,重要性并不是都是一致的。这就比消防员中,“救火”的任务远远高于“开锁”的任务。必需得优先执行高优先级的任务。

1.1 进程的分类

Linux内核调度器的发展历史

关于如何去调度进程,内核开发者之间有着热烈的讨论。其中的难点在于不同的工作有不同的需求,很难有一个统一的定量标准。

2. 进程生命周期——众生百态

进程因为资源等待等原因,并不总是可以运行的。而调度器在调度的时候必须知道系统的中每个进程状态。

2.1 进程可能的状态
状态**说明 **
运行此刻正在执行
等待万事俱备只欠东风,能够运行但是没有得到许可
睡眠进程等待一个外部事件
终止进程退出
2.2 孤儿进程和僵尸进程

孤儿进程:父进程先于子进程结束僵尸进程:子进程结束之后,父进程中没有调用wait系统调用 巨人肩膀

O(n)、O(1)和CFS调度器 (wowotech.net)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/731164.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号