标签:输出 操作系统 磁道 第七章 缓冲区 磁盘 输入 设备
第七章 设备管理
目录
1.I/O设备分类
2.设备控制器:I/O设备与主机之间的接口
主要功能:
接收和识别命令
标识和报告设备的状态
数据交换
地址识别
数据缓冲
差错控制
3.I/O通道:特殊的处理机,只执行I/O操作指令
主机与I/O设备的通路:通道——控制器——I/O设备
4.I/O控制方式:程序I/O、中断驱动、DMA、通道控制
5.缓冲管理
5.1引入缓冲管理的三个主要原因
- 缓和CPU与I/O设备间速度不匹配的矛盾
- 减少对CPU的中断频率,放宽对中断响应时间的限制(p209)
- 提高CPU与I/O设备之间的并行性
5.2缓冲管理方法主要有四种
C(处理时间),T(传送时间),M(输入时间)
-
单缓冲:Max(C,T) + M
-
双缓冲:Max((C + M), T)
-
循环缓冲:三种缓冲池、三种指针、两个过程
-
缓冲池:两个循环缓冲的合并,支持输入输出双方向
收容输入工作缓冲区hin、提取输入工作缓冲区sin、收容输出工作缓冲区hout、提取输出工作缓冲区sout
I/O软件:保证设备独立性、四个层次
设备的分配:寻找空闲的设备、控制器、通道
6磁盘管理:盘面+磁道+扇区
6.1磁盘数据的组织
每个磁盘由多个盘片组成
每个盘片分两面
每个盘面分为若干个磁道
每个磁道分为若干个扇区
内磁道数据密度大于外磁道数据密度
6.2磁盘访问时间
-
寻道时间Ts:将磁头位移至指定磁道经历的时间(约10-40ms)
Ts = m x n + s
s: 磁盘启动时间(约2ms)
m: 递进一个磁道时间(约0.2ms,高速<0.1ms)
n: 当前磁道与指定磁道距离 -
旋转延迟时间Tr:将磁头位移至指定扇区经历的时间
Tr = 1/(2r)
r: 磁盘旋转速度
对于硬盘,典型转速为90/s,Tr=5.55ms
对于软盘,典型转速为10/s,Tr=50ms -
传输时间Tt:将数据读出/写入磁盘经历的时间
Tt = b/(rN)
r: 磁盘旋转速度
N: 单位磁道上的字节数
b: 读出/写入的字节数rN也称磁盘传输速率,目前,硬盘的磁盘的传输速率可达80MB/s,如传送8KB数据,只需要0.1ms
-
磁盘访问时间Ta
Ta = Ts + Tr + Tt
磁盘访问时间Ta,主要由寻道时间Ts和旋转时间Tr决定,一般为20ms
在大容量磁盘中,由于磁道数较多,Ts是影响磁盘性能的主要因素
将同一文件的数据块集中存放,可降低Ta
7.磁盘调度算法
7.1先来先服务FCFS
依据进程请求访问磁盘的先后次序进行调度
初始位置100
优点:简单,每个请求都能依次得到处理
缺点:平均寻道距离较大
7.2最短寻道时间优先SSTF
依据访问磁道与当前磁道最近原则
初始位置100
优点:平均寻道时间较短
缺点:会导致某些进程发生“饥饿”现象,磁头有可能长期停留在同一磁道上(磁臂粘着)(如100号磁道一直请求)
7.3扫描算法SCAN
依据磁头移动方向及访问磁道与当前磁道距离最短两个原则
磁头移动方向为…,向外,然后向内,再向外,…一直循环往复
例如:当前磁头停在80号磁道上服务,并且刚刚完成了89号磁道的请求,说明磁头移动方向向内
优点:不会出现进程“饥饿”现象,平均访问寻道时间较短
缺点:与磁头近但在磁头运动反方向的磁道等待时间长,磁头有可能长期停留在同一磁道上(磁臂粘着)(如100号磁道一直请求)
7.4循环扫描算法CSCAN
到达最外磁道后,返回最小磁道开始SCAN算法
优点:不会出现进程“饥饿”现象,平均访问寻道时间较短,最长等待时间较SCAN短(一半)
缺点:磁头有可能长期停留在同一磁道上(磁臂粘着)(如100号磁道一直请求)
8. SPOOLing系统组成
8.1输入井和输出井
在磁盘上开辟的两个大的存储空间。
输入井是模拟脱机输入时的磁盘,用于收容I/O设备输入的数据
输出井是模拟脱机输出时的磁盘,用于收容用户进程的输出数据
8.2输入缓冲区和输出缓冲区
在内存中开辟的两个缓冲区。
输入缓冲区用于暂存由输入设备送来的数据,以后再传送到输入井
输出缓冲区用于暂存由输出井送来的数据,以后再传送到输出设备
8.3输入进程SPi和输出进程SPo
输入进程SPi模拟脱机输入时的外围控制机,实现将用户要求输入的数据从输入设备,通过输入缓冲区再送到输入井的控制功能
输出进程SPo模拟脱机输出时的外围控制机,实现将用户要求输出的数据从输出井,通过输出缓冲区送到输出设备的控制功能
8.4系统特点(p207 共享打印机例子)
提高I/O速度
将独占设备改造为共享设备
实现了虚拟设备功能
标签:输出,操作系统,磁道,第七章,缓冲区,磁盘,输入,设备 来源: https://blog.csdn.net/HuangMuCheng/article/details/118310689
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。