计算机设备管理操作系统.ppt
文本预览下载声明
1 设备分配中的数据结构 (1) 设备控制表(DCT, Device Control Table) 每个设备一张,描述设备特性和状态。反映设备的特性、设备和控制器的连接情况。DCT的内容主要包括: 设备标识:用来区别不同的设备; 设备类型:反映设备的特性;如:块设备或字符设备; 设备配置:I/O地址等; 第三十一页,共八十一页。 设备状态:忙/闲,等待/不等待;(若与设备链接的控制器或通道忙,则等待) 等待队列:等待使用该设备的进程队列; 与设备连接的控制器表指针。 第三十二页,共八十一页。 (2) 系统设备表(SDT, System Device Table) 系统内一张,反映系统中设备资源的状态,记录所有设备的状态及其设备控制表的入口。SDT表项的主要组成: DCT指针:指向相应设备的DCT; 设备使用进程标识:正在使用该设备的进程标识; DCT信息:为引用方便而保存的DCT信息,如:设备标识、设备类型等; 第三十三页,共八十一页。 (3)控制器控制表(COCT, COntroller Control Table) 每个设备控制器一张,描述I/O控制器的配置和状态。如DMA控制器所占用的中断号、DMA数据通道的分配。 (4)通道控制表(CHCT, CHannel Control Table) 每个通道一张,描述通道工作状态。 控制器标识符 控制器状态:忙/空闲 与控制器连接的通道指针 等待控制器的进程队列指针 第三十四页,共八十一页。 系统设备表 设备控制表 控制器 控制表1 通道控制表 设备 控制表1 控制器 控制表2 控制器 控制表n 设备 控制表n pcb pcb pcb pcb (5) 表格之间的关系 pcb pcb 第三十五页,共八十一页。 2 设备分配时应考虑的因素 设备分配的原则是合理使用外设(公平和避免死锁),提高设备使用率。 (1) 考虑设备的固有属性 独享设备:打印机等。进程使用完自己释放,一般不能剥夺; 共享设备:磁盘、网卡等。多个进程并发使用,需合理调度; 虚拟设备:虚拟打印机等。可有多个进程使用,但FCFS。 第三十六页,共八十一页。 (2) 设备分配算法 与进程调度类似,但简单一些; 先来先服务(FCFS):按I/O请求的先后顺序,排成I/O请求命令队列;按FCFS分配设备; 基于优先级:依据进程的优先级,指定I/O请求的优先级,优先级高的排在设备队列的队首;同优先级则FCFS;按优先级高低分配设备。 第三十七页,共八十一页。 (3) 设备分配中的安全性 ①安全分配方式 进程发出I/O请求后阻塞,完成后唤醒,即进程运行时不占有任何设备资源,摈弃了“请求保持”条件。缺点:CPU与I/O设备是串行工作。 ②不安全分配方式 进程发出I/O请求后仍继续运行,又可发出I/O请求,仅当进程所请求的设备已被另一进程占用时,进程才进入阻塞状态。优点:多个设备并行操作;缺点:可能造成死锁。 第三十八页,共八十一页。 3 设备的独立性 (1) 设备独立性(Device independence)的概念 设备独立性指除了直接与设备打交道的底层软件之外,其它部分的软件并不依赖于硬件。可以提高软件的设计效率。 为了实现设备独立性:引入物理设备、逻辑设备 应用程序使用逻辑设备名调用设备;OS实际执行时,使用物理设备名。 OS负责将逻辑设备名转换为物理设备名。 第三十九页,共八十一页。 (2) 设备独立性带来如下好处: ①设备分配时的灵活性 进程请求设备时,OS可从一类设备中选择空闲的分配,不会因特定设备忙而阻塞。 ②实现I/O重定向 I/O重定向:实现I/O操作的设备可以更换,而不必改变应用程序。 如,调试程序时先输出到屏幕,最后再打印 第四十页,共八十一页。 (3)逻辑设备名到物理设备名映射的实现 ①逻辑设备表(LUT) 当进程用逻辑设备名请求I/O设备时,系统为它分配相应的物理设备,并在LUT中建立一个表目。 ②LUT的设置可采用两种方式 整个系统一张,不能有相同逻辑设备名。 每个用户一张,放入PCB中 第四十一页,共八十一页。 4. 基本的设备分配程序 (1) 分配设备 (2) 分配控制器 (3)分配通道 系统设备表 设备控制表 控制器 控制表1 通道控制表 设备 控制表1 控制器 控制表2 控制器 控制表n 设备 控制表n pcb pcb pcb pcb pcb pcb 第四十二页,共八十一页。 5.2.4 SPOOLing技术 利用假脱机技术(SPOOLing, Simultaneous Peripheral Operation On Line, 也称为虚拟设备技术)可把独享设备转变成具有共享特征的虚拟设备,从而提高设
显示全部