您的位置:首页 > 其它

操作系统基础之设备管理

2017-06-26 16:46 190 查看

设备管理

设备管理的主要对象是I/O设备以及设备控制器和I/O通道,主要任务是:完成用户提出的I/O请求,提高I/O速率以及提高I/O设备的利用率,主要功能是:缓冲区管理、设备分配、设备处理、虚拟设备以及实现设备独立性等

I/O系统

I/O设备的类型

按照设备使用特性分类

存储设备

输入输出设备

按照速率分类

低速设备:键盘、鼠标、语音的输入输出等

中速设备:行式打印机、激光打印机

高速设备:磁带机、磁盘机、光盘机

按照信息交换的单位分类

块设备:信息存取总是以块为单位

字符设备:信息存取以字符为单位

按照设备的共享属性

独占设备:需要互斥访问

共享设备:可寻址、可随机访问

虚拟设备

设备与控制器之间的接口

设备一般不是与CPU直接通信,而是通过设备控制器通信

数据信号线

控制信号线

状态信号线

设备控制器:CPU和I/O设备之间的接口,接收从CPU发来的命令,并且控制I/O设备进行工作

责职:控制一个或者多个I/O设备,以实现I/O设备和计算机之间的数据交换

基本功能

接收和识别命令:接收识别CPU发出的命令

数据交换:实现CPU与控制器之间,控制器与设备之间的数据交换

标识和报告设备的状态:记下设备的状态供CPU了解

地址识别:识别所控制的每个设备的地址

数据缓冲

差错控制

组成

设备控制器与处理机接口:用于实现CPU与设备控制器之间的通信

设备控制器与设备的接口:一个接口对应一个设备

I/O逻辑:用于实现对设备的控制

I/O通道

作用:介于CPU和设备控制器之间,建立独立的I/O操作,使数据的传送能独立于CPU

本质:一种特殊的处理机,具有执行I/O指令的能力,并通过通道程序控制I/O操作,但与CPU共享内存

类型

字节多路通道

数组选择通道

数组多路通道

总线系统

计算机系统中的各个部件之间的联系,都是通过总线来实现的

I/O控制方式

宗旨:尽量减少主机对I/O控制的干预,把主机从繁杂的I/O控制事务中解脱出来

程序I/O方式:不断去查看是否已经完成

中断驱动I/O方式:以字节为单位

直接存储器访问(DMA)I/O控制方式

基本单位是数据库

传送的数据直接从设备送入内存,或者相反

仅在传送一个或者多个数据块的开始和结束时,才需要CPU的干预

DMA控制器的组成

缓冲管理

单缓冲

双缓冲

循环缓冲

缓冲池

I/O软件

I/O软件的设计目标和原则

与具体设备无关

统一命名

对于错误的处理

缓冲技术

设备的分配和释放

I/O控制方式

四个层次

用户层软件

设备独立性软件

设备驱动程序

中断处理程序

唤醒被阻塞的驱动程序

保护被中断进程的的CPU环境

转入相应的设备处理程序

中断处理

恢复被中断进程的现场

设备分配

系统设备不允许用户自行使用,必须由系统统一分配

设备分配中的数据结构

设备控制表(DCT):每个设备均有,记录本设备的情况

控制器控制表、通道控制表、系统设备表

设备分配时考虑的因素

设备的固有属性

独占设备

共享设备

虚拟设备

设备分配算法

先来先服务

高优先级优先

设备分配中的安全性

安全分配方式:发出请求后阻塞,CPU与I/O是串行工作

不安全分配方式:仅当所请求的设备被占用时才阻塞,应该进行安全性计算

独占设备的分配程序

基本的设备分配程序

分配设备

分配控制器

分配通道

设备分配程序的改进

增加设备的独立性

考虑多通路情况

SPOLLing技术

原理:在联机情况下实现的同时外围操作或者称为假脱机操作(利用多道技术,来模拟脱机输入、输出时的外围控制机功能),其实就是通过程序模拟硬件,其中磁盘用于模拟设备,进程用于模拟处理器,缓冲区用于缓冲

系统组成

输入井和输出井:在磁盘上开辟的两大存储空间,用于模拟脱机输入输出时的磁盘设备,用于暂存I/O设备的数据

输入缓冲区和输出缓冲区:在内存上开辟的两大缓冲区,用于暂存输入输出设备的数据

输入进程SPi和输出进程SPo:用两个进程来模拟脱机I/O时的外围控制机,等到设备真正空闲时,再讲数据传输过去

共享打印机:接收请求,然后送到打印机列表

特点

提高了I/O速度

将独占设备改造为共享设备

实现了虚拟设备功能

磁盘存储器的管理

磁盘性能简介

数据组织形式和格式

磁道、扇区、…

磁盘类型

固定磁头:每个磁道都有一个读写头

移动磁头:每个盘面仅由一个读写头,需要寻道等操作

磁盘访问时间

寻道时间:Ts = m * n + s // s:启动磁臂时间,n:移动n个磁道的时间,m与磁盘驱动器速度有关的常数

旋转延迟时间:指定扇区移动到磁头下面所需要的时间

传输时间:t = b/(r*N)

磁盘调度

目标:使磁盘的平均寻道时间最小

先来先服务(FCFS)

根据进程请求访问磁盘的先后顺序进行调度

最短寻道时间优先(SSTF Shortest Seek Time First)

思想:选择与当前磁头距离最近的磁道,使得每次寻道时间最短,但不保证平均寻道时间最短

缺点:可能导致饥饿现象,也就是某个进程得不到资源

扫描算法(SCAN)

思想:从一个方向访问直到尽头,再反方向(1 - 2 -3 -4 -3 -2 -1 )

循环扫描算法(CSCAN)

思想:(1 - 2 -3 -4 -1 -2 -3- 4)

NStepSCAN算法

思想:将请求的进程队列分成若干个长度为N的子队列,每个队列按照SCAN算法执行

FSCAN算法

思想:只将队列分成两个子队列,一个保存当前的进程,另一个保存扫描过程中出现的进程

磁盘高速缓存

利用内存中的存储空间作为磁盘的高速缓存,实际上并不存在一个设备称之为磁盘高速缓存

数据交付方式

数据交付:直接将高速缓存中的数据传送到请求者进程的内存工作区

指针交付:将指向高速缓存区中某个区域的指针交给请求者进程

置换算法

最近最久未使用

访问频率

可预见性

数据一致性

周期性写回磁盘

提高磁盘效率的其他方法

提前读

延迟写

优化物理块的分配

虚拟盘

廉价磁盘冗余阵列(RAID)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息