150 likes | 370 Views
第 4 章 设备管理. 了解设备管理的目标、基本功能; 通道工作方式:了解通道结构和连接方式(四级连接、三级控制); 设备分配:了解设备分配原则和策略。. 第 4 章 设备管理. 4.1 概述 存储管理,处理机管理(进程、作业管理) I/O 设备管理 进程 - I/O 控制-外设 内存 打印机,键盘 I/O 设备的多样性,打印机种类,鼠标, 速度、传送单位. 4.1.1 设备分类 从属关系: 1 系统设备 2 用户设备(非标准设备) 数据传送单位: 1 块设备 2 字符设备
E N D
第4章 设备管理 • 了解设备管理的目标、基本功能; • 通道工作方式:了解通道结构和连接方式(四级连接、三级控制); • 设备分配:了解设备分配原则和策略。
第4章 设备管理 4.1 概述 存储管理,处理机管理(进程、作业管理) I/O设备管理 进程 -I/O控制-外设 内存 打印机,键盘 I/O设备的多样性,打印机种类,鼠标, 速度、传送单位
4.1.1 设备分类 从属关系:1 系统设备 2 用户设备(非标准设备) 数据传送单位:1 块设备 2字符设备 资源分配:1独占 2共享 3虚拟(假脱机) 4.1.2 设备管理的设计目标 1 不同设备使用统一界面,方便用户 UNIX统一成文件,输入设备读文件,输出设备写文件 2 设备调度 提高外设效率,避免竞争、死锁 3 统一管理,易维护 不同设备提供驱动程序给OS核心来协调 物理(细节)特性-数据结构
4.1.3 设备管理的基本功能 i)I/O交通控制程序 ii)I/O调度程序 iii)完成实际的I/O操作
4.2 输入输出系统结构 4.2.1 I/O控制方式 1 程序查询传送方式(循环测试I/O方式) 2 程序中断方式 外设通过向CPU发中断请求与进程进行通信 打印:传送数据给打印机,阻塞,打印完成,发I/O中断,唤醒进程 中断次数过多,CPU时间消耗大 3 直接存储器存取(DMA)传送方式 微机 磁盘操作 外设-内存 DMA控制器 CPU执行内部不使用总线的指令 4 通道I/O方式I/O处理机,与CPU并行工作 通道--控制器--设备 一对一,一对多,多对多
4.2.2 缓冲技术 硬件cache 软件buffer • 通道的建立解决了CPU与外设的利用率,但通道数少,而I/O设备慢,内存中多个任务同时发I/O设备请求时,会造成长时间等待,即瓶颈现象。 • 缓冲技术可减轻“瓶颈”现象:OS在内存中开辟一个具有n个单元的区域作为缓冲区, “预先读,迟后写” 结构:1 循环队列 2 单缓冲区及多缓冲区 3 缓冲池结构(输入,输出,空白) DOS 6中,config.sys中,buffer语句及外部命令smartdrv.exe 4.2.3 即插即用技术 plug and play PnP Win9x,2k,XP,Linux INT号,I/O口,DMA通道
4.3 设备分配 按算法分配 4.3.1 设备分配程序 1 逻辑设备与物理设备 设备无关性,映射表 2 设备管理的数据结构 DCB 设备控制块 CUCB控制器控制块 CCB 通道控制块 标识符,状态,进程 3 设备分配程序 DCB-CCB-CUCB
4.3.2 设备分配策略(算法) 独占、共享和虚拟设备的分配技术 1 先请求先服务 2 优先权最高者优先 安全性,防止进程死锁 • 逐次请求分配,可能造成死锁 • 静态分配法,利用率低
4.3.3 虚拟设备--假脱机系统 1 外设慢,独占 造成CPU,进程等待,如打印机 2 价格高 解决方法 • 利用高速的可共享的I/O设备(如磁盘)来模拟低速的独占I/O设备,使独占变共享,即虚拟设备技术,或Spooling技术,假脱机技术 如虚拟打印机, 打印作业-磁盘文件队列-打印机
4.4 块设备管理 4.4.1 磁盘物理特性 • 盘面、磁道(柱面)、扇区 • 磁盘空间的地址编号 • 磁盘读写 地址变换,缓冲区,启动I/O,I/O完成(DMA/通道中断,唤醒阻塞进程)
4.4.2 磁盘调度算法 磁盘访问时间 TA = TS+TR+TT 1) 寻道时间Ts 这是指把磁臂(磁头)移动到指定磁道上所经历的时间。 2) 旋转延迟时间TR 这是指定扇区移动到磁头下面所经历的时间。 3) 传输时间TT 这是指把数据从磁盘读出或向磁盘写入数据所经历的时间。
先来先服务FCFS(First-Come, First Served) 当前磁道 53 请求队列 磁道 98,183,37,122,14,124,65,67 磁头移动距离大
2. 最短寻道时间优先SSTF(Shortest Seek Time First) 当前磁道 53 请求磁道 98,183,37,122,14,124,65,67 访问次序 65,67,37,14,98,122,124,183
3.电梯调度算法 SSTF算法虽然能获得较好的寻道性能, 但却可能导致某个进程发生“饥饿”(Starvation)现象。因为只要不断有新进程的请求到达, 且其所要访问的磁道与磁头当前所在磁道的距离较近,这种新进程的I/O请求必须优先满足。 对SSTF算法略加修改,磁头从磁盘的一端开始向另一端移动,沿途响应访问请求,直到到达了磁盘的另一端,此时磁头反向移动并继续响应磁盘服务请求