外部设备分类
(1)按系统和用户分:系统设备、用户设备
(2)按输入输出传送方式分(UNIX或Linux操作系统):字符型设备、块设备
(3)按资源特点分:独享设备、共享设备、虚拟设备
(4)按设备硬件物理特性分:顺序存取设备、直接存取设备
(5)按设备使用分:物理设备、逻辑设备、伪设备
(6)按数据组织分:块设备、字符设备
(7)按数据传输率分:低速设备、中速设备、高速设备
设备管理的目标与任务
设备管理的目标:
(1)按用户需求提出的要求接入外部设备,系统按一定算法分配和管理控制,而用户不必关心设备的实际地址和控制指令;
(2)尽量提高输入输出设备的利用率,例如发挥主机与外设以及外设与外设之间的真正并行工作能力。主要利用的技术有:中断技术、DMA技术、通道技术、缓冲技术。
设备管理的任务:
(1)动态掌握并记录设备的状态
(2)分配设备和释放
(3)对输入输出缓冲区进行管理
(4)控制和实现真正的输入输出操作
(5)提供设备使用的用户接口
(6)在一些较大系统中实现虚拟设备技术
通道
通道(channel):计算机系统中能够独立完成输入输出操作的硬件装置,也称为“输入输出处理机”。
虽然在CPU与I/O设备之间增加了设备控制器,但CPU的负担仍很重。为此,在CPU和设备控制器之间又增设了I/O通道。其目的是使一些原来由CPU处理的I/O任务转由通道来承担,从而把CPU从繁杂的I/O任务中解脱出来。
CPU并不直接操作外围设备,他连接通道(I/O处理机),通道连接设备控制器,设备控制器连接设备。CPU只需把“I/O"设备启动,并给出相关的操作要求。然后就由通道来处理输入输出事宜,做完后报告CPU。
根据信息交换方式的不同,可把通道分成以下三种类型:
字节多路通道(Byte Multiplexor Channal)
数组选择通道(Block Selector Channal)
数组多路通道(Block Multiplexor Channal)
中断(Interrupt)是指计算机在执行期间,系统内发生非寻常的或非预期的急需处理事件,使得CPU暂时中断当前正在执行的程序而转去执行响应的事件处理程序。待处理完毕后又返回原来中断处继续执行或调度新的程序执行的过程。中断一般可分成软件中断和硬件中断。
中断方式(interrupt)被用来控制外围设备和内存与CPU之间的数据传送。这种方式要求CPU与设备(或控制器)之间有相应的中断请求线,而且在设备控制器的控制状态寄存器的相应的中断允许位。
1.数据输入操作步骤:
l进程需要数据时,通过CPU发出“start”指令启动外围设备准备数据
l在进程发出指令启动设备后,该进程放弃处理机,等待输入完成。
l当输入完成时,I/O控制器通过中断请求线向CPU发出中断请求。
l在以后的某个时刻,进程调度程序选中提出请求并得到数据的进程,该进程从约定的内存特定单元中取出数据继续工作。
2.中断方式的缺点:
1)由于在一次数据传送过程中,发生中断次数较多。这将耗去大量CPU处理时间。
2)当设备把数据放入数据缓冲寄存器并发出中断信号之后,CPU有足够的时间在下一个(组)数据进入数据缓冲寄存器之前取走数据。如果外设的速度也非常快,则有可能造成数据缓冲寄存器的数据丢失。
DMA是Direct Memory Access的缩写,其意思是“存储器直接访问”。它是指一种高速的数据传输操作,允许在外部设备和存储器之间直接读写数据,即不通过CPU,也不需要 CPU干预。整个数据传输操作在一个称为“DMA控制器”的控制下进行的。CPU除了在数据传输开始和结束时作一点处理外,在传输过程中CPU可以进行其 它的工作。这样,在大部分时间里,CPU和输入输出都处在并行操作。因此,使整个计算机系统的效率大大提高。
缓冲指用来暂存数据的缓冲存储器。
缓冲技术是二种不同速度的设备之间传输信息时平滑传输过程的一种常用手段。它可提高外设利用率,尽可能使外设处于忙状态。引入缓冲的主要原因,可归结为以下几点:
1. 改善CPU与I/O设备间速度不匹配的矛盾
2. 可以减少对 CPU的中断频率,放宽对中断响应时间的限制
3. 提高 CPU和 I/O设备之间的并行性
根据I/O控制方式,缓冲的实现方法有两种:一种是采用专用硬件缓冲器;另一种是在内存划出一个具有n个单元的专用缓冲区,以便存放输入/输出的数据。内存缓冲区又称软件缓冲。
根据系统设置的缓冲器的个数,可把缓冲技术分为:单缓冲、双缓冲、多缓冲和缓冲池
SPOOLing,即外围设备联机并行操作,它是一种速度匹配技术、也是一种虚拟设备技术(用一种物理设备模拟另一类物理设备,使各作业在执行 期间只使用虚拟的设备而不直接使用物理的独占设备。这种技术可使独占的设备变成可共享的设备,使得设备的利用率和系统效率都能得到提高)。
1.SPOOL系统的组成
SPOOLing系统主要有以下三部分组成:
(1)输入井和输出井
它们是在磁盘上开辟的两个大缓冲区。输入井是模拟脱机输入时的磁盘,用于收容I/O设备输入的数据;输出井是模拟脱机输出时的磁盘,用于收容用户程序的输出数据。
(2)输入缓冲区和输出缓冲区
在内存中要开辟两个缓冲区,其中输入缓冲区用于暂存由输入设备送来的数据,以后再传送到输入井;输出缓冲区用于暂存从输出井送来的数据,以后再传送给输出设备。
(3)输入进程SPi和输出进程Spo
进程Spi模拟脱机输入时的外围控制机,将用户要求的数据从输入机通过输入缓冲区再送到输入井。当CPU需要输入数据时,直接从输入井读入内 存。Spo进程模拟脱机输出时的外围控制机,把用户要求输出的数据先从内存送到输出井,待输出设备空闲时,再将输出井中的数据经过输出缓冲区送到输出设备 上。
2、实现虚拟设备的条件
硬件条件:大容量磁盘;中断装置和通道;中央处理器与通道并行工作的能力。
软件条件:要求操作系统采用多道程序设计技术。
3、虚拟设备的实现原理
对于多道程序,输入时将一批作业的信息通过输入设备预先传送到磁盘上。输出时将作业产生的结果也全部暂时存在磁盘上而不直接输出,直到一个作业得到全部结果而执行结束时再行输出。(就是用磁盘来模拟输入机和打印机的工作,把它们的工作内容先保存起来,然后一并执行)
对磁盘进行驱动调度的目的:尽可能的降低多个访问者执行输入输出操作的总时间,增加单位时间内的输入输出操作次数,有利于系统效率的提高。
磁盘的驱动调度:在多道程序设计系统中,同时有多个访问者请求磁盘操作,此时系统采用一定的调度策略来决定各等待访问者的执行次序,所以系统决定等待磁盘访问者的执行次序的工作就是磁盘的“驱动调度”。
磁盘调度分为移臂调度和旋转调度。
根据访问者指定的柱面位置来决定执行次序的调度称“移臂调度”;
当移动臂定位后,如有多个访问者等待访问该柱面时,根据延迟时间来决定执行次序的调度称为“旋转调度”。
移臂调度算法包括以下四种:
1)先来先服务算法(FCFS);
2)最短寻找时间优先调度算法(SSTF);
3)电梯调度算法(SCAN);
4)单向扫描调度算法(CSCAN)。
没有评论:
发表评论