写一个设备的分配与调度简单方案_第八章:I/O设备管理

·I/O设备管理的基本概念

输入输出设备(I/O)也称外部设备,有时简称为设备或外设,包括计算机中除CPU和内存储器以外的所有的设备和装置。
一、I/O设备管理的任务:I/O设备是操作系统所管理的四大类资源之一,操作系统主要通过 缓冲技术、中断技术和虚拟技术 来解决I/O设备与CPU性能不匹配的反差问题。
二、I/O设备的分类: 1、按照设备的使用特性分类分为:输入设备、输出设备、交互式设备、存储设备。 2、按照设备的信息组织方式分类分为:字符设备和字块设备。     字符设备:以字符为单位组织和处理信息的设备,例如打印机、键盘。     字块设备:以字符为单位组织和处理信息的设备,例如磁盘、磁带。 3、按照设备使用可共享性分类:     独占设备:只能实现顺序共享,非并发共享,在任一给定的时刻只能让一个进程使用。     共享设备:能够同时让许多程序使用的设备。     虚拟设备:在一类设备上模拟另一类设备,被模拟的设备称为虚拟设备。

三、I/O设备管理与文件管理的关系:

    I/O设备管理:是对计算机系统中所有I/O设备硬件的管理,也是对资源的管理,它更多的是为用户提供标准接口来使用这些设备。

    文件管理:针对的是这些设备里面存储的数据和信息,它提供了一整套对数据信息资源的管理规则,并且以文件及其配套的概念来具体实现。

    注意:在UNIX系统中,为了更便于管理,将所有的I/O设备都当做文件对象来管理。


·I/O硬件和I/O软件的组成

一、I/O硬件组成:

从硬件的角度看I/O硬件由物理设备和电子部件两部分组成,物理设备是达成I/O硬件功能的物质基础。对操作系统而言更注重的是其电子部件的控制方式。

e220f30910b4567ae6695cd49e885afc.png

计算机外部设备硬件系统组织结构(上图)

操作系统并不直接与设备本身打交道,而是与设备控制器打交道,通过对设备控制器中的寄存器进行读写操作与设备交换数据。为了使处理器能够访问设备控制器中的寄存器必须为每个寄存器分配一个唯一的I/O端口地址,它包含两部分:

内存映射地址:是分配给系统中所有端口地址空间与内存地址空间的统一编址。
        I/O独立编址:是分配给系统中所有端口的地址空间与内存空间是完全独立的。


二、I/O软件组成:一般分为四层:中断处理程序、设备驱动程序、设备独立的操作系统软件、用户软件。

98a277834992ffeceec14b5a3574af49.png

I/O软件组成(上图)


三、设备独立性:除了直接与设备打交道的底层软件之外,其他部分的软件并不依赖于硬件。除了一些特殊的I/O软件与设备相关之外,大部分I/O软件是设备独立的。

1、设备的命名:在操作系统的I/O软件中,采用文件系统路径名的方式来为设备命名。

2、设备的保护:房子无授权的应用或用户的非法使用,解决方法是,系统管理员根据需要为每一个设备设置适当的“读、写、运行”权限。

3、提供一个与设备无关的逻辑块:为解决各种I/O设备有着不一样的存储设备问题。与设备无关的软件必须要向较高层软件屏蔽各种I/O设备空间大小,处理速度和传输速率各不相同的这一事实,而向上层提供大小统一的逻辑块地址,较高层的软件只与抽象设备打交道,不考虑物理设备空间和数据块大小而使用等长的逻辑块。

4、缓冲:解决数据写到设备的速度和系统输出的速度不一样的方式。

5、存储设备的块分配:创建文件写入数据时通常在硬盘中为该文件分配新的存储块,操作系统需要为每个磁盘设置一张空闲块表或位示图。

6、独占设备的分配和释放:要求操作系统对设备使用请求进行检查,并根据申请设备的可用状况决定接受还是拒绝请求,进程直接通过OPEN打开设备的特殊文件提出请求,若设备不能用则OPEN失败,关闭独占设备同释放设备。

7、错误处理:一般由设备驱动器处理,比如重试、忽略、放弃,如果读一个用户文件时出错,操作系统将错误信息报告给调用者,如果读一些关键系统数据结构时出错,操作系统则打印错误信息并向系统管理员报告相应错误。


·I/O设备控制方式

一、程序控制方式(PIO):PIO是指由用户进程直接控制处理器或内存和外围设备之间进行信息传达的方式,也称“忙-等”方式、轮询方式或者循环测试方式。


二、中断控制方式:一种在发生了一个异常事件,调用相应处理程序进行服务的过程,中断源一旦需要处理器为其服务时,就向处理器发出请求,处理器一般在当前指令执行完,且状态为允许中断的情况下响应请求。


三、DMA控制方式:数据交换不经过处理器直接在内存和I/O设备之间进行,是完全用硬件执行I/O数据交换的工作方式。由DMA控制器向内存发出地址和控制信号,进行地址修改,对传送字的个数计数,并且以终端方式向处理器报告传送操作的结束。过程分为三个阶段:

    1、传送钱预处理阶段:由处理器执行I/O指令对DMAC进行初始化与启动。

    2、数据传送阶段:由DMAC控制总线进行数据传输。

    3、后处理阶段:传输结束。


四、通道控制方式:是一个特殊功能的处理器,它有自己的指令和程序,可以实现对外围设备的统一管理和外围设备与内存之间的数据传送。按照信息交换方式的不同分为三种类型的通道:

    1、选择通道:一种高速通道,在物理上连接多个设备,但这些设备不能同时工作。优点是以数据块为单位进行传输,传输效率高,缺点是通道利用率低。

    2、数组多路通道:是对选择通道的一种改进,当某个设备进行数据传送时,通道只为该设备服务,当设备在执行寻址等控制性动作时,通道暂时断开与这个设备的连接,挂起该设备的通道程序为别的设备服务。优点是以数据块为单位传输率高,有多路并行操作的能力,通道利用率高,缺点是控制复杂。

    3、字节多路通道:是一种简单的共享通道,各设备与通道之间的数据传送以字节为单位交替进行,各设备轮流占用一个很短的时间片。


·设备分配与回收

操作系统主要通过数据结构、分配原则、分配策略和分配算法四个方面进行分配与回收。


一、数据结构:

    1、系统设备表SDT:每个接入系统中的设备都占用一个表项,记录设备名称、标识、设备控制表。

    2、设备控制表DCT:每台设备都有,记录设备各方面特征和与设备相连的设备控制器情况和保存控制器入口位置。

    3、控制器控制表COCT:用于登录控制器的使用分配情况和控制器相连的通道情况。

    4、通道控制表CHCT:反映通道情况。


二、分配原则:充分发挥设备使用效率,尽可能的让设备忙碌,但是要避免由于不合理分配方法造成进程死锁。有静态分配原则和动态分配原则。


三:分配策略:主要考虑因素有I/O设备的固有属性,I/O设备的分配算法,设备分配的安全性以及设备独立性。分配方法与进程相似,先来先服务原则和高优先级优先原则。


独占设备分配:

1、设备的绝对号与相对号:“绝对号”是系统为每一个设备确定的一个编号,“相对号”是用户在程序中定义的设备编号,规定用户使用“设备类、相对号”提出设备使用要求,系统为用户分配具体设备时建立设备绝对号,与用户的“设备类、相对号”相对应来执行设备启动。

2、设备的指定方式:

    1)、系统只要从指定的某一类设备中提供“好的且尚未分配的”设备来进行分配。

    2)、如果分配给用户的设备在使用中出现了故障,系统可以从同类设备中找另一台“好的且尚未分配的”设备来替换。


·磁盘调度策略

磁盘的三大主要优点:     1、可用的存储容量大     2、每位的价格非常低     3、电源关掉后信息不会丢失
一、信息传输时间:     1、寻找时间:磁头在移动臂带动下移动到指定柱面所花的时间     2、延迟时间:指定扇区旋转到磁头下所需的时间     3、传送时间:由磁头进行读写完成信息传送的时间      注:传送时间是固定的,寻找和延迟时间与信息在磁盘上的位置有关。
块号计算:b=k+s*z(j+i*t)

    t:每个柱面上的磁道数

    s:每个盘面上的扇区数

     i:柱面

     j:磁头

    k:扇区


二、移臂调度及调度算法:根据访问者指定的柱面位置来决定执行次序的调度,目的是减少操作中的寻找时间。算法有:

    1、先来先服务调度算法

    2、最短寻找时间优先调度算法

    3、电梯调度算法

    4、单向扫描调度算法


例题:读写磁头在50号柱面上,等待访问者依次为130、199、32、159、15、148、61、99:

先来先服务算法:

5cfea9844f37ddb3342db2ec9cb22ed1.png

寻找距离(由当前50号柱面开始找130号,也就是50到130之间的距离):80+69+167+127+144+133+87+38=845


最短寻找时间优先调度算法:

a08b773eee6a29b90c8a48429938c5b8.png

寻找距离(由当前50号柱面开始寻找离50号柱面最近的柱面的请求开始,依次由近到远):11+29+17+84+31+11+40=223


电梯调度算法:由内向外或者由外向内移动寻找。

0c466712fb2f27adb73eea78205a3609.png

5376b7e26f20eeb2bbeec92e6aeb37b7.png


单向扫描调度算法:指针延一个方向寻找后执行所有这一方向的请求,再回到0道。

fe1dc3c81350613a32b264e970461ef0.png

操作系统的课程到此就结束了,耶,开始复习0.0

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值