操作系统复习笔记(四)——设备管理

一、 I/O系统

I/O设备

类型

按传输速率高低
  • 低速设备:每秒几个字节至数百个字节。键盘、鼠标器、语音输入输出设备
  • 中速设备:每秒钟数千个字节至数万个字节。打印机、激光打印机
  • 高速设备:数百千个字节至数十兆字节。磁带机、磁盘机、光盘机
按信息交换单位
  • 块设备:磁盘。传输效率高,可寻址
  • 字符设备:用于数据输入输出。打印机、鼠标

系统总线

  • ISA总线
  • EISA总线
  • PCI总线:PCI既可以连接ISA,EISA等总线,又可支持pentium的64位系统 ,我们现在使用的PC基本都是PCI总线。最大传输速率4GB/sec

二、 I/O控制方式:

程序I/O方式

在该方式中,CPU不断地测试I/O设备的状态。由于CPU的高速性和I/O设备的低速性, 致使CPU的绝大部分时间都处于等待I/O设备完成数据I/O的循环测试中,造成对CPU的极大浪费。就是因为在CPU中无中断机构。

中断驱动I/O控制方式

在I/O设备输入每个数据的过程中,由于无须CPU干预,因而可使CPU与I/O设备并行工作。仅当输完一个数据时,才需CPU花费极短的时间去做些中断处理。可见,这样可使CPU和I/O设备都处于忙碌状态.

直接存储器访问DMA I/O控制方式

仅在传送一个或多个数据块的开始和结束时,才需CPU干预,整块数据的传送是在控制器的控制下完成的。减少了CPU对I/O的干预,进一步提高了CPU与I/O设备的并行操作程度。
① 数据传输的基本单位是数据块,即在CPU与I/O设备之间,每次传送至少一个数据块;
② 所传送的数据是从设备直接送入内存的,或者相反;
③ 仅在传送一个或多个数据块的开始和结束时,才需CPU干预,整块数据的传送是在控制器的控制下完成的。可见,DMA方式较之中断驱动方式,又是成百倍地减少了CPU对I/O的干预,进一步提高了CPU与I/O设备的并行操作程度。

三、 中断处理程序

  • 唤醒被阻塞的驱动程序进程
  • 保护被中断的CPU环境
  • 转入相应的设备处理程序
  • 中断处理
  • 恢复被中断的进程的现场

四、设备驱动程序

功能

(1) 接收由I/O进程发来的命令和参数.
(2) 检查用户I/O请求的合法性.
(3) 发出I/O命令,启动I/O设备去完成指定的I/O操作.
(4) 及时响应由控制器或通道发来的中断请求,并根据 其中断类型调用相应的中断处理程序进行处理。
(5) 对于设置有通道的计算机系统,驱动程序还应能够根据用户的I/O请求,自动地构成通道程序。

流程

五、与设备无关的I/O软件

设计目标

(1)与具体设备无关
(2)统一命名
(3)对错误的处理
(4)缓冲技术
(5)设备的分配和释放
(6)I/O控制方式

层次和功能

六、 磁盘存储器管理

磁盘性能简述

磁盘的类型

  • 固定头磁盘:这种磁盘在每条磁道上都有一读/写磁头,所有的磁头都被装在一刚性磁臂中。这种结构的磁盘主要用于大容量磁盘上。
  • 移动头磁盘:每一个盘面仅配有一个磁头,也被装入磁臂中。为能访问该盘面上的所有磁道,该磁头必须能移动以进行寻道。由于其结构简单, 故仍广泛应用于中小型磁盘设备中。

磁盘访问时间

  • 寻道时间(移动头磁盘):
    这是指把磁臂(磁头)移动到指定磁道上所经历的时间。该时间是启动磁臂的时间s与磁头移动n条磁道所花费的时间之和, 即
    Ts=m×n+s
    其中,m是一常数,与磁盘驱动器的速度有关,对一般磁盘, m=0.2;对高速磁盘,m≤0.1,磁臂的启动时间约为2 ms。 这样,对一般的温盘,其寻道时间将随寻道距离的增加而增大, 大体上是5~30 ms。
  • 旋转延迟时间:
    这是指定扇区移动到磁头下面所经历的时间。对于硬盘,典型的旋转速度大多为5400 r/min,每转需时11.1 ms,平均旋转延迟时间Tτ为6.55 ms;如果旋转速度为7200r/min,平均Tτ为4.16 ms。
  • 传输时间:
    这是指把数据从磁盘读出或向磁盘写入数据所经历的时间。 Tt的大小与每次所读/写的字节数B和旋转速度有关 .

磁盘调度

先来先服务(FCFS)

最短寻道时间优选(SSTF)

扫描算法(SCAN)

SSTF算法虽然能获得较好的寻道性能, 但却可能导致某个进程发生“饥饿”(Starvation)现象。因为只要不断有新进程的请求到达, 且其所要访问的磁道与磁头当前所在磁道的距离较近,这种新进程的I/O请求必须优先满足。对SSTF算法略加修改后所形成的SCAN算法, 即可防止老进程出现“饥饿”现象。


循环扫描算法

磁盘高速缓存

磁盘的告诉缓存形式

是指利用内存中的存储空间,来暂存从磁盘中读出的一系列盘块中的信息。因此,这里的高速缓存是一组在逻辑上属于磁盘, 而物理上是驻留在内存中的盘块。高速缓存在内存中可分成两种形式。

  • 在内存中开辟一个单独的存储空间来作为磁盘高速缓存,其大小是固定的,不会受应用程序多少的影响;
  • 把所有未利用的内存空间变为一个缓冲池,供请求分页系统和磁盘I/O时(作为磁盘高速缓存)共享。此时高速缓存的大小不再是固定的。当磁盘I/O的频繁程度较高时,该缓冲池可能包含更多的内存空间;而在应用程序运行得较多时,该缓冲池可能只剩下较少的内存空间。

你可能感兴趣的:(操作系统复习笔记(四)——设备管理)