linux复习第三章中断处理考试要点整合.doc_第1页
linux复习第三章中断处理考试要点整合.doc_第2页
linux复习第三章中断处理考试要点整合.doc_第3页
linux复习第三章中断处理考试要点整合.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第三章 中断处理1、(1)中断的概念中断:外界请求内核服务的一种最主要的方式;功能:打断CPU的工作,告之急需处理的事件;目的:CPU与外部设备并行工作;中断的分类(2)中断的分类中断分为内部中断(异常)和外部中断,外部中断分为硬中断(来自己硬件,特例:时钟中断)和软中断(由INT n指令产生)。(3)中断向量:处理器给每个中断一个唯一的标识号,系统中共有256个中断向量,其中32-255为用户定义的中断(IRQ);中断描述符表IDT:由一组门描述符组成,每个门描述符描述一个中断或异常的处理程序。因为只有256个中断和异常,所以IDT最多只需要256项。2、异常处理:异常处理程序所做的工作(1)判断该中断是否产生错误代码;产生错误代码:系统自动在堆栈中压入错误代码;不产生错误代码:在栈顶压入0或-1,补齐错误代码;(2)在栈顶压入异常处理程序入口地址; (3)最后转error_code程序(调整堆栈布局,压入参数,调用真正的异常处理程序);补充:(1)异常处理完毕:执行ret_from_exception程序(恢复被中断进程的运行或调度新进程运行);(2)特殊:7号异常不经过error_code代码。3、外部中断的处理:(1)中断处理程序的划分:固定部分:系统定义,设置在IDT(中断描述符表)中,不能随意改变;可变部分:设备驱动程序定义,经固定部分进入;上半部分:中断发生后立即执行;下半部分(底半):推迟执行;为什么要划分成固定部分和可变部分?因为外部中断允许用户自定义,所以每个外部中断所对应的设备不是固定的,因而每个外部中断(IRQ)对应的处理程序也不是固定的。又必须固定外部中断的处理程序才能建立相应的门描述符,进而加入到IDT中,所以,linux把每个外部中断程序分成固定部分和可变部分。为什么要将可变部分划分为上半处理和底半处理?使中断响应的总延迟时间最小化;减少关中断的时间;合并某些中断处理;(2)主要过程:(1)中断发生:根据IRQ号查IDT表找到处理程序的固定部分;(2)执行固定部分的处理程序(3)执行固定上半部分的处理程序:执行handle程序,完成上半处理;判断是否有被激活的底半处理:若有,则转去做底半处理;(4) 中断处理返回。中断处理程序返回时调用ret_from_intr程序:检查被中断进程的运行模式(1)运行在核心态:弹出寄存器的值,恢复运行;(2)运行在用户态:判断是否需要调度;若需调度:启动进程调度程序;若不需调度:判断其上是否有待处理的信号;若有:处理信号;否则弹出寄存器的值,恢复运行4、时钟中断(1)时钟中断是一种特殊的外部中断:中断源:系统时钟;中断处理程序固定,由操作系

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论