Linux内核开发教程:时钟与中断处理机制详解.pdfVIP

  • 0
  • 0
  • 约1.82千字
  • 约 12页
  • 2026-01-29 发布于北京
  • 举报

Linux内核开发教程:时钟与中断处理机制详解.pdf

Linux内核

第二十讲Linux内核子系统的协调工作

主讲人:

华章培训网、[]华章培训网

时钟

一、时钟

1、时钟是最底层也是最基本的驱动器。

时钟了基本的脉搏。

整个机器依靠时钟的驱动运行。cpu被精确设

计,在周期性的时钟边缘触发中推进执行逻

辑的值,比如EIP寄存器。然而cpu认为系统只有一个

进程,一个执行流,这是冯.诺依曼机器模型决定

的。

操作系统必须获取这个,然后执行操作系统相

关的操作,比如进程调度等等。

第2页

时钟

2、时钟中断处理

Linux操作系统设置了时钟中断处理程序,当cpu检

测到时钟中断发生时,将执行流自动路由到时

钟中断处理程序。

3、Linux时钟中断处理

更新当前进程的时间统计值

检查是否需要进行进程调度

如果需要调度的话,进行进程调度。使更需要运行

的进程运行。

第3页

软中断

二、软中断机制

1、硬件中断机制

外设有的时候,会发起硬件中断,硬件中断处

理程序需要做的工作量很不统一。

硬件中断处理程序必须需要很快完成。

Linux在硬件中断处理程序中触发一种称为softirq

的软中断。

2、软中断

耗时比较久的中断处理事务

第4页

内核线程和Linux进程

三、内核线程和工作队列

Linux将内核的一些事务交给内核线程来做。

2.6内核中引入了工作队列,实际上工作队列也是一种

内核线程

四、Linux进程的执行

1、被fork

2、exec一个新的磁盘映像

一般的,Linux的可执行映像是ELF文件,该文件的

内容被载入新进程的地址空间

3、执行系统调用,比如read

第5页

Linux进程

4、被中断

Linux进程在执行过程中会经常被外设中断,即使没

有任何外设,也会有时钟中断。

5、执行期间需要大量内存

调用mmap在进程地址空间申请虚拟内存,使用时

通过alloc_pages申请页面。

如果系统再也没有足够的可用页面了,将调用

相关内核线程来释放一些页面,将之分配给当

前需要页面的进程。

6、执行完毕,调用exit系统调用

第6页

感谢您对华章培训网的支持!

.

文档评论(0)

1亿VIP精品文档

相关文档