设备管理

除了处理器和内存之外,其也的大部分硬设备称为外部设备,设备管理程序一般要提供下述功能。

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

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

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

(4)进行缓冲区管理。主要减少外部设备和内存与CPU之间的数据速度不匹配的问题。

 

数据传输控制方式

输入、输出系统(IO)可以有5种不同的工作方式。

(1)程序控制:CPU直接利用IO指令编程,实现数据的输入输出,CPU发现IO命令,命令中包含了外设的地址信息和所要执行的操作,相应的IO系统执行该命令并设置状态寄存器,CPU定期查询IO系统以确定该操作是否完成,由程序主动查询外设,完成主机与外设间的数据传送。

(2)程序中断方式:当IO系统与外设交换数据时,CPU无须等待也不必去查询IO的状态,当IO系统完成了数据传输后则以中断信号通知CPU。然后CPU保存正在执行的程序现场,转入IO中断服务程序完成与IO系统的数据交换。然后返回原主程序继续执行。在系统中具有多个中断源的情况下,常用的处理方法有:

  • 多中断信号线法。
  • 中断软件查询法:所需要硬件非常简单,几乎全部用软件来实现。所有中断源公用一条中断请求线,无论是哪一个,也不管有多少个中断服务请求,得到处理器响应后都进入 同一个中断服务程序入口,用软件逐个测试中断源的状态,凡是发出中断服务请求的中断源,它的完成标志必须被置位,或忙标志被清除。这种方法的好处就是测试顺序可以通过软件改变,但速度太慢。
  • 雏菊链法:这是一个简单的硬件方法,在每个中断源的接口电路中设置一个逻辑电路,这些逻辑电路组成一个链,叫菊花链,由它来控制中断响应信号的传递通道。当链上任何一个接口有中断请求时,都会产生中断请求信号送往CPU的INTR引脚,如果CPU允许中断,则发生中断响应信号。该信号在菊花链中传递,如查某接口中无中断信号,则该信号可以通过菊花链逻辑电路原封不动地向后传递,如果该接口中有中断请求信号,则该接口中的逻辑电路就使得该信号不再向后传递。
  • 总线仲裁法:使用总线仲裁器。
  • 中断向量法:发生中断时,将各个寄存器和程序充计数器所指向的内容 存储在另一个地方,而当执行完别的程序时,取出原来保存的内容,继续执行。

(3)DMA:(Direct Memory Access Controller),DMAC和CPU共享系统总线,并且具有独立访问存储器的能力,在进行DMA时,CPU放弃对系统总线的控制而由DMAC控制总线。DMAC获取总线的方式有三种:

  • 暂停方式:请求CPU让出系统总线,直到一组数据全部传送完毕后,再把总线控制权还给CPU。
  • 周期窃取方式:请求CPU进入空闲状态,插入一个DMAC周期,一个周期后,把总线还给CPU。
  • 共享方式:在CPU不使用总线时,DMAC进行DMA传输。

(4)通道方式:通道是一种通过执行通道程序管理IO操作的控制器,它使主机与IO操作之间达到更高的并行程度。在具有通道处理机的系统中,当用户进程请求启动外设时,由操作系统根据IO要求构造通道程序和通道状态字,将通道程序保存在内存中,并将通道程序的首地址放到通道地址字中,然后执行启动IO指令,按照所采取的传递方式,可将通道分为:

  • 字节多路通道:数据传输的基本单位是字节。
  • 选择多路通道:通过选择器进行选择。
  • 数组多路路通道:数据传输的基本单位是数据块。

(5)输入输出处理机:具有丰富的指令系统和完善的中断系统,专用于大型、高效的计算机系统处理设备的输入输出,并利用共享存储器或其他手段与主机交换信息。

 

磁盘调度算法

访问磁盘的时间由三部分组成:寻道(查找数据所在的磁盘)时间、等待(旋转等待扇区)时间和数据传输时间,其中寻道时间(查找时间)是决定因素。

(1)先来先服务:此算法未对寻道进行优化,致使平均寻道时间可能较长。

(2)最短寻道时间优先(SSTF:Shortest Seek Time First):其要求访问的磁道距当前磁头所在的在磁道距离最近,以使每次寻道的时间最短。SSTF查找模式有高度局部化的倾向,会推迟一些请求的服务,甚至引起无限拖延。

(3)SCAN算法:不仅考虑到欲访问的磁道与当前磁道的距离,而且优先考虑的是磁头的当前移动方向。

(4)N-SCAN算法:碰头的移动与SCAN算法是一样的,不同的是扫描期间中只对那些扫描开始前已等待服务的请求提供服务,在服务期间,新到达的请求要到下一个扫描周期开始。

(5)C-SCAN:规定磁头单向移动。

 

虚设备与SPOOLing技术

Simultaneous Peripheral Operation On Line的意思是外部设备同时联机操作,采用一组程序或进程模拟一台输入输出处理器,它在输入输出之间增加了“输入井”和“输出井”的排队环节。

(1)井:这是在磁盘上开辟出来的两个存储区域,用于存放IO数据。

(2)缓冲区:这是在内存中开辟的两个缓冲区,用于暂存IO数据,以后再和井交互,

(3)进程:输入进程模拟脱机时的外围控制机,将用户要求的数据由输入设备送到输入缓冲区,再送到输入井。当CPU需要输入设备时,直接从输入井读入内存,输出进程模拟脱机输出时的外围控制机,把用户要求输入的数据先从内存送到输出井,待输出设备空闲时,再将输出井中的数据经过输出缓冲区送到输出设备上。

 

最后欢迎大家访问我的个人网站:1024s

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值