一、设备管理
1、设备分类
(1)、按服务功能分类
-
存储类设备。通常以存贮大量信息和快速检索为目标,也称外存或后备存储器、辅助存储器,是计算机系统用以存储信息的主要设备,如U盘、光盘等。
-
输入/输出类设备。要完成把外界信息输入计算机,或者把运算结果从计算机输出的功能,例如键盘、显示器、打印机、音响、摄像头、扫描仪。
-
通信类设备。这类设备主要完成计算机和外界的通信过程,如网卡、红外设备、蓝牙设备等。
(2)、按每次信息交换的单位分类
-
字符设备。指以单个字符为单位来传送信息的设备,如字符显示终端、键盘、打印机、异步通讯接口等。流设备
-
块设备。指以数据块为单位来组织和传送数据的设备,属于有结构设备,如磁盘、摄像头等。磁盘输入输出以一个扇区为基本单位,摄像头(或图形屏幕)抓取(或显示)以一帧为单位。
(3)、按使用特征分类
-
独占设备。这类设备在用户作业的整个运行期间必须为此用户所独占,才能保证传送信息的连贯性。独占性是设备本身的属性。
-
共享设备。这类设备通常指磁带、磁盘一类的存取设备。这里的共享是指多个用户进程运行期间可以交替地使用它们,对它们进行读写。
-
虚拟设备。为了将慢速的独占设备改造成多个用户可共享的设备,以提高设备的利用率、提高系统进程并行的程度,可借助于假脱机技术(Simultaneously Peripheral Operation On Line,SPOOLing)进行模拟。模拟独占设备的那部分共享设备的空间称为虚拟设备。
2、设备管理的目标、功能、结构
(1)、设备管理的目标
-
提高使用效率。要尽量提高CPU和外设之间以及外设与外设之间的并行度,均衡系统中各设备的负载,最大限度地发挥所有设备的潜力,以使操作系统获得最佳效率。
-
提供便捷的界面。所谓便捷,一方面是指用户能独立于具体设备的复杂物理特性而方便地使用设备;另一方面是指对多种不同设备尽量能有统一的操作方式。
(2)、设备管理的功能
-
设备的分配与回收。在多道程序环境下,多个用户或进程往往同时要求使用同一类或同一台设备。操作系统一方面根据进程的请求分配设备,另一方面在进程使用设备结束后,回收设备,以便重新分配。
-
缓冲区管理。为了实现低速的输入/输出设备与高速处理器之间的协调工作,一般都在内存中开辟一块存储区作为设立缓冲区,使CPU和设备通过缓冲区传送数据,从而使设备与设备之间、设备与CPU之间的工作协调起来。
-
设备控制和中断处理。根据用户提出的I/O要求,在未设置通道的系统中,由设备管理软件对设备I/O请求做必要的处理,
-
实现虚拟设备。为了实现多进程并发对独占设备的需求,设备管理实现了虚拟设备功能,将一条独占的物理设备变为多个逻辑设备,从而能够接受多个进程对设备的请求。
(3)、设备管理的结构
-
与CPU的接口,主要用于通过数据线、地址线、控制线实现设备控制器与CPU之间的通信
-
与设备的接口。在一个控制器中有一个或多个设备接口,一个接口连接一台设备,在每个接口中都有数据、控制和状态三种类型的信号
-
I/O逻辑,主要用于对I/O的控制
二、设备控制方式
1、查询方式
2、中断方式
引入中断机构是为了消除设备驱动程序不断地轮询控制器状态寄存器的开销,当I/O操作结束后,由设备控制器“自动地”通知设备驱动程序。
3、DMA方式
-
一是数据传输的基本单位是数据块,即每次传送至少一个数据块;
-
二是所传送的数据是从设备直接送入内存,或者直接读出内存的;
-
三是在传输时CPU参与更少,仅在传送一个或多个数据块的开始和结束时,才需CPU干预,整块数据的传送是在控制器的控制下完成的。
4、通道方式
(1)、分类
-
字节多路通道
-
选择通道
-
成组多路通道
(2)、工作方式
-
CPU的I/O指令
-
道本身提供的通道程序
三、缓冲方式
1、分类
硬件缓冲和软件缓冲
根据缓冲区个数的多少和结构,缓冲可分为:
-
-
单缓冲
-
双缓冲
-
多缓冲
-
循环缓冲
-
缓冲池
-
2、作用
-
它能改善中央处理器与外围设备之间速度不匹配的矛盾,提高CPU 和I/O 设备的并行性。
-
它能减少I/O 对CPU 的中断次数和放宽对CPU 中断响应时间的要求。
-
缓冲技术还能协调逻辑记录大小与物理记录大小不一致的问题。
四、输入输出软件
1、设备驱动程序的处理过程
-
接收由I/O进程发来的命令和参数,并将命令中的抽象要求转换为具体要求。
-
检查用户I/O请求的合法性,了解I/O设备的状态,传递有关参数,设置设备的工作方式。
-
发出I/O命令,如果设备空闲,便立即启动I/O设备去完成指定的I/O操作;如果设备处于忙碌状态,则则将请求者的请求块挂在设备队列上等待。
-
及时响应由控制器或通道发来的中断请求,并根据其中断类型调用相应的中断处理程序进行处理。对于设置有通道的计算机系统,驱动程序还应能够根据用户的I/O请求,自动地构成通道程序。
-
I/O完成后,由通道(或设备)产生中断信号。CPU接到中断请求后,如果条件符合(中断优先级高于运行程序的优先级),则响应中断,然后转去执行相应的中断处理程序,唤醒因等待I/O完成而睡眠的进程,调度用户进程继续运行。
-
2、设备独立性程序
(1)、优点
-
使得设备分配更加灵活,提高了设备的利用率。当多用户多进程请求分配设备时,系统可根据设备当时的忙闲情况,合理调整逻辑设备名与物理设备名之间的对应情况,以保证设备的充分使用。
-
可以实现I/O重定向。所谓I/O重定向是指可以更换I/O操作的设备而不必改变应用程序。
(2)、主要功能
-
向用户层软件提供统一接口。
-
设备无关程序负责将设备名映射到相应的设备驱动程序。
-
设备保护。
-
协调不同设备数据块的差异。
-
差错控制。
3、SPOOLing技术
(1)、构成
-
预输入程序
-
预输出程序
-
井管理程序
-
输入井
-
输出井
(2)、特点
-
提高了I/O的速度,缓和了高速的处理器与低速输入输出设备之间的矛盾。
-
将独占设备改造为共享设备,提高了设备的利用率。
-
实现了虚拟设备功能,将物理的单个设备变换为多个对应的逻辑设备。
五、磁盘存储器管理
1、磁盘类型
-
固定头磁盘
-
移动头磁盘
2、磁盘访问时间
寻道时间Ts
这是指把磁臂(磁头)移动到指定磁道上所经历的时间。该时间是启动磁臂的时间s与磁头移动n条磁道所花费的时间之和, 即:
Ts=m×n+s
其中,m是一常数,与磁盘驱动器的速度有关,对一般磁盘, m=0.2;对高速磁盘,m≤0.1, 移动磁臂的启动时间约为2 ms。 这样,对一般的温盘, 其寻道时间将随寻道距离的增加而增大, 大体上是5~30 ms。
旋转延迟时间Tτ
指定扇区移动到磁头下面所经历的时间。对于硬盘,典型的旋转速度大多为7200 r/min,每转需时8.3ms,平均旋转延迟时间Tτ为7.15 ms;对于软盘,其旋转速度为300 r/min或600 r/min,这样,平均Tτ为50~100 ms。
传输时间Tt
Tt的大小与每次所读/写的字节数b和旋转速度有关
其中,r为磁盘每秒钟的转数;N为一条磁道上的字节数