前言:
1,明确:linux内核一些相关概念
“任务”:在linux内核中,不仅包括进程还包括中断,中断不隶属于进程,独立于进程
“中断”:包括硬件中断(外设发送的中断电信号)和软中断(svc/swi指令)
"优先级":衡量任务获取CPU资源的一种能力,优先级越高获取CPU资源的能力就越高,这个任务就可以越早运行
任务优先级:硬件中断的优先级高于软中断的优先级;软中断的优先级高于进程;进程之间有优先级之分;软中断同样也有优先级;硬件中断无优先级。
“休眠”:这个词只能适用于进程,在中断的世界里没有休眠;进程休眠是指进程释放CPU资源给其它进程使用由于中断不隶属于进程,不参与进程的调度如果中断休眠,结果是死机!
进程上下文:就是进程的整个处理的过程(进程的创建,进程之间的调度,进程的抢占,进程的销毁)
中断上下文:就是中断的整个处理过程(跳转到异常向量表,保护现场,处理,恢复现场)
2,内核功能划分
(1)进程管理:内核负责创建和销毁进程,并处理它们与外部世界的联系(输入和输出). 不同进程间通讯(通过信号, 管道,或者进程间通讯原语)对整个系统功能 来说是基本的, 也由内核处理. 另外, 调度器,控制进程如何共享 CPU, 是进程管理的一部分. 更通常地, 内核的进程管理活动实现了多个进程在 一个单个或者几个 CPU 之上的抽象.
(2)内存管理:计算机的内存是主要的资源,处理它所用的策略对系统性能是至关重要的. 内核为所有进程的每