I-O系统的硬件设备分配
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.1 设备分配原则与策略
2.设备分配策略 与进程调度相似,动态设备分配也是基于 一定的分配策略的。常用的分配策略有先 请求先分配、优先级高者优先分配策略等。
(1)先请求者先分配 (2)优先级高者为了对设备进行合理的分配,设备管理系统必须建立相 应的数据结构,这些数据结构用来记录设备、设备控制 器和通道的状态以及对它们进行控制所需要的信息。系 统在进行设备分配时所需的数据结构 主要有 设备控制表 (Device Control Table,DCT) 控制器控制表 (Controller Control Table,COCT) 通道控制表 (Channel Control Table,CHCT) 系统设备表 (System Device Table,SDT)
1.2设备分配的数据结构
图5-10给出这些数据结构的内容及相互间的关系。
1.3 设备的分配流程
根据设备分配的原则和策略,利用系统提供的设备 分配的数据结构,当进程提出I/O请求后,可按 图5-11所示的流程为进程分配设备。
5.5 I/O控制
5.5.1 I/O控制的概念 我们把从用户进程申请输入输出开始,给用 户进程分配设备和启动有关设备进行I/O操 作,以及在I/O操作完成之后响应中断,到 进行善后处理为止的整个系统控制过程称 为I/O控制。
操作系统
5.5.4 设备驱动程序
设备驱动程序包括了所有与设备有关的代码。每 一个设备驱动程序只处理一种设备或者一类密切相关 的设备。
设备驱动程序是驱动物理设备和DMA控制器或I/O 控制器等直接进行I/O操作的子程序的集合。
为了对驱动程序进行管理,系统中设置有设备开 关表(Device Switch Table,DST)。设备开关表中 给出相应设备的各种操作子程序的入口地址,例如打 开、关闭、读、写和启动设备子程序的入口地址。一 般设备开关表是二维结构,其中的行和列分别表示设 备类型和驱动程序类型。设备开关表也是I/O进程的一 个数据结构,I/O控制过程为进程分配设备和缓冲区之 后,可以使用设备开关表调用所需的驱动程序进行I/O 操作。
1.1 设备分配的原则与策略
设备分配方式有两种,即静态分配和动态分配。
静态分配 在作业级进行的,当一个作业运行之前由 系统一次分配满足需要的全部设备,这些 设备一直为该作业占用,直到作业撤消。 这种分配不会出现死锁,但设备的利用效 率较低。
1.1 设备分配原则与策略
动态分配
在进程运行的过程中进行的,当进程需 要使用设备时,通过系统调用命令向系统提 出设备请求,系统按一定的分配策略给进程 分配所需设备,一旦使用完毕立即释放。显 然这种分配方式有利于提高设备的使用效率, 但会出现死锁.
5.5.2 I/O控制的功能
I/O控制的流程与功能如图5-12所示。
I/O控制过程首先收集和分析调用I/O控制过程的原 因是来自外设的中断请求还是来自进程的I/O请求 ?然后分别调用不同的程序模块进行处理。
5.5.3 I/O控制的实现
一般采用三种方式实现I/O控制过程 分别描述如下:
1.作为请求I/O操作的进程的一部分实现。 2.作为当前进程的一部分实现。 3.I/O控制由专门的系统进程——I/O进程完成。
5.5.3 I/O控制的实现
I/O请求处理模块、设备分配模块、缓冲区管理 模块和中断原因分析、中断处理模块和即将介绍 到的设备驱动程序等都是I/O进程的一部分。 I/O进程也可分为三种方式实现: (1) 为每类设备设一专门的I/O进程,且该进程只能 在系统态下执行。 (2) 在整个系统中仅设一个I/O进程,全面负责系统 的数据传送工作。 (3) 为每类设备设一个专门的I/O进程,但该进程既 运行于用户态也可运行于系统态。
操作系统
设备分配
1.1 设备分配的原则与策略
1.设备分配原则
设备分配的原则是由设备特性、用户要求和系 统配置情况决定的。设备分配的总原则是既要充 分发挥设备的使用效率,尽可能使设备忙,又要 避免由于不合理的分配方法而造成进程死锁;另 外还要做到把用户程序和具体物理设备隔离开来, 即用户程序面对的是逻辑设备,由分配程序将逻 辑设备转换成物理设备后,再根据相应的物理设 备号进行分配。