操作系统概论(九)

I/O系统的组成

I/O设备管理是操作系统的主要功能之一,也简称为设备管理。
I/O系统的结构
1.微机,I/O系统:
菜谱与内u刹那之间可以直接进行信息交换,但不能与设备进行信息交换,必须经过设备控制器
2.主机,I/O系统:
I/O系统可能采用四级结构,包括主机通道控制器和设备
I/O设备分类
1.按传输速录1分类:
低速设备:如键盘和鼠标(速率为几个~几百个字节/秒)
中速设备:如打印机(速率为千个~万个字节/秒)
高速设备:如磁带机,磁盘机,光盘机(速率为几十万~几兆节/秒)
2.按信息交换的单位分类:
块设备:数据的存取以数据块为单位,如磁盘。
字符集:传送字节流,没有使用块结构。终端,打印机,鼠标等都是字符设备
3.按设备的共享属性分类:
独占设备:是必须作为临界资源以互斥方式访问的设备。
共享设备:允许多个进程共同访问的设备,如硬盘和磁盘是典型的共享设备
虚拟设备:通过某种虚拟技术把一台物理设备变成若干逻辑设备。
设备控制器:
设备控制器是cpu与I/O设备之间的接口。
设备控制器是一个可编程设备。
设备控制器功能:
接受和识别命令
数据交换
设备状态的了解和报告
地址识别
数据缓冲
差错控制
设备控制器的组成:
设备控制器与处理机的接口:数据线,控制线和地址线。
设备控制与设备的接口:设备与设备控制器接口中的3类信号,为数据,状态和控制信号。
I/O逻辑:主要由指令译码器和地址译码器两部分功能部体构成,将CPU的命令和地址分别译码,控制指定设备进行I/O操作。
I/O通道:
通道是大型主机系统中专门用于I/O的专用计算机,是一种特殊的处理机
I/O控制方式:
DMA控制方式:
命令状态寄存器CR:用于接收从CPU发来的I/O命令或有关控制信息,设备状态

内存地址寄存器MAR

数据计数器DC

数据寄存器DR
缓冲管理:
缓冲是用来保存两个设备之间或设备与应用程序之间传输数据的内存区域

缓冲的引入:
引入缓冲区除了可以缓和CPU与I/O设备之间速度不匹配的矛盾,还能降低对CPU中断频率的要求,放宽对总段相应时间的限制,提高CPU和I/O设备之间的并行性。
单缓冲:
操作系统提供的最简单的缓冲类型是单缓冲区,当一个用户进程发出I/O请求时,操作系统为该操作分配一个位于主存的缓冲区
双缓存:
当一进程往这个缓冲区中传送数据(或从这个缓冲区中读取数据)时,操作系统正在清空(或填充)另一个缓冲区,这种技术称为双缓冲,或缓冲交换。
循环缓冲:
在数据到达和数据离去的速度差别很大的情况下,需要增加缓冲区的数量。
缓冲池:
公共缓冲池中设置多个可供若干进程共享的缓冲区,这种方式能提高缓冲区的利用率。

设备分配

设备控制表DCT:
是系统为每个设备建立一张设备控制表,其中包含:
设备类型设备标识符
设备状态:忙/闲
指向控制器表的指针
重复执行的次数或时间
设备队列的队首指针
控制器控制表DOCT:
系统为灭个控制器设置一张用于记录该控制器信息的控制器控制表,控制器控制表中通常包含以下几个字段:
控制器标识符
控制器状态
与控制器相连的通道表指针
控制器队列的队首指针
控制器队列的队尾指针
通道控制表CHCT:
通道标识符
通道状态
与通道连接的控制器的表首址
通道连接的表首指针
通道连接的队尾指针
设备系统SDT

设备分配

应考虑以下三个因素:
设备的固有属性
设备分配算法
设备分配的安全性
分配算法:
先来先服务
基于优先权分配算法
设备驱动程序:
设备驱动程序是I/O进程与设备控制器之间的通信程序,其中主要任务是接受上层软件发来的抽象I/O请求。

操作系统概论(九)_第1张图片

你可能感兴趣的:(操作系统概论)