购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.2.3 设备管理

在计算机系统中,除了处理器和内存之外,其他的大部分硬设备称为外部设备。它包括输入/输出设备,辅存设备及终端设备等。这些设备种类繁多,特性各异,操作方式的差异很大,从而使操作系统的设备管理变得十分繁杂。

1.设备管理的任务

设备管理是对计算机输入/输出系统的管理,是操作系统中最具多样性和复杂性的部分。其主要任务是:

(1)选择和分配输入/输出设备以便进行数据传输操作。

(2)控制输入/输出设备和CPU(或内存)之间的数据交换。

(3)为用户提供一个友好的透明接口,把用户和设备硬件特性分开,使得用户在编制应用程序时不必涉及具体设备,系统按用户要求控制设备工作。另外,这个接口还为新增加的用户设备提供一个和系统核心相连接的入口,以便用户开发新的设备管理程序。从而提高设备和设备之间、CPU和设备之间,以及进程和进程之间的并行操作速度,以使操作系统获得最佳效率。

为了完成上述主要任务,设备管理程序一般要提供以下功能:

(1)提供与进程管理系统相连接的接口。当进程要求设备资源时,该接口将进程要求转达给设备管理程序。

(2)进行设备分配。按照设备类型和相应的分配算法把设备和其他相关的硬件分配给请求该设备的进程,并把未分配到所请求设备或其他相关硬件的进程放入等待队列。

(3)实现设备和设备、设备和CPU等之间的并行操作。

(4)进行缓冲区管理。一般来说,CPU的执行速度和访问内存速度都比较高,而外部设备的数据流通速度则低得多(例如键盘)。为了减少外部设备和内存与CPU之间的数据速度不匹配的问题,系统中一般设有缓冲区(器)来暂放数据。设备管理程序负责进行缓冲区分配、释放及相关的管理工作。

2.主要设备管理技术

设备管理的主要任务首先是分配和回收设备,控制设备的工作,完成用户的输入/输出请求;其次是提高CPU与设备及设备与设备之间的并行工作速度,提高设备的使用效率。主要设备管理技术有:

(1)中断技术。当外设向CPU发出中断请求的时候,CPU暂停正在执行的程序,转去执行中断处理程序。处理完成后,再返回到断点处继续执行被中断的程序。中断处理能够对输入/输出是否正常结束或者发现错误等进行相应的处理。使用中断技术后,CPU不必时时去查询外设,减少了CPU询问外设的时间,从而提高了CPU和外设并行工作的能力。

(2)通道技术。指专门建立一套用于控制外设和内存之间进行信息传输的硬件机构,又称I/O处理机。建立通道后,CPU不直接控制各个I/O设备。而是通过通道去控制,每个通道把一个或多个外部设备与CPU联系起来,使它们能并行工作。通道专门用于数据传输工作。

中断和通道技术为CPU与外设之间的并行操作提供了可能性,但CPU与外设之间速度的不匹配仍会降低CPU的使用效率,因此又发展了缓冲技术。

(3)缓冲技术。缓冲区是在内存中开辟的专门用于数据传输过程中暂存数据的区域,是一种解决高速CPU和低速外设之间速度不匹配的存储装置。引入缓冲不但缓解了速度方面的矛盾,而且减少了CPU对I/O设备的访问次数。从而提高了CPU和外设并行工作的速度。

3.数据传输控制方式

设备管理的主要任务之一是控制设备和内存或CPU之间的数据传送,本节介绍几种常用的数据传送控制方式。

选择和衡量控制方式的原则如下:

(1)数据传送速度足够高,能满足用户的需要但又不丢失数据。

(2)系统开销小,所需的处理控制程序少。

(3)能充分发挥硬件资源的能力,使得I/O设备尽量处于使用状态中,而CPU等待时间少。

外围设备和内存之间常用的数据传送控制方式主要有以下几种:

(1)程序控制方式。处理器启动数据传输,然后等设备完成。

(2)中断方式。程序控制方式不能实现并发。中断方式的数据传输过程是这样的,进程启动数据传输(如读)后,该进程放弃处理器,当数据传输完成,设备控制器产生中断请求,中断处理程序对数据传输工作处理之后,让相应进程成为就绪状态。以后,该进程就可以得到所需要的数据。

(3)直接存储访问(Direct Memory Access,DMA)方式。指外部设备和内存之间开辟直接的数据交换通路。除了控制状态寄存器和数据缓冲寄存器外,DMA控制器中还包括传输字节计数器、内存地址寄存器等。DMA方式采用窃取(或挪用)处理器的工作周期和控制总线而实现辅助存储器和内存之间的数据交换。有的DMA方式也采用总线浮起方式传输大批量数据。

(4)通道方式。通道又称为输入/输出处理器(Input/Output Processor,IOP),可以独立完成系统交付的输入/输出任务,通过执行自身的输入/输出专用程序(称通道程序)进行内存和外设之间的数据传输。主要有3种通道:字节多路通道、选择通道和成组多路通道。

4.磁盘调度算法

设备的动态分配算法与进程调度相似,也是基于一定的分配策略的。常用的分配策略有先请求先分配、优先级高者先分配等策略。

在多道程序系统中,低效率通常是由于磁盘类旋转设备使用不当造成的。操作系统中,对磁盘的访问要求是多方面的,常常需要排队。这时,众多的访问要求按一定的次序响应,会直接影响磁盘的工作效率,进而影响系统的性能。

访问磁盘的时间因子由3部分构成,它们是查找(查找磁道)时间、等待(旋转等待扇区)时间和数据传输时间,其中查找时间是决定因素。因此,磁盘调度算法先考虑优化查找策略,需要时再优化旋转等待策略。

(1)先来先服务调度。按先来后到次序服务,未做优化。

(2)最短查找时间优先(Shortest Seek Time First,SSTF)调度。FCFS会引起读写头在盘面上的大范围移动,SSTF查找距离磁头最短(也就是查找时间最短)的请求作为下一次服务的对象。SSTF查找模式有高度局部化的倾向,会推迟一些请求服务,甚至引起无限拖延(又称“饥饿”)。

(3)SCAN调度。又称电梯算法,SCAN算法是磁头前进方向L的最短查找时间优先算法,它排除了磁头在盘面局部位置上的往复移动,SCAN算法在很大程度上消除了SSTF算法的不公平性,但仍有利于对中间磁道的请求。

5.虚设备与SPOOLING技术

采用假脱机技术,可以将低速的独占设备改造成一种可共享的设备,而且一台物理设备可以对应若干台虚拟的同类设备。假脱机(Simultaneous Peripheral Operation On Line,SPOOLING)的意思是外部设备同时联机操作,又称为假脱机输入/输出操作,采用一组程序或进程模拟一台输入/输出处理器。

SPOOLING系统的组成如图1-11所示。该技术利用了专门的外围控制机将低速I/O设备上的数据传送到高速设备上,或者相反。但是当引入多道程序后,完全可以利用其中的一道程序来模拟脱机输入时的外围控制机的功能,把低速的I/O设备上的数据传送到高速磁盘上;再利用另一道程序来模拟脱机输出时外围控制机的功能,把高速磁盘上的数据传送到低速的I/O设备上。这样便可以在主机的控制下实现脱机输入、输出的功能。此时的外围操作与CPU对数据的处理同时进行。

图1-11 SPOOLING系统示意图

采用假脱机技术,可以将低速的独占设备改造成一种可共享的设备,而且一台物理设备可以对应若干台虚拟的同类设备。SPOOLING系统必须有高速、大容量并且可随机存取的外存(例如,磁盘或磁鼓)支持。

希赛教育专家提示: 在现代计算机系统中,还可以用一台设备来模拟自身。例如,常见的多窗口技术,即在一个终端上开多个窗口,每个窗口可以独立地进行显示,以监视用户不同任务的执行情况。这是通过缩小显示区域、平铺或重叠显示来模拟多个显示器的。 4aZimQUJRN/FX/z33oylf7esVHp6fdlnh2IHJB0DafVHemwpul+9ZUBrXV63piw/

点击中间区域
呼出菜单
上一章
目录
下一章
×