Linux26内核笔记【中断异常抢占内核】.docxVIP

  • 3
  • 0
  • 约5.13千字
  • 约 8页
  • 2017-08-17 发布于重庆
  • 举报

Linux26内核笔记【中断异常抢占内核】.docx

Linux26内核笔记【中断异常抢占内核】

2009.6.18更新:参考/Mailing-Lists/Kernel/2004-03/4562.html ,查证LXR,重新诠释PREEMPT_ACTIVE标志。?中断信号分类?中断信号是一个统称,统称那些改变CPU指令执行序列的事件。但它又分为两种:?一种是同步的,没那么突然,因为它只在一个指令的执行终止之后才发生,书中依从Intel的惯例,称为异常(Exception)。一般是编程错误(一般的处理是发信号)或者内核必须处理的异常情况(内核会采取恢复异常所需的一些步骤);?一种是异步的,突然一些,因为它是由间隔定时器和I/O设备产生的,只遵循CPU时钟信号,所以可能在任何时候产生,书中也依从Intel的惯例,称为中断(Interrupt)。?内核控制路径?内核在允许中断信号到来之前,必须先准备好对它们的处理,也就是适当地初始化中断描述符表(Interrupt Descriptor Table, IDT)。?中断信号一来,CPU控制单元就自动把当前的程序计数器(eip、cs)和eflags保存到内核stack,然后把事先与发生的中断信号类型关联好的处理程序的地址(保存在IDT中)放进程序计数器。这时,内核控制路径(kernel control path)横空出世。?什么是内核控制路径?它是不是一个进程?不是。内核进程?也不是。它虽然也需要切换上下文,需要保存那些它可能使用的寄存器

文档评论(0)

1亿VIP精品文档

相关文档