- 1、本文档共38页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]OS_20_设备管理与IO2
设备管理与IO(2) 胡燕 内容纲要 中断 IO缓冲 设备分配 中断的概念 中断源 引起中断发生的事件 中断请求 中断源向CPU发出的请求中断处理信号 中断响应 CPU收到中断请求后,转去执行相应的中断处理程序 中断优先级 为使系统能及时响应并处理发生的所有中断,系统根据引起中断事件的重要性和紧迫程度,硬件将中断源分为若干个级别 中断的分类 根据中断源产生的条件,可把中断分为外中断和内中断。 外中断是指来自外部设备的中断,外中断在狭义上一般被称为中断。 内中断主要指在处理机和内存内部产生的中断。内中断一般称为陷阱(trap)。 中断和陷阱的区别 陷阱通常由处理机正在执行的现行指令引起,而中断则是由与现行指令无关的中断源引起的。 陷阱处理程序提供的服务为当前进程所用,而中断处理程序提供的服务则不是为了当前进程的。 CPU在执行完一条指令之后,下一条指令开始之前响应中断,而陷阱则可能是在指令执行期间发生并被处理。 例如执行指令非法时,尽管被执行的非法指令不能执行结束,但CPU仍可对其进行处理。 陷阱处理程序通常被规定在各自的进程上下文中执行,而中断处理程序则一定在系统上下文中执行。 软中断 软中断则是通信进程之间用来模拟硬中断的一种信号通信方式。 其中断源发中断请求或软中断信号后,CPU或接收进程在适当的时机自动进行中断处理或完成软中断信号所对应的功能。 在有些系统中,大部分的陷阱是转化为软中断处理的。 软中断 特点 其优先级一般低于系统调度程序的优先级,可以用来执行不十分紧急的任务 用于实现系统调用、调试等工作 实例 除法溢出(/0) int指令 单步调试中断(CPU的状态寄存器的某位置1的时候,每条指令执行后都会产生一个调试中断) INTEL i386的中断向量 0?- 31?? : 不可屏蔽中断32?- 47??: 可屏蔽中断48?- 255 : 软中断 Linux采用0x80作为系统调用所采用的中断向量,用于陷入核心态,进行核心处理 中断处理过程 内容纲要 中断 IO缓冲 设备分配 内容纲要 中断 IO缓冲 设备分配 设备分配 由于设备、控制器和通道资源的有限性,不是每一个进程随时随地都能得到这些资源; 进程必须首先向设备管理程序提出资源申请; 然后,由设备分配程序根据相应的分配算法为进程分配资源; 如果申请进程得不到它所申请的资源时,将被放入资源等待队列中等待,直到所需要的资源被释放。 一个进程只有获得了通道、控制器和所需设备三者之后,才具备进行I/O操作的物理条件。 设备分配需要考虑的因素 在多道程序环境下,系统资源总是由操作系统进行分配的,以使得系统有序的工作。 合理的设备分配需要考虑3个因素: I/O设备的固有属性 物理特性-独占(打印机);共享(磁盘) 分配算法 类似于进程调度算法 设备分配的安全性,分配时应考虑是否会发生死锁,同时避免各进程循环等待现象的发生 安全分配方式 进程发出I/O申请便进入阻塞状态直至I/O完成被唤醒(请求与保持不成立) 不安全分配方式 申请I/O之后可继续执行后续的“计算”,不被阻塞,这样可以并行操作。 设备分配原则 设备分配的原则是根据设备特性、用户要求和系统配置情况决定的。 设备分配的总原则 既要充分发挥设备的使用效率,尽可能的让设备忙,但又要避免由于不合理的分配方法造成进程死锁; 还要做到把用户程序和具体物理设备隔离开来,即用户程序面对的是逻辑设备,而分配程序将在系统把逻辑设备转换成物理设备之后,再根据要求的物理设备号进行分配。 设备分配过程 设备分配方式 静态分配 在用户作业开始执行之前,由系统一次分配该作业所要求的全部设备、控制器和通道; 一旦分配之后,这些设备、控制器和通道就一直为该作业所占用,直到该作业被撤消; 静态分配方式不会出现死锁,但设备的使用效率低; 静态分配方式并不符合设备分配的总原则。 动态分配 当进程需要设备时,通过系统调用命令向系统提出设备请求,由系统按照事先规定的策略给进程分配所需要的设备、I/O控制器和通道,一旦用完之后,便立即释放; 动态分配方式有利于提高设备的利用率; 如果分配算法使用不当,则有可能造成进程死锁。 设备分配策略 先请求先分配 多个进程对同一个设备提出I/O请求时(无论是显式,还是隐式的),按照进程提出的先后顺序。 当该设备空闲时,系统从该设备的请求队列的队首取下一个I/O请求消息,将设备分配给发出这个请求消息的进程。 优先级高者先分配 各个进程按进程的优先级排成一个设备申请队列,优先级相同,则再按照先来先服务的原则。 该设备空闲时,系统从I/O请求队列队首取下一个具有最高优先级进程发来的I/O请求命令,并将设备分配给发出该命令的进程。 设备分配中的数据结构 系统设备表(SDT ) SDT整个系统一
文档评论(0)