- 4
- 0
- 约1.66万字
- 约 74页
- 2017-05-07 发布于四川
- 举报
嵌入式的操作systemchap7
Linux内核要管理计算机上的硬件设备,首先要和他们通信。而处理器的速度跟外围硬件设备的速度往往不在一个数量级上,因此,如果内核采取让处理器向硬件发出一个请求,然后专门等待回应的办法,显然效率很低。 既然硬件的响应这么慢,那么内核就应该在此期间处理其他事务,等到硬件真正完成了请求的操作之后,再回过头来对它进行处理。想要实现这种功能,轮询(polling)可能会是一种解决办法。可以让内核定期对设备的状态进行查询,然后做出相应的处理。不过这种方法很可能会让内核做不少无用功,因为无论硬件设备是正在忙碌着完成任务还是已经大功告成,轮询总会周期性地重复执行。 更好的办法是由人为的来提供一种机制,让硬件在需要的时候再向内核发出信号(变内核主动为硬件主动)。这就是中断机制。 具体的中断过程:一次完整的中断过程由中断请求、中断响应和中断处理三个阶段组成。 中断请求:是由中断源发出的并送给CPU的控制信号,由中断源设备通过将接口卡上的中断寄存器的相应位置“1”完成。 中断响应:当CPU接到中断请求,若满足下列条件,就会响应中断。 中断处理过程:??关中断-保存断点保护现场-判中断源转中断服务-开中断-执行中断服务程序-关中断-恢复现场恢复断点-开中断-返回断点 在Linux下,硬件中断叫做IRQ(Interrupt Requests的缩写) ,通常把申请一条中断线称为申请一个IRQ或者申请一
原创力文档

文档评论(0)