第5章 设备管理

5.1 设备层次结构

在这里插入图片描述
各层次及其功能

5.2 设备管理概述

一、常见I/O设备分类

I/O类外设:显示器、键盘、打印机、扫 描仪、
传感器、控制杆、鼠标
存储类型的设备:磁盘设备、磁带设备、光盘等
网络通信设备:网络接口、调制解调器等

磁带:典型顺序存储
磁盘:典型随机,但也可顺序

1、按设备的隶属关系

系统设备标准配置,系统启动时自动完成==打印机==,键盘,显示器,磁盘驱动器
用户设备非标准配置,用户根据实际需要连入系统,使用之前运行对应的驱动程序绘图仪、扫描仪等
2、按信息组织方式划分
字块设备(存储型设备)信息的组织安排以块为单位进行,存取访问时以块进行计量磁盘驱动器、磁带机、磁鼓等
字符设备(输入/输出型设备)以字符为单位组织安排键盘、纸带输入机、磁卡机等
3、从资源分配(共享设备)角度划分
独占设备一次只允许分给一个用户作业使用的设备多是慢速设备,如磁卡机、打印机、A/D、D/A转换器等
共享设备一次可以允许多个作业同时进行访问的设备,可交替分时占用磁盘、磁鼓等
虚拟设备是一种设备管理的技术,可使慢速独占设备变为共享设备SPOOLING系统实现
4、按传输速率分类
低速设备传输速率为每秒钟几个字节至数百个字节的一类设备键盘、鼠标器、语音的输入和输出设备
中速设备传输速率在每秒钟数千个字节至数十千个字节的一类设备行式打印机、激光打印机等
高速设备传输速率在每秒钟数百千个字节至数兆个字节的一类设备磁带机、磁盘机、光盘机等

二、设备管理的目标和任务

1、建立方便、一致的用户界面
2、尽量使CPU与外围设备、外设与外设之间的并行处理能力提高
3、充分发挥 I/O设备的效率

三、主要功能

1、完成设备的分配和回收。
2、实现缓冲区的管理。
3、控制I/O设备的启动。
4、进行I/O事件的中断处理。
5、管理共享设备的驱动调度。
6、提供虚拟设备。

5.3输入输出设备

一、I/O系统结构

1、I/O设备通常包括:一个机械设备+一个电子部件
2、电子部分:I/O部件或设备控制器
3、大多数小型和微型机的CPU /内存和设备控制器之间的通路采用多总线模型
在这里插入图片描述
4、设备驱动程序通常在核心状态下运行,但驱动程序代码常在核心之外
5、显示器类型
在这里插入图片描述
    显示驱动程序的功能:将用户程序送来的输出设备转换写入视频缓存
    键盘驱动程序的功能:
a.对键入的数据进行加工处理
b.将键入数据送至显示器进行回显

二、I/O系统中数据的传输控制

1、一般选取衡量I/O控制方式的好坏时应考虑:
(1)信息传输效率尽量高,以形成大的吞吐量
(2)I/O系统资源利用率好,实现资源的均衡使用
(3)尽量减少CPU用于进行I/O处理的开销,使CPU效率得以充分发挥
2.I/O中信息传输方式
(1)程序直接控制方式(CPU直接询问方式)
(2)中断控制方式
(3)DMA方式
(4)通道控制方式(CPU干预最少)

三、I/O通道

按信息交换方式不同,通道可分为三类:
1.字节多路通道
    控制连接大量慢速设备,如终端、打印机、磁卡机、纸带机等
2.数组选择通道
    可连接多台高速设备,但一段时间内只能为一台设备服务,只有一个输入或输出请求完成后释放了通道,通道才可再转向另一台设备服务。
    工作方式:独占,利用效率不高。
    它适用于高速外部设备:如磁盘、磁鼓等。
3.数组多路通道
    将前两者的优点抽取出来所设计的一种效率很高的通道。
    其信息量的交换按成批方式进行,而通道的占用选用了分时交叉使用的办法,从而在数据传输率及通道利用率两方面都获得了满意的效果。
    它被认为是多道程序设计技术思想在通道中的体现,广泛用于中、高速外设的连接中。

5.4 设备管理中的两种支撑技术

一、中断技术

开中断、关中断、中断屏蔽

    开中断、关中断是为保证某些程序执行的原子性
    中断屏蔽:通过每一类中断源设置一个中断屏蔽触发器来屏蔽它们的中断请求而实现的
    不过,有些中断是不能屏蔽中断的甚至不能禁止的。

1.分类(按中断产生的条件)
(1)外中断:来自处理机和内存外部的中断,在狭义上外中断一般被称为中断
(2)内中断:主要指在处理机和内存内部产生的中断,一般称为陷阱trap
2.软中断
来源于UNIX系统,是通信进程之间用来模拟硬中断(中断、陷阱等)的一种信号通信方式
3.中断处理过程
(关中断->)保护现场、中断事件处理、恢复现场、开中断、中断返回

二、缓冲技术

1.缓冲引入的原因
(1)缓和CPU和I/O设备间速度不匹配的矛盾;
(2)减少中断CPU的次数,放宽对中断响应的要求;
(3)提高CPU、通道和I/O设备间的并行性,从而使系统的资源利用率及吞吐量增高。
2.种类
(1)按组织方式(系统设置缓冲区的数量):单缓冲、双缓冲、多缓冲(循环缓冲)、缓冲池
(2)按使用方式:专用缓冲区、通用缓冲区

5.5 设备驱动程序

一、功能、处理方式、特点、设备分配

1、功能
(1)接受由设备独立性软件发来的命令和参数,并将命令中的抽象要求转换为具体要求。
(2)检查用户I/O请求的合法性,了解设备状态,传递参数,设置设备的工作方式
(3)发出I/O命令。如果设备空闲将立即启动设备去完成指定的I/O操作;如果设备处于忙碌状态,则将请求者的请求块挂在设备队列上等待。
(4)及时响应由设备控制器或通道发出的请求,并进行中断处理
2、处理方式
(1)为每一类设备设置一个进程,专门用于执行这类设备的I/O操作。(如:为所有的交互式终端设置一个交互式终端进程,为同一类型的打印机设置一个打印进程。)
(2)在整个操作系统中设置一个I/O进程,专门用于执行系统中所有各类设备的I/O操作,也可以设置一个输入进程和一个输出进程,分别处理系统中所有设备的输入或者输出操作。
(3)不设置专门的设备处理进程,而只为各类设备设置相应的设备处理程序,供用户进程或系统进程调用。
3、特点
(1)驱动程序是在请求I/O的进程与设备控制器之间的一个通信和转换程序。
(2)驱动程序与设备控制器和I/O设备的硬件特性紧密相关,不同类型的设备配置不同的驱动程序。
(3)驱动程序与I/O设备所采用的I/O控制方式紧密相关,常用的I/O控制方式是中断驱动和DMA方式。
(4)因驱动程序和硬件紧密相关,其中一部分用汇编语言编写,目前很多驱动程序已经固化在ROM中。
(4)驱动程序应允许可重入。一个正在运行的驱动程序常会在一次调用完成前被再次调用 驱动程序不允许系统调用。

二、设备分配

1、设备独立(无关)性:用户编制程序使用的逻辑设备独立于系统实际配置的物理设备
2、系统中一般不允许用户用绝对号来直接申请所需的设备
3、由用户申请设备时所用的编号:设备相对号/逻辑设备号
4、设备独立性好处:
(1)设备分配灵活
(2)易于重定向

三、数据结构

1、系统设备表SDT
2、设备控制表DCT
3、控制器控制表COCT
4、通道控制表CHCT

5.7设备分配与回收

一、分配原则

1、充分发挥设备的使用效率,尽可能地让设备处于忙碌状态
2、避免由于不合理的分配方法造成进程死锁
3、把用户程序和具体物理设备隔离开来

二、分配方式

1、静态分配
主要适用于独占型设备。作业执行前一次性分出,是预分配,一般无死锁,但使用效率低,不符合设备分配总原则
2、动态分配
由进程在执行中动态申请,资源分配的灵活性大,利用率高。缺点:若分配算法使用不当,则可能造成进程死锁。

三、常见措施/分配的算法

1、先请求先分配
2、优先级高者先分配

四、独占设备分配程序 P139

(a)分配设备 ;(b )分配控制器;( c )分配通道

五、影响设备分配的因素

1、I/O设备的固有属性:对于不同属性的设备,通常采用相应的分配算法。
2、设备分配算法。
3、设备分配的安全性:即避免死锁的发生。
4、设备的独立性

5.8 共享设备的驱动调度

对共享设备的分配,实质上变成了决定设备在某一时刻到底被谁启动、为谁服务的问题,也就是常说的驱动调度问题。

一、磁盘访问时间构成 P150

物理记录的位置:柱面号+磁头号(盘面号)+扇区号
访问时间:查找(寻道)时间+旋转延迟(延迟)时间+传输时间

二、磁盘驱动调度算法 P150

移臂调度算法:控制查找操作的先后顺序
旋转调度算法:控制哪个扇区先被访问
先移臂,后旋转

1、移臂
先来先服务查找算法FCFS(First Come First Served)排队顺序

磁盘边缘是0号,往里依次递增

最短查找时间优先的算法SSFT(Shorteat-Seek-Time-First)最近
扫描算法SCAN(电梯)方向优先
N-Step-SCAN、C-SCAN、Look、C-Look

总移动量X个柱面,平均寻道长度X柱面

2、旋转调度
“最短延迟时间优化” -对扇区进行排序

5.9 磁盘存储器管理

磁盘性能简述

一、数据的组织和格式

在这里插入图片描述

二、磁盘的类型

在这里插入图片描述

1、固定头磁盘
(1)这种磁盘在每条磁道上都有一读/写磁头,所有的磁头都被装在一刚性磁臂中。
(2)通过这些磁头可访问所有各磁道,并进行并行读/写,有效地提高了磁盘的I/O速度。
(3)这种结构的磁盘主要用于大容量磁盘上。

2、移动头磁盘
(1)每一个盘面仅配有一个磁头,也被装入磁臂中。(2)磁头能移动以进行寻道,即移动磁头仅能以串行方式读/写,致使其I/O速度较慢
(3)由于其结构简单, 故广泛应用于中小型磁盘设备中。

三、磁盘高速缓存

    是指利用内存中的存储空间,来暂存从磁盘中读出的一系列盘块中的信息。
    因此,这里的高速缓存是一组在逻辑上属于磁盘, 而物理上是驻留在内存中的盘块。
1、磁盘高速缓存的形式
高速缓存在内存中可分成两种形式
(1)在内存中开辟一个单独的存储空间来作为磁盘高速缓存,其大小是固定的,不会受应用程序多少的影响;
(2)把所有未利用的内存空间变为一个缓冲池,供请求分页系统和磁盘I/O时(作为磁盘高速缓存)共享。此时高速缓存的大小不再是固定的。
  当磁盘I/O的频繁程度较高时,该缓冲池可能包含更多的内存空间;而在应用程序运行得较多时,该缓冲池可能只剩下较少的内存空间。

2、数据交付方式
    系统可以采取两种方式,将数据交付给请求进程:
(1)数据交付:直接将高速缓存中的数据,传送到请求者进程的内存工作区中。
(2)指针交付:只将指向高速缓存中某区域的指针,交付给请求者进程。
  由于所传送的数据量少,因而节省了数据从磁盘高速缓存存储空间到进程的内存工作区的时间

3、置换算法所考虑的问题
    由于请求调页中的联想存储器与高速缓存(磁盘I/O中)的工作情况不同,因而使得在置换算法中所应考虑的问题也有所差异。因此,现在不少系统在设计其高速缓存的置换算法时,除了考虑到最近最久未使用这一原则外, 还考虑了以下几点:
(1) 访问频率。
(2) 可预见性。
(3) 数据的一致性。

4、周期性的写回磁盘
  在UNIX系统中专门增设了一个修改(update)程序, 使之在后台运行,该程序周期性地调用一个系统调用SYNC。该调用的主要功能是强制性地将所有在高速缓存中已修改的盘块数据写回磁盘。一般是把两次调用SYNC的时间间隔定为30s。这样,因系统故障所造成的工作损失不会超过30s的劳动量。
  而在MS-DOS中所采用的方法是:只要高速缓存中的某盘块数据被修改,便立即将它写回磁盘,并将这种高速缓存称为“写穿透、高速缓存”(write-through cache)。MS-DOS所采用的写回方式,几乎不会造成数据的丢失,但须频繁地启动磁盘。

四、提高磁盘I/O速度的其他方法

1、提前读(Read-Ahead)
2、延迟写
3、优化物理块的分布
4、虚拟盘

五、廉价磁盘冗余阵列

1、并行交叉存取
在这里插入图片描述
2、RAID的分级
(1)RAID 0级。
    仅提供了并行交叉存取。它虽能有效地提高磁盘I/O速度,但并无冗余校验功能,致使磁盘系统的可靠性不好。只要阵列中有一个磁盘损坏,便会造成不可弥补的数据丢失。较少使用。
(2)RAID 1级。
    具有磁盘锁像功能。例如,当磁盘阵列中具有8个盘时,可利用其中4个作为数据盘,另外4个作为镜像盘,在每次访问磁盘时,可利用并行读、写特征、将数据分块同时写入主盘和镜像盘。所以比传统的镜像盘速度快,但是以牺牲磁盘容量的利用率为代价的。
(3)RAID 3级。
    具有并行传输功能的磁盘阵列。利用一台奇偶校验盘来完成数据的校验功能,比起磁盘镜像,它减少了所需要的冗余磁盘数。经常用于科学计算和图像处理。
(4) RAID 5级。
    具有独立传送功能的磁盘阵列。每个驱动器都有各自的独立的数据通路,独立地进行读/写,且无专门的校验盘。用来进行纠错的校验信息,是以螺旋方式散布在所有数据盘上。RAID5级常用于I/O比较频繁的事务处理中。
(5) RAID 6级和RAID 7级。
    在RAID6阵列中,设置了一个专用的、可快速访问的异步校验盘。该盘具有独立的数据访问通路,具有比RAID3级及RAID5级更好的性能,但其性能改进得很有限,且价格昂贵。
    RAID7级是对RAID6级的改进,在该阵列中的所有磁盘,都具有较高的传输速率和优异的性能,是目前最高档次的磁盘阵列,但价格也较高。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值