文档详情

操作系统课件10.ppt

发布:2017-02-25约6.16千字共49页下载文档
文本预览下载声明
3、设备驱动程序 中转数据和控制:不是数据和控制的源端和目的端(应用程序和设备) 与硬件特性密切相关:通常由硬件厂商提供。 向上屏蔽设备细节:不同类型设备通常其设备驱动程序接口不同,同类设备的接口相同。因此,同类设备的不同型号,只要更换设备驱动程序则可由OS使用。 驱动程序是I/O处理功能的低级系统例程。它具有如下特征: CPU和内存的访问速度比磁盘要快若干个数量级,磁盘系统的性能对整个系统的性能有重要影响,磁盘调度的目标就是提高磁盘系统的性能。 主要内容 磁盘I/O访问时间的组成 磁盘I/O调度策略 磁盘缓存置换算法 10.4 磁盘调度 1、磁盘I/O访问时间的组成 柱面定位时间:磁头移动到指定柱面的机械运动时间; 旋转延迟时间:磁盘旋转到指定扇区的机械运动时间;它与磁盘转速相关,如:软盘转速可为600rpm(每分钟转速),硬盘可为7200rpm。 数据传送时间:从指定扇区读写数据的时间。 2、查找优化策略 目标:降低查找时间 评价:吞吐量,平均响应时间,响应时间的可预期性(或变化幅度)。 优化:移动磁头所花时间正比于所需移动的总的距离。 查找优化策略: 先来先服务(FCFS) 最短查找时间优先(SSTF) 扫描策略(SCAN)/(电梯调度算法) 循环扫描策略(C-SCAN) 原则:各进程对磁盘请求的等待队列按提出请求的时间进行排序,并按此次序给予服务。 评价: 访问请求均匀分布整个盘面,而不具有某种集中倾向时,导致随机访问模式——无法对访问优化! 访问请求较多时,降低设备服务的吞吐量,提高响应时间; 响应时间变化幅度较小! 应用:在访问请求不是很多情况下可接受,且算法较简单。 先来先服务(FCFS) FCFS:当前磁道=100; 磁头移动总距离=1604磁道 原则:选择请求队列中柱面号最接近于当前磁头所在柱面的访问请求作为下一个服务对象,即先执行查找时间最小的那个请求,而不管是否在磁臂的前进方向上还是相反。 优点:较好的吞吐量(比FCFS),较低的平均响应时间。 缺点: 响应时间变化幅度很大,因为 对用户请求的响应机会不均等:对中间磁道的访问请求得到最好的服务,对内,外两侧磁道的服务随偏离中心磁道的距离而越远越差; 响应时间变化幅度很大:服务请求很多时可能造成对内,外边缘磁道的请求将会无限期地被迟延 最短查找时间优先(SSTF) SSTF:当前磁道=100; 磁头移动总距离=700磁道 SSTF算法的变种 原则: 选择请求队列中按磁臂前进方向最接近于磁头当前所在柱面的访问要求作为下一 个服务对象。 由内向外,由外向内,反复地扫描访问请求,依次给予服务。 若沿此方向不再有访问请求时,不必继续扫描,而是改变移动方向——使磁臂的移动频率和距离最小。 优点:吞吐量比较大,平均响应时间较小。 缺点:两侧磁道访问频率仍低于中间磁道——响应时间变化幅度仍有不同,但优于SSTF。 扫描策略(SCAN) SCAN: 当前磁道=100; 移动方向=OUT (向0道) 磁头移动总距离=490磁道 循环扫描策略(C-SCAN) SCAN扫描算法的变种。 原则: 磁臂总是从0号柱面至最大号柱面顺序扫描,到头后直接返回0号柱面再重复进行(单向扫描) 当磁臂由外向内移动过程中,只服务于在磁臂本次移动开始前到达的访问请求,而不理会在磁臂单向移动过程中到达的新的访问请求——留给下一次。 每次扫描直到对最内柱面上的访问请求满足后,磁臂即直接向外移动,使磁头停留在所有新的访问请求最外面的柱面上。然后再对本次移动前到达的访问请求依次给予服务。 C-SCAN:当前磁道=100; 移动方向=IN(向内) 磁头移动总距离=642磁道 10.5 Windows NT的设备管理 1. NT的I/O系统结构 I/O子系统:实现文件化的I/O函数; 通常的打开、关闭和读写函数; 异步I/O:应用进程在发出I/O请求后,不需等待I/O完成,可继续其它工作; 映射文件I/O:把文件作为进程虚拟空间的一部分进行直接访问; 快速I/O:不通过I/O管理器,直接向驱动程序发出I/O请求; I/O管理器:依据抽象I/O操作创建和传送I/O请求包(IRP); 核心态设备驱动程序:将I/O请求包转化为对硬件设备的特定控制请求; 驱动程序支持例程:供设备驱动程序调用,以完成I/O请求; 硬件抽象层I/O访问例程:隔离驱动程序与硬件平台,以提高可移植性(同体系结构上的二进制可移植和NT支持平台间的源代码可移植); 2. 核心态驱动程序的类型 NT采用分层驱动程序的思想,只有最底层的硬件设备驱动程序访问硬件设备,高层驱动程序都是进行高级I/O请求到低级I/O请求的转换工作;各层驱动程序间的I/O请求通过I/O管理器进行。 文件系统驱动程序:
显示全部
相似文档