计算机操作系统5-设备管理(编辑修改稿)内容摘要:

冲区 缓冲区A 机 B 机( a ) 单缓冲发送缓冲区接收缓冲区接收缓冲区发送缓冲区A 机 B 机( b ) 双缓冲第五章 设 备 管 理 循环缓冲 1. 循环缓冲的组成 图 514 循环缓冲 RGGGRG165423N e x t iN e x t gRGGGRC165423N e x t iN e x t gc u r r e n t第五章 设 备 管 理 2. (1) Getbuf过程。 (2) Releasebuf过程。 第五章 设 备 管 理 3. 进程同步 (1) Nexti指针追赶上 Nextg指针。 (2) Nextg指针追赶上 Nexti指针。 第五章 设 备 管 理 缓冲池 (Buffer Pool) 1. 缓冲池的组成 1. 缓冲池的组成 对于既可用于输入又可用于输出的公用缓冲池 , 其中至少应含有以下三种类型的缓冲区: ① 空 (闲 )缓冲区; ② 装满输入数据的缓冲区; ③ 装满输出数据的缓冲区。 为了管理上的方便 , 可将相同类型的缓冲区链成一个队列 , 于是可形成以下三个队列: ( 1) 空缓冲队列 emq。 (2) 输入队列 inq。 (3) 输出队列 outq。 第五章 设 备 管 理 2. Getbuf过程和 Putbuf过程 Procedure Getbuf(type) begin Wait(RS(type))。 Wait(MS(type))。 B(number) ∶ [KG*3]= Takebuf(type)。 Signal(MS(type))。 end Procedure Putbuf(type, number) begin Wait(MS(type))。 Addbuf(type, number)。 Signal(MS(type))。 Signal(RS(type))。 end 第五章 设 备 管 理 3. 缓冲区的工作方式 图 515 缓冲区的工作方式 h i ns o u ts i nhout收容输入提取输出用户程序提取输入收容输出缓冲池第五章 设 备 管 理 设 备 分 配 设备分配中的数据结构 1. 设备控制表 DCT 设备类型 t y p e设备标识符: d e v i c e i d设备状态:等待/ 不等待 忙/ 闲指向控制器表的指针重复执行次数或时间设备队列的队首指针D C T 1D C T 2D C T n设备控制表集合图 516 设备控制表 第五章 设 备 管 理 2. 控制器控制表、 通道控制表和系统设备表 图 517 COCT、 CHCT和 SDT表 ( c ) 系统 设备表 S D T控制器标识符: c o n t r o l l e r i d控制器状态:忙/ 闲与控制器连接的通道表指针控制器队列的队首指针控制器队列的队尾指针通道标识符: c h a n n e l i d通道状态:忙/ 闲与通道连接的控制器表首址通道队列的队首指针通道队列的队尾指针( a ) 控制器表 C O C T ( b ) 通道表 C H C T表目 1„表目 i„设备类设备标识符D C T驱动程序入口第五章 设 备 管 理 1. 设备的固有属性 (1) 独享设备。 (2) 共享设备。 (3) 虚拟设备。 第五章 设 备 管 理 2. (1) 先来先服务。 (2) 优先级高者优先。 第五章 设 备 管 理 3. 设备分配中的安全性 1) 安全分配方式 2) 不安全分配方式 第五章 设 备 管 理 设备独立性 1. 设备独立性 (Device Independence) 为了提高 OS的可适应性和可扩展性 , 在现代 OS中都毫无例外地实现了设备独立性 , 也称为设备无关性。 其基本含义是: 应用程序独立于具体使用的物理设备。 为了实现设备独立性而引入了逻辑设备和物理设备这两个概念。 在应用程序中 , 使用逻辑设备名称来请求使用某类设备;而系统在实际执行时 , 还必须使用物理设备名称。 因此 , 系统须具有将逻辑设备名称转换为某物理设备名称的功能 , 这非常类似于存储器管理中所介绍的逻辑地址和物理地址的概念。 第五章 设 备 管 理 在实现了设备独立性的功能后 , 可带来以下两方面的好处。 1) 设备分配时的灵活性 2) 易于实现 I/O 第五章 设 备 管 理 2. 设备独立性软件 1) 这些公有操作包括: ① 对独立设备的分配与回收; ② 将逻辑设备名映射为物理设备名 , 进一步可以找到相应物理设备的驱动程序; ③ 对设备进行保护 , 禁止用户直接访问设备; ④ 缓冲管理 , 即对字符设备和块设备的缓冲区进行有效的管理 , 以提高 I/O的效率; ⑤ 差错控制。 由于在 I/O操作中的绝大多数错误都与设备无关 , 故主要由设备驱动程序处理 , 而设备独立性软件只处理那些设备驱动程序无法处理的错误。 第五章 设 备 管 理 2) 向用户层 (或文件层 ) 无论何种设备, 它们向用户所提供的接口应该是相同的。 例如, 对各种设备的读操作,在应用程序中都使用 read。 而对各种设备的写操作,也都使用 write。 第五章 设 备 管 理 3. 逻辑设备名到物理设备名映射的实现 1) 逻辑设备表 2) LUT的设置问题 图 518 逻辑设备表 逻辑设备名 物理设备名驱动程序入口地址/ d e v / t t y/ d e v / p r i n t e r3510242046„ „ „逻辑设备名/ d e v / t t y/ d e v / p r i n t e r„系统设备表指针35( a ) ( b )第五章 设 备 管 理 独占设备的分配程序 1. 基本的设备分配程序 1) 分配设备 2) 分配控制器 3) 分配通道 第五章 设 备 管 理 2. 设备分配程序的改进 1) 增加设备的独立性 2) 考虑多通路情况 第五章 设 备 管 理 SPOOLing技术 1. 什么是 SPOOLing 为了缓和 CPU的高。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。