立即学习:https://edu.csdn.net/course/play/7883/161193?utm_source=blogtoedu
3.4 设备管理(二)
五.磁盘管理
考:磁盘的访问时间,磁盘的调度序列
上面:同心圆称为磁道,信息存放在磁道上
扇区是存放信息的最基本单位
查询信息存储位置:
- 柱面号(磁道号)什么位置
- 盘面号(磁头号)
- 扇区
柱面:不同的盘面相同的磁道组成的柱称为柱面.
1.磁盘的访问时间(考的多,一定要掌握)
磁头只能沿半径方向移动.
- 寻道时间Ts:把磁臂从当前位置移到指定磁道上所经历的时间
- 旋转延迟时间Tr:指定扇区移动到磁头下面所经历的时间.
- 传输时间Tt:数据从磁盘读出或向磁盘写入数据所经历的时间
在访问时间中,寻道时间和旋转延迟时间,通常是占据了访问时间的大头.适当地集中数据(不要太零散)传输,将有利于提高传输效率.
2.磁盘调度算法
- 先来先服务
- 最短寻道时间优先
- 扫描(SCAN)算法(电梯调度算法)
- 循环扫描CSCAN
1)先来先服务(FCFS)
根据进程请求饭嗯我磁盘的先后次序进行调度.
优点:公平\简单,且每个进程的请求都能一次得到处理,不会出现某一进程的请求长期得不到满足的情况.
缺点:未对寻道进行优化,致使平均寻道时间可能较长.仅适用于请求磁盘I/O的进程数目较少的场合.
2)最短寻道时间优先SSTF
优先满足访问磁道与当前磁头所在磁道距离最近的进程,以使每次的寻道时间最短.
问题:可能导致某些进程发生"饥饿".因为只要不断有所要访问的磁道与磁头当前所在磁道的距离较近的新进程到达,就会出现"老进程饥饿"现象.这种调度算法不能保证平均寻道时间最短.
3)扫描(SCAN)算法(电梯调度算法)
SCAN算法中磁头移动的规律似电梯的运行,又称为电梯调度算法.算法既能获得较好的寻道性能,又能防止进程饥饿,被广泛用于大\中\小型机和网络中的磁盘调度.
问题:当磁头刚从里向外移动过某一磁道时,恰有一进程请求访问此磁道,这时该进程必须等待,待磁头从里向外,然后再从外向里扫描完所有要访问的磁道后,才处理该进程的请求,致使该进程的请求被严重地推迟.
4)循环扫描CSCAN算法
为了减少请求进程的延迟,CSCAN算法规定磁头单向移动.若规定只自里向外移动,当磁头移到最外的被访问磁道时,磁头立即返回到最里的欲访磁道,即将最小磁道号紧接着最大磁道号构成循环,进行扫描.
五. 虚设备和SPOOLing技术
为缓和CPU的高速性与I/O设备低速性间的矛盾而引入了脱机输入\脱机输出技术.该技术是利用专门的外围控制机,将低速设备上的数据传送到告诉磁盘上;或者相反.
这样就可以在主机的直接控制下实现脱机输入输出.此时外围操作与CPU对数据的处理同时进行,我们把这种在联机情况下实现的同时外围操作称为SPOOLing(Simultaneaus Periphernal Operating On Line),或称为假脱机操作.
SPOOLing系统的有三大部分组成:
- 输入井和输出井.是磁盘上开辟的两个大存储空间.
- 输入缓冲区和输出缓冲区.在内存中开辟两个缓冲区,输入缓冲区暂存由输入设备送来的数据,后送输入井;输出缓冲区暂存从输出井送来的数据,后送输出设备.
- 输入进程和输出进程.利用两个进程模拟脱机I/O时的外围处理机.
SPOOLing系统的特点:
- 提高了I/O的速度.利用输入输出井模拟成脱机输入输出,缓和了CPU和I/O设备速度不匹配的矛盾.
- 将独占设备改造为共享设备
- 实现了虚拟设备功能.多个进程同时使用一台独占设备,虚拟成了多台设备.