设备管理(最近考试有考到,就转一下)

1. 设备的分类

(1) 按用途分

输入设备
输出设备 
输入输出设备 如:磁盘、磁带

(2) 按数据传输格式分

字符设备 如:终端键盘、显示器、打印机、绘图仪,传输速度低

块设备 如:磁盘、磁盘,其传输速度快,一般不与人交互作用

(3) 按设备分配方式分

独享设备 在任何时刻只能为一个用户使用,一般都是低速或中速设备,如:终端、打印机、绘图仪

共享设备 允许多个作业或进程同时使用,即交替或分时地向多个作业提供服务,在宏观上呈现共享,这类设备都是高速设备,且容量大,可直接存取。如硬盘、软盘。

虚拟设备 通过模拟设备技术,把原来只能独享的设备改造成若干个可以共享的设备。

 

2. 设备管理的目标与功能

目标:

为用户提供方便的用户接口
尽可能提高外部设备的使用效率

功能:

设备的分配和回收
缓冲区管理
控制设备的I/O操作

3. 设备的控制方式

(1) 循环测试方式(查询方式)

CPU每当执行I/O操作之前,都必须对外设的状态进行测试,若外设准备就绪,就进行I/O操作,否则反复测试,直到外设处于就绪状态,再进行I/O操作。此方式CPU利用率极低,不适合多道程序系统。

(2) 中断控制方式

CPU 在外设工作期间不需对其状态进行测试而转向执行其它程序,只在外设完成其工作并通过中断方式通知CPU时,CPU才转去执行中断服务程序,为设备传送数据并启动设备工作。从宏观上看,CPU与外设是并行工作的,提高了CPU的利用率。

(3) DMA方式

DMA方式即直接存取存储器方式,它能在DMA接口的控制下直接进行内存与外设之间的大批数据的传送,CPU不参与传送。此方式功能较简单,只能进行取数、送数操作,不能满足较为复杂的I/O要求。DMA方式只相当于执行一条通道指令。

(4) 通道方式

通道是一个独立于CPU的专门负责输入输出控制的比较简单的处理机,它有自己的通道指令,可以执行通道程序,并通过通道程序控制内存与外设之间的数据传送。它可以控制多台设备并行工作。

(5) I/O处理机

比通道具有更强更灵活的功能,其工作过程与通道大体相同。

4. 缓冲区管理

缓冲技术:是在内存中设置一块具有n个单元的区域作为缓冲区,用以存放内存和外设之间传输的数据。

缓冲区管理:指设备管理程序对和缓冲区施加的管理,主要是缓冲区的分配和回收。

缓冲区结构

循环队列形式 :将数据写入缓冲区时,相当于在循环队列中加入一个元素;当从缓冲区取走一个数据时,相当于在循环队列中删除一个元素。

单缓冲区或多缓冲区形式: 输入时外设先将数据送入缓冲区,CPU则从缓冲区中成批取走数据进行处理;输出时CPU先将数据写入缓冲区,外设再慢慢从缓冲区取出数据。

缓冲池形式:其中存在三种类型的缓冲区:输入数据缓冲区、输出数据缓冲区、空白缓冲区。对它们用链接指针分别链成三个队列:输入队列输出队列空白队列

输入数据时,从空白队列中取出一个缓冲区,收容输入数据并将其挂在输入队列末尾;

输出数据时,从空白队列中取出一个缓冲区,收容输出数据并将其挂在输出队列末尾;

当进程用完输入数据或外设处理完输出数据后,再将这部分缓冲区挂到空白队列末尾。

5. 设备分配

 

设备分配的任务是按照一定的策略或算法为请求设备的进程分配合适的设备及相关的硬件(如通道、控制器等)。设备分配的策略随设备类型的不同而不同。

为了对设备进行有效管理,系统对每台设备的情况进行登记,放在各设备的设备控制块DCB中,设备调度程序依据UCB来实施调度。

DCB的内容:设备标识符、设备状态、与设备相连的控制器表、等待此设备的进程表。

(1) 独享设备的分配

· 静态分配:在作业运行之前就对作业申请的设备进行分配,直到作业结束后才收回。由于作业在运行期间往往不是连续、充分地使用设备,故设备利用率低。

· 动态分配:在作业运行过程中,当进程提出设备申请时才进行分配,一旦停止使用立即回收,而不管整个作业是否已运行结束。可采用先请求先服务优先数法的分配算法,要注意防止系统产生“死锁”。

(2) 共享设备的分配

在多道程序系统,各进程对共享设备的访问极其频繁,要根据设备的特点采用不同分配策略。如对磁盘的分配策略就包括:查找优化策略和旋转优化策略。

(3) 虚拟设备

即采用虚拟设备技术使独享设备成为逻辑上的共享设备。实现虚拟设备的硬件和软件系统称为SPOOLing(联机外围操作)系统,也称假脱机系统。其工作过程大致为:利用共享的外存中的某些区域作为输入缓冲区(输入井)和输出缓冲区(输出井)。输入设备先把数据送到并存放在输入井中,当进程运行需要这些数据时,直接从输入井中获得,而不是直接从输入设备获得,输出时反之。

01103920_Ecef.gif

6. 设备驱动和中断处理

设备驱动程序:负责接收和分析从设备分配程序转来的信息以及设备控制块中的信息,结合设备特性,对要输入输出的信息进行格式转换,使之变成设备能够执行的形式,完成实际的I/O操作。

中断处理程序:负责处理设备或通道的中断请求,判断输入输出是否结束,若未结束,则转入设备驱动程序继续启动设备,否则,结束对该设备的控制,并将其释放。如果是设备故障或其它错误造成的中断,则负责进一步查明原因并进行相应的处理。

设备驱动程序和中断处理程序有时统称为设备处理程序。

转载于:https://my.oschina.net/starmier/blog/173337

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值