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

被折叠的 条评论
为什么被折叠?



