计算机操作系统第五章设备管理

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
– EISA(Extended ISA),1989年,带宽: 32位,最 高传输速率:32Mbps,能连接12台设备。
• 局部总线(Local Bus)
– 将多媒体卡、高速LAN网卡、高性能图形板等从ISA总线 上卸下来,在通过局部总线控制器直接接到CPU总线上, 使之与高速CPU总线相匹配。
– VESA(Video Electronic Standard Association), 1991年,带宽:32位,最高传输速率:132Mbps,能连 接2~4台设备,控制器中无缓冲;
特点:进程进展缓慢,但不会产生死锁
– 不安全分配方式 进程在发出I/O请求后继续运行,需要时再发出 其它的I/O请求,直至申请不到I/O设备而被迫阻 塞。
特点:进程进展迅速,但可能发生死锁
方法:设备分配前,必须进行安全性检查
独占设备的分配程序
• 基本的设备分配程序
– 分配设备:按照I/O请求的物理设备名,查找 SDTDCT/设备状态字。若忙,阻塞;否则,分析安 全性,安全,则分配;否则,阻塞。
• 将抽象要求转化为具体要求 • 检查I/O请求合法性 • 读出和检查设备的状态 • 传送必要的参数 • 工作方式的设置 • 启动I/O设备
第五节 设备分配
• 设备分配中的数据结构 • 设备分配时应考虑的因素 • 独占设备的分配程序 • SPOOLing技术
设备分配中的数据结构
• 设备控制表DCT
设备控制器
CPU与控制器接口
数据线
数据寄存器
地址线 控制线
控制/状态 寄存器
控制器与设备接口
地控址制识器别 数与据设缓备冲
差错接控口制1
数据 状态 控制
…… …
I/O 逻辑
控制器 与设备 接口n
数据 状态 控制
I/O通道
• 通道的引入
– 建立独立的I/O操作,进一步减轻CPU的负 担
– I/O处理机 ,通过执行通道程序来控制I/O 操作
R
– 双缓冲无法完全解决。
• 循环缓冲的组成
G
R
– 多个缓冲区、多个指针
• 循环缓冲的使用
G
C
工作缓冲区
– GetBuf( )
G
– ReleaseBuf( )
满缓冲区
缓冲池
• 缓冲池的引入
– 把专用循环缓冲变为公用缓冲区,以提高内存利用率。
• 缓冲池的组成(每个队列配备两个指针)
– 空闲缓冲(区)队列emq、F(emq)、L(emq) – 输入缓冲(区)队列inq 、F(inq)、L(inq) – 输出缓冲(区)队列outq 、F(outq)、L(outq)
• 设备驱动程序的功能和特点 • 设备驱动程序的处理过程 • 中断处理程序的处理过程
设备驱动程序的功能和特点
• 设备驱动程序的功能
– 接收由I/O进程发来的命令和参数,转换为具体要求; – 检查用户I/O请求的合法性,了解设备状态,传递或设
置参数; – 发出I/O命令,启动设备,或挂在相应的设备队列上; – 及时响应由控制器或通道发来的中断请求; – 对于设有通道的计算机系统,根据I/O请求自动构成通
• 减少对CPU的中断频率,放宽对CPU中断 响应时间的限制
• 提高CPU与I/O设备之间的并行性
单缓冲和双缓冲
• 单缓冲
用户进程 工作区
传送
缓冲区
输入 I/O设备
• 双缓冲(生产者---消费者)
用户进程 工作区
缓冲区2 缓冲区1
I/O设备
循环缓冲(输入---计算)
• 循环缓冲的引入
空缓冲区
– 同步进程速度不一致;
– 分配控制器:再查DCTCOCT/状态字,控制器忙? 阻塞;否则,分配该控制器给进程。
– 分配通道:再查COCTCHCT/状态字,通道忙?阻塞; 否则,分配通道给进程。
以上三者分配均成功,才算设备分配成功。
• 设备分配程序的改进
原因:以物理设备名提出I/O请求,单通路的I/O 结构,容易产生“瓶颈”现象。
P
R
计数 内存地址
0
0
80
813
0
0
140
1034
0
1
60
5830
0
1
300
2000
0
0
250
1650
1
1
500
2720
通道程序实例
第三节 缓冲管理
• 缓冲的引入 • 单缓冲和双缓冲 • 循环缓冲 • 缓冲池
解决CPU和I/O设备速度不匹配的矛盾
缓冲的引入
• 缓和CPU与I/O设备间速度不匹配的矛盾
中断驱动I/O方式
• 中断I/O驱动过程
– 启动:由CPU根据进程的I/O请求发出一条I/O命令;此后 CPU继续执行其它进程,即CPU与外设并行工作。
– I/O设备完成操作后,由控制器通过控制线向CPU发送一 中断信号,由CPU检查I/O操作是否正确,……
• 中断驱动方式带来的优缺点
– 管理灵活、简单,系统效率高(CPU、I/O设备)。 – 设备与CPU(内存)之间的数据交换仍以字(节)为单
将CPU从繁忙的I/O操作中解脱出来
程序I/O方式
• 忙——等待方式
– CPU向控制器发指令,启动I/O设备,同时把状 态寄存器中的状态标志置1,busy=1;
– 然后不断地循环检测状态标志。
• 如果busy=1,说明I/O设备忙,CPU再进行下一轮 检测;
• 如果busy=0,说明I/O操作结束,CPU执行下一条 指令。
• DMA控制器的组成
– 命令/状态寄存器CR – 内存地址寄存器MAR – 数据寄存器DR – 数据计数器DC
• DMA工作过程(以磁盘数据读入为例)
– CPU向磁盘控制器发送一条读命令到CR中,目 标起始地址到MAR中,数据字节数到DC中,磁 盘中的源地址到控制器的控制逻辑上;
– 启动DMA控制器进行数据传送(窃用总线周期), 此后,CPU可以执行其它任务;
• 设备独立性软件 • 设备驱动程序
一 设备独立性
• 设备独立性的概念(设备无关性)
– 应用程序独立于具体使用的物理设备。 – 带来的好处
• 设备分配时的灵活性 • 易于实现I/O重定向:可以更换I/O操作的设备而不改程序。
• 设备独立性软件
– 位于驱动程序之上,驱动程序与设备有关。 – 主要功能:
第五章 设备管理
• 第一节 • 第二节 • 第三节 • 第四节 • 第五节 • 第六节
输入输出系统 输入输出控制方式 缓冲管理 设备分配 设备处理 磁盘存储管理
第一节 输入输出系统
• I/O设备 • 设备控制器 • I/O通道 • 总线系统
I/O设备
• I/O设备的类型
– 按传输速率分类:低速、中速、高速设备 – 按信息交换单位分类:块、字符设备 – 按设备的共享属性:独占、共享、虚拟设备
总线系统
• 系统总线
– 连接CPU、存储器、I/O设备(接口)等的纽带; – 总线的性能评价:时钟频率、带宽、传输速率。
• ISA和EISA总线
– ISA(Industry Standard Architecture),1984年, 带宽:8位 16位,最高传输速率:2~16Mbps,能 连接12台设备。
– 与一般处理的区别 1)指令类型单一,主要局限于与I/O操作 相关的指令
2)通道程序放在内存,即与CPU共享内 存空间。
• 通道的类型Βιβλιοθήκη – 字节多路通道:多路分时复用 一个主通道,多个子通道,子通道按时间片轮转 法使用主通道,信息按字节传输
– 数组选择通道: 只有一个子通道,由某台设备独占, 数据成组(块)传送;
• I/O通道控制方式的引入
– 进一步减少CPU对I/O操作的干预; – 以多个数据块为单位进行数据传送; – 一次传送多组数据到多个不同的内存区域。
• 通道程序
– 由一系列通道指令(通道命令)构成; – 每条指令都包含:
• 操作码、内存地址、计数、通道程序结束位P、记录结束标志 R
操作 Write Write Write Write Write Write
• 缓冲区的四种工作方式
– 收容输入:收容输入设备的输入数据 – 提取输入:计算进程提取缓冲区中的数据使用 – 收容输出:计算进程输出结果数据到缓冲区 – 提取输出:输出设备提取缓冲区中的数据
输入设备
收容输入 提取输出
输出设备
缓冲池
hin
sin
提取输入 用

sout
hout
收容输出
程 序
第四节 I/O软件
– LUT的设置问题
• 整个系统一张LUT,逻辑设备名要具有唯一性。 • 为每个用户设置一张LUT,并将该表放入PCB中;与
系统设备表联合作用。
二 设备处理(驱动)
接收上层软件发来的抽象要求,比如:Read、Write 等命令,再把它们转化为具体要求发送给设备控制器,启 动设备执行;同时,还负责把设备控制器发来的信号传送 给上层软件。
– 数组多路通道:<上述两种技术的结合> 多个子通道,按数组方式传送数据 具有较高的数据 传输速率和通道利用率
• “瓶颈”问题
– 通道资源有限,系统需要同时启动的设 备可能较多;
– 解决方法:增加设备到主机间的通路。
I/O通道
CPU 存储器
通道1 通道2
控制器1 控制器2
I/O设备1 I/O设备2 I/O设备3 I/O设备4
• 控制器控制表COCT
– 表项字段:控制器标识符、控制器状态、与控制器 相连的通道表指针、控制器队列的队首指针、控制 器队列的队尾指针。
• 通道控制表CHCT
– 表项字段:通道标识符、通道状态、与通道连接的 控制器表首址、通道队列的队首指针、通道队列的 队尾指针。
• 系统设备表SDT
– 记录系统中全部设备的状况;
道程序。
• 设备驱动程序的特点
– 是指在请求I/O的进程与设备控制器之间的一 个通信和转换程序。
– 与设备控制器和I/O设备的硬件特性紧密相关, 因而对不同类型的设备应配置不同的驱动程 序。
– 与I/O设备所采用的I/O控制方式紧密相关。 – 其中一部分必须用汇编语言书写。
设备驱动程序的处理过程
• 设备与控制器之间的接口
– 接口芯片、接口(电路)板(卡) – 信号线:数据、控制、状态信号线
设备控制器
• 基本功能
– 接收和识别来自CPU的各种命令 – 实现CPU与设备控制器、设备控制器与设备之
间的数据交换 – 记录设备的状态供CPU查询 – 识别所控制的各个设备的地址
• 组成
– 设备控制器与处理机的接口 – 设备控制器与设备的接口 – I/O逻辑
– DMA控制器按照命令每传送一个字节,修改并检 查DC和MAR中的数值(分别做-1和+1操作);
– 若DC中的值不为0,则继续传送下一个字节;为 0,则发出一个中断请求。
DMA与中断控制方式的区别
• 中断控制方式在每个数据传送完后都发中 断
• DMA是在所要求传送的一批数据都传送完 后才发中断
I/O通道控制方式
位。
DMA控制方式
• DMA(Direct Memory Access)引入
– 在外围设备和内存之间开辟直接的数据交换通路。在 该种控制方式中,设备控制器具有更强的功能,在它 的控制下,设备和内存之间可以成批地进行数据交换, 不用CPU的干预。减轻了CPU的负担,同时数据传输 以块为单位,提高了数据传送速度。
• 执行所有设备的公有操作:分配与回收、逻辑名到物理设备的 映射、设备的保护、缓冲管理、差错控制等
• 向用户层(或文件层)软件提供统一接口
• 逻辑设备名到物理设备名映射的实现
– 逻辑设备表(Logical Unit Table)
• 用于将应用程序所使用的逻辑设备名映射为物理设备 名。
• 表项:逻辑设备名、物理设备名、设备驱动程序入口 地址等
– PCI(Peripheral Component Interface),1992年和 1995年,V2.1支持带宽:64位,最高传输速率: 500Mbps,能支持10种外设,有一个复杂的管理层,管 理层中配有数据缓冲。
第二节 输入输出控制方式
• 程序I/O方式 • 中断驱动I/O方式 • DMA控制方式 • I/O通道控制方式
– 表项字段:设备类型、设备标识符、设备控制表、 设备驱动程序的入口地址等。
设备分配时应考虑的因素
• 设备的固有属性
– 独占设备 – 共享设备 – 虚拟设备
• 设备分配算法
– 先来先服务 – 按优先级
• 设备分配中的安全性
– 安全分配方式 进程发出I/O请求并得到响应后,就进入阻塞状 态,一直等待I/O完成。
– 一台设备配置一张设备控制表,用于记录设备状态; – 包含的字段:
• 设备类型 type • 设备标识符 device id • 设备状态:设备或与其相连的控制器/通道忙,状态为“1”; • 设备队列队首指针:指向等待此设备的阻塞进程队列; • 与设备连接的控制器的控制表指针:多条通路则对应多个指针; • 重复执行次数或时间:允许通信重试的次数或延迟时间。
相关文档
最新文档