1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 计算机操作系统--设备管理

计算机操作系统--设备管理

时间:2019-12-25 20:39:29

相关推荐

计算机操作系统--设备管理

设备管理概述

1.设备分类

1) 按数据组织分类
按数据组织分类,设备可分为块设备和字符设备。


(1)块设备。它指以数据块为单位组织和传送数据的设备,如磁盘、磁带等,属于有结构设备。
(2)字符设备。它指以单个字符为单位传送数据信息的设备,如终端、打印机等,属于无结构设备。

2)按资源分配的角度分类
按资源分配的角度分类,设备可分为独占设备、共享设备和虚拟设备。



(1)独占设备。在一段时间内只允许一个用户(进程)访问的设备。低速I/O设备一般是独占设备,如打印机、用户终端等。



(2)共享设备。在一段时间内允许多个进程同时访问的设备。共享设备是可寻址的和可随机访问的设备。典型的共享设备是硬盘。共享设备不仅可以获得良好的设备利用率,而且是实现文件系统和数据库系统的物质基础。



(3)虚拟设备。它指通过虚拟技术将一台独占设备变换为若干台供多个用户(进程)共享的逻辑设备。一般可利用假脱机技术(SPOOLing技术)实现虚拟设备。



3)按数据传输率分类
按数据传输率分类,设备可分为低速设备、中速设备和高速设备。




(1)低速设备。它指传输速率为每秒钟几个字节到数百个字节的设备。典型的设备有键盘、鼠标、语音的输入设备等。




(2)中速设备。它指传输速率在每秒钟数千字节至数万字节的设备。典型的设备有行式打印机、激光打印机等。




(3)高速设备。它指传输速率在数百千个字节至数兆字节的设备。典型的设备有磁带机、磁盘机、光盘机等。










4) 其他分类方法
按输入输出对象分类,设备可分为人机通信设备和机机通信设备。按是否可交互分类,设备可分为非交互设备和交互设备。











2. 设备管理的目标与任务











1) 设备管理的目标
设备管理的目标主要是如何提高设备的利用率,为用户提供方便、统一的界面。

2) 设备管理的任务
设备管理的任务是保证在多道程序环境下,当多个进程竞争使用设备时,按一定策略分配和管理各种设备,控制设备的各种操作,完成输入输出设备与主存之间的数据交换。

3) 设备管理的功能设备管理的主要功能如下。

动态地掌握并记录设备的状态。设备分配和释放。缓冲区管理。实现物理I/O设备的操作。提供设备使用的用户接口。设备的访问和控制。I/O缓冲和调度。

I/O软件

I/O设备管理软件一般分为4层,即中断处理程序、设备驱动程序、与设备无关的系统软件和用户层I/O软件。至于一些具体分层时细节上的处理,是依赖于系统的,没有严格的划分,只要有利于设备独立于这一目标,就可以为了提高效率而设计不同的层次结构。







1.中断处理程序

中断处理程序的作用是,当I/O操作结束时,唤醒驱动程序。中断处理过程如下。


(1)CPU检查响应中断的条件是否满足。



(2)如果CPU响应中断,则CPU关中断,使其进入不可再次响应中断的状态。


(3)保存并中断进程的现场。



(4)分析中断原因,调用中断处理子程序。


(5)执行中断处理子程序。



(6)退出中断,恢复被中断进程的现场或调度新进程占据CPU。


(7)开中断,CPU继续执行。

2. 设备驱动程序







设备驱动程序直接同硬件打交道,任务是接受来自与设备无关的上层软件的抽象请求,进行与设备相关的处理。最突出的特点是它与IO设备的硬件结构联系密切。设备驱动程序中基本上是依赖于设备的代码,是操作系统底层中唯一知道各种输入输出设备的控制器细节及其用途的部分。

3. 与设备无关的系统

软件
除了一些I/O软件与设备相关外,大部分软件是与设备无关的。设备驱动程序与设备无关的软件之间的界限如何划分随操作系统的不同而不同。具体划分原则取决于系统的设计者怎样权衡系统与设备的独立性、驱动程序的运行效率等诸多因素。

4. 用户层I/O软件

通常的系统调用包括IO系统调用,是由库函数实现。所有库函数是设备管理IO系统的组成部分,通过这些库函数所做的工作主要是把系统调用时所用的参数放在合适的位置,由其他I/O过程去实现真正的操作。
另一种方法是采用SPOOLing系统,SPOOLing系统是多道程序设计系统中模拟独占I/O 设备完成假脱机的一种IO技术。SPOOLing技术不仅可适用于打印机这类输入输出设备,还可以应用到其他情况。

设备管理采用的相关缓冲技术

1.通道技术

1)通道
引入通道的目的是使数据的传输独立于CPU,使CPU从繁重的I/O工作中解脱出来。设置通道后,CPU只需向通道发出I/O命令,通道收到命令后,从主存中取出本次I/O要执行的通道程序并执行,仅当通道完成I/O任务后才向CPU发出中断信号。

2) 通道分类可对通道进行以下分类。


(1)字节多路通道。通常都含有许多非分配型子通道,每一个子通道连接一台IO设备。主通道采用时间片轮转法,轮流地为各个子通道服务。字节多路通道扫描通道的速率足够快,而连接到子通道的设备速率不太高时便不会丢失信息。


(2) 数组选择通道。由于字节多路通道不适于连接高速设备,所以引入数组选择通道。这种通道的传输速率高,可以连接多台高速设备,但由于该通道仅含有一个可分配型通道,因此在某一段时间内只能执行一个通道程序,为一台设备进行输入输出。



(3)数组多路通道。结合了数组选择通道传输速率高和字节多路通道能使各个子通道分时并行操作的优点。该通道中含有多个非分配型子通道,因而该通道既具有很高的传输速率,又能获得令人满意的通道利用率,其数据传输是按数组方式进行的。







2. 直接存储访问方式

直接存储访问(Direct Memory Access,DMA)是指数据在主存和I/O设备间传送一个数据块的过程中,不需要CPU的任何干涉,只需要CPU在过程开始启动与过程结束时的处理,实际操作由DMA硬件直接执行完成,CPU在此传送过程中可做别的事情。

3. 缓冲技术

缓冲技术可提高外设的利用率,尽可能使外设处于忙状态。缓冲技术可以分为硬件缓冲和软件缓冲技术。硬件缓冲是利用专门的硬件寄存器作为缓冲,软件缓冲是通过操作系统来管理的。引入缓冲的主要原因有以下几个方面。



(1)缓和CPU与I/O设备间速度不匹配的矛盾。



(2) 减少对CPU的中断频率,放宽对中断响应时间的限制。


(3)提高CPU和I/O设备之间的并行性。
在所有的IO设备与处理机之间,都使用了缓冲区来交换数据。所以操作系统必须组织和管理好这些缓冲区。缓冲可以分为单缓冲、双缓冲、多缓冲和环形缓冲。


4. SPOOLing技术


SPOOLing技术实际上是用一类物理设备模拟另一类物理设备的技术,是使独占使用的设备变成多台虚拟设备的一种技术,也是一种速度匹配技术。SPOOLing系统是由“预输入程序”“缓输出程序”“井管理程序”以及输入输出井组成的。



SPOOLing系统的工作过程是操作系统初启后激活SPOOLing预输入程序,使它处于捕获输入请求状态,一旦有输入请求消息,SPOOLing输入程序立即得到执行,把装在输入设备上的作业输入到硬盘的输入井中,并填写好作业表以便在作业执行中要求输入信息时可以随时找到它们的存放位置。当作业需要输出数据时,可以先将数据送到输出井,当输出设备空闲时,由SPOOLing输出程序把硬盘上输出井的数据送到慢速的输出设备上。



SPOOLing系统中拥有一张预输入表用来登记进入系统的所有作业的作业名、状态与输入表位置等信息。每个用户作业拥有一张预输入表用来登记该作业的各个文件的情况。输入井中的作业有以下4种状态。

提交状态∶作业的信息正从输入设备上预输入。后备状态∶作业预输入结束但未被选中执行。执行状态∶作业已被选中并运行过程中,它可从输入井中读取数据信息,也可向
输出井写信息。完成状态∶作业已经撤离,该作业的执行结果等待缓输出。

磁盘调度

磁盘是可被多个进程共享的设备。操作系统应采用一种适当的调度算法,以使各进程对磁盘的平均访问时间最小。磁盘调度分为移臂调度和旋转调度两类,并且是先进行移臂调度,然后再进行旋转调度。由于访问磁盘最耗时的是寻道时间,因此,磁盘调度的目标是使磁盘的平均寻道时间最少。

1. 磁盘驱动调度







一般可采用以下4种磁盘调度算法。




(1) 先来先服务磁盘调度算法(FCFS)。这是最简单的磁盘调度算法。它根据进程请求访问磁盘的先后次序进行调度。优点是公平、简单,且每个进程的请求都能依次得到处理,不会出现某进程的请求长期得不到满足的情况。此算法由于未对寻道进行优化,因此平均寻道时间可能较长。




(2)最短寻道时间优先磁盘调度算法(SSTF)。SSTF算法要求访问的磁道与当前磁头所在的磁道距离最近,使得每次的寻道时间最短,但这种调度算法却不能保证平均寻道时间最短。




(3)扫描算法(SCAN)。SCAN 算法也是一种寻道优化的算法,它克服了SSTF 算法的缺点。既考虑访问磁道与磁头当前位置的距离,更优先考虑了当前的移动方向。这种算法磁头移动的规律颇似电梯的运行,故又常称为电梯调度算法。




(4)单向扫描调度算法(CSCAN)。SCAN 存在这样的问题∶当磁头刚从里向外移动过某一磁道时,恰有一进程请求访问此磁道,这时该进程必须等待磁头从里向外,然后再从外向里扫描完所有要访问的磁道后,才处理该进程的请求,致使该进程的请求被严重地推迟。为了减少这种延迟,CSCAN算法规定了磁头做单向移动。

2. 旋转调度算法

系统应该选择延迟时间最短的进程对磁盘的扇区进行访问。当有若干等待进程请求访问磁盘上的信息时,旋转调度应考虑以下3种情况。


(1)进程请求访问的是同一磁道上的不同编号的扇区。


(2)进程请求访问的是不同磁道上的不同编号的扇区。


(3)进程请求访问的是不同磁道上具有相同编号的扇区。

未完待续。。。

更多知识传送:

计算机操作系统–基础知识

计算机操作系统–进程管理

计算机操作系统–存储管理

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

以上内容整理参考《软件设计师教程(第5版)》和《软件设计师考试同步辅导(第四版)》(忘记是哪个老师的了,侵删)。本文章内容旨在帮助更多想要进军软考,给自己镀金的小伙伴。有兴趣的小伙伴可以共勉。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。