2020 操作系统复习 -第六章 设备管理

2020 操作系统 -第六章 设备管理

第六章 输入输出系统

6.4 设备驱动程序
6.4.3 对I/O设备的控制方式
使用轮询的可编程I/O方式
使用中断的可编程I/O方式
直接存储器访问方式
I/O通道控制方式需要CPU干预最少的I/O控制方式)
6.6 用户层的I/O软件
6.6.2 假脱机(Spooling)系统
设计思想:用常驻内存的进程去模拟外围机,从而用一台主机完成脱机技术中需用三台计算机完成的工作。
功能:
 把独占设备改造为逻辑共享设备。
 把一台物理I/O设备虚拟为多台逻辑I/O设备。
SPOOLing 系统的组成: 1 输入井和输出井
2 输入缓冲区和输出缓冲区
3 输入进程和输出进程
4 井管理程序
输入井和输出井(外存中)
 输入井和输出井是在磁盘上开辟的两个大的存储空间,分别模拟输入设备和输出设备。
 输入井用于暂存 I/O 设备输入的数据。输出井用于暂存用户程序的输出数据。
输入缓冲区和输出缓冲区(内存中)
 输入缓冲区和输出缓冲区是为了缓和 CPU、磁盘、I/O 设备之间速度不匹配的矛盾而设置的。
 I/O 设备(输入设备) ⇒ 输入缓冲区 ⇒ 输入井
 输出井 ⇒ 输出缓冲区 ⇒ I/O 设备(输出设备)
输入进程和输出进程
 输入进程和输出进程用于控制 I/O 设备与磁盘井之间的信息交换。
 输入进程 SPi 相当于脱机输入控制器。
控制:I/O 设备 ⇒ 输入 buf⇒ 输入井
 输出进程 SPo 相当于脱机输出控制器。
控制:输出井 ⇒ 输出 buf⇒I/O 设备
井管理程序
井管理程序用于控制作业与磁盘井之间的信息交换。
磁盘井 ⇔ 进程 buf ⇔ 用户进程
在这里插入图片描述
SPOOLing 系统的特点:
 提高了 I/O 速度。
 将独占设备改造为共享设备。
 实现了虚拟设备功能。
守护进程:
在这里插入图片描述
6.7 缓冲区管理
6.7.2 单缓冲区和双缓冲区
单缓冲区:
 单缓冲区方式是在设备和处理机之间设置一个缓冲区。
 设备与处理机交换数据时,先把交换的数据写入缓冲区,然后需要数据的设备/处理机再从缓冲区中取走数据。
 单缓冲区方式可以缓解 CPU 与 I/O 设备间速度不匹配的矛盾。
 由于缓冲区属于临界资源,不允许多个进程同时对一个缓冲区操作,因此在某一段时间内,缓冲区只能存放输入数据或输出数据(单向传输)。
在这里插入图片描述
 无缓冲区时,处理一块数据的时间为 T+C。
 有缓冲区时,C 和 T 可并行,M 和 T 不能并行,因此处理一块数据的时间:Max(C,T)+M。
双缓冲区:
 双缓冲区方式是在设备和处理机之间设置两个缓冲区。
 双缓冲提高了设备与处理机并行操作的程度,只有当两个缓冲区均为空时,需要数据的进程才等待。
 收发可双向同时传送。例如,在双缓冲区方式中,CPU 可把输出数据放入其中一个缓冲区由打印机输出,然后它又可以从另一个缓冲器区中读取所需要的输入数据。
在这里插入图片描述
 M 与 T 可并行,C 与 T 也可并行,因此处理一块数据的时间约为Max(C+M,T)。通常 M≪T,因此处理一块数据的时间可以粗略地估计为Max(C,T)。
 如果 C<T,可使块设备连续输入。
6.8 磁盘存储器的性能和调度
6.8.1 磁盘性能简述
磁盘结构:
在这里插入图片描述
 磁盘的 0 磁道在最外圈,记录了分区表,主引导记录等一些重要信息。
 早期的磁盘技术中,内外圈的扇区数是相同的。
 现代磁盘普遍采用了 ZDR(Zone Data Recording)技术,即区域数据记录技术。可以根据不同的磁道长度来合理设定扇区数量,以达到充分利用磁盘的存储空间的目的。
磁盘性能简述:
存储容量=磁头(盘面)数 × 磁道(柱面)数 × 每道扇区数 × 每扇区字节数
磁盘访问时间
寻道时间Ts:将磁头从当前位置移到指定磁道所经历的时间Ts=m×n+s。s为启动磁臂的时间,n为移动的磁道数,m为常数。
旋转延迟时间Tr:指定扇区移动到磁头下面所经历的时间。设每秒r转,则Tr =1/2r(均值)
传输时间Tt:将扇区上的数据从磁盘读出或向磁盘写入数据所经历的时间Tt= b/rN。其中b:读写字节数,N:每道上的字节数。
控制器时间Tc
访问时间Ta:Ta=m×n+s+1/2r+b/rN+Tc
 适当地集中数据传输,将有利于提高传输效率。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
 信息在存储空间的排列方式会影响存取等待时间。
6.8.2 早期的磁盘调度算法
先来先服务 FCFS
 根据进程请求访问磁盘的先后次序进行调度。
 可能造成磁头臂来回反复移动,增加了等待时间,而且对机械结构不利。
 磁头引臂横向移动的速度很慢,若按照请求发出的次序依次读/写各个磁盘块,则磁头引臂在内磁道和外磁道之间频繁地移动,造成较大的时间开销,影响效率。
 这种算法通常可用于输入/输出负载较轻的系统。
最短寻道时间优先 SSTF
 要求访问的磁道与当前磁头所在的磁道距离最近。
 与先来先服务调度算法相比,磁头引臂的机械运动明显减少,所需时间大幅度降低。
 存在的缺点:磁臂粘着、磁道歧视。
6.8.3 基于扫描的磁盘调度算法
扫描算法(Scan)/电梯(Look)算法
 更优先考虑的是磁头当前的移动方向。
 起始时磁头处于最外柱面,并向内柱面移动。在移动的过程中,如果途经的柱面有访问请求,则为其服务。一旦内柱面没有访问请求,则改变移动方向(如外柱面有请求)或停止移动(外柱面也无请求)。
不扫描到头
 对于靠近边缘的柱面,最坏情况的移动量为2N-1(N为柱面数);对于靠近中部的柱面,最坏情况为N-1。平均情况分别约为N和N/2。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值