操作系统东南大学滕至阳chapter(2)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Entry poit table Address of interrupt subsystem module for handing interruputs for this type of device; Address of the service routine for reading the device ; Address of the service routine for writing the device; Address of the service routine for rewinding the device; Address of the service routine for non-standard operations;
13
第七章 设备管理
7.4.2 输入输出的数据结构
14
I/O
-
系统控制块 SCB
当前 PCB PCB 就绪队列 PCB 等待 I/O 表
┇ 设备控制块 设备控制块个数 自由空间块
图
7
设备控制块 DCB
5
设备地址
设备特性
支
设备状态
持
输入/输出块队列
服务例程入口点 1,
2,…
的
数
据
中断事件或设备标识符 ┇
Device address
3
Device characteristics
Serial access
Non sharaБайду номын сангаасle
Indirect I/O controller
Block size of 80 bytes
┇
Device status
Read/busy/failed
IOB queue
17
Null or pointer to last node of a circular queue of pending I/O operations
第七章 设备管理
7.1 基本功能
◆与进程管理的接口
应提供读/写等接口命令,并把进程的要 求转达给设备驱动机构
◆设备分配
必须按照一定的算法把一个I/O设备分配 给对该类设备提出请求的进程,若该进 程未分配到所请求的设备,则进入等待 队列
1
第七章 设备管理
7.1 基本功能
◆并行操作
通道与通道之间,通道与CPU之间的并行操作
被中断的 PSW ┇
中断处理入口新 PSW ┇
新 PSW 及处理入口 ┇
中断处理程序 …
入口 1,2,…
服务例程 入口
1,2,…
程序代码,状
主
… 态数据,I/O … 存
缓冲等
15
第七章 设备管理
7.4.2 输入输出的数据结构 ◆设备控制块(DCB) ◆输入输出块(IOB) ◆中断向量
16
下面是某输入输出设备DCB:
技术
◆在MS-DOS中128KB显示主存就
是memory-mapped I/O 技术的一 个很好的例子
6
第七章 设备管理
7.3 间接输入/输出
总
线
控制寄存器 i
主
状态寄存器 i
存
设备控制器 地址寄存器 i ……
长度计数器 i
数据寄存器 i
设备 i
……
图7-2 间接输入输出的体系结构
CPU
7
第七章 设备管理
调度次序改为:4, 7, 3, 6, 12, 9, 1, 11, 5, 10, 2, 8,磁头移动的 总距离为700柱面
21
第七章 设备管理
7.4.4 IOB队列调度
◆扫描算法(Scan)
因其磁头的移动与电梯升降道理相似,故也称 电梯算法
◆循环扫描法C-scan(Circular scan)
◆ N-scan(New scan)算法
CPU
3
第七章 设备管理
7.2 直接输入/输出
◆ 4条供直接输入输出的指令 :
① SIO device,register ② TIO device ③ IN device, register ④ OUT device, register
4
5
第七章 设备管理
7.2 直接输入/输出
◆存储器映射(memory-mapped)I/O
主存
CPU从主存读取控制信息 (粗黑线)
设备控制器
I/O设备
主存
CPU把控制信息送设备控制器
设备控制器
I/O设备
主存 设备控制器
I/O设备
CPU执行其它命令,同时,设备 控制器从主存读数据
(粗黑线)
图7-3 间接输出的并行工作情况
10
4 CPU 5 CPU 6 CPU
主存
CPU执行其它命令,同时, 设备控制器把数据送I/O设备
(粗黑线)
设备控制器
I/O设备
主存
重复3
设备控制器 主存
I/O设备 重复4
设备控制器
I/O设备
图7-3 间接输出的并行工作情况
11
么么么么方面
• Sds绝对是假的
第七章 设备管理
7.4 中断控制下的输入输出 7.4.1 设备状态及其变换
闲置
加电
就绪
SIO
忙
去电
中断
中断
中断
修复 失败
图7-4 设备状态图
22
第七章 设备管理
7.5 通道环境下的输入输出
23
18
第七章 设备管理
7.4.3 输入输出过程的实现算法
19
当前进程 ┇
系统调用输入输出指令 ┇
中断向量表
SC_IH
进程调度
I/O 设备 设备控制器
I/O 中断 中断向量表
IO_IH
GET_MEMORY
SCB
SCB
FREE_MEMORY
DCB
DCB
WAIT_IO
IOB 队列
IOB 队列
INITIATE_IO
◆ I/O控制
要构造相应的通道程序,启动通道,对通道发来的 中断请求及时响应和处理
◆缓冲区管理
2
第七章 设备管理
7.2 直接输入/输出
◆由用户程序直接控制CPU与外围设备之间的
数据传送称为直接输入/输出
总
线
控制寄存器 i
主
设备控制器 状态寄存器 i …… 存
数据寄存器 i
设备 i
……
图7-1 直接输入输出的体系结构
结
I/O 设备地址
构
┇
输入/输出块 IOB
下一输入/输出块
对应的 PCB
进程活动标记
1
状态信息存放地址
I/O 操作代码
缓冲区地址
缓冲区长度
其他特性
进程控制块 PCB
下一 PCB
1
进程名
┇
被中断的 PSW
中断寄存器
主存基址
主存长度
进程外存地址
┇
自由空间块 FSB
下一块 本块长度
中断向量表
旧 PSW 等保存地址 ┇
7.3 间接输入/输出 ◆对于间接输入/输出,系统只需提供2条指令:
① TIO device ② SIO device registers
CPU继续做它的事情
8
第七章 设备管理
7.3 间接输入/输出
◆控制寄存器直接从主存存取(Direct Memory Access)
数据,需要挪用CPU的周期
9
1 CPU 2 CPU 3 CPU
DEVICE_IH
图7-6 模块及数据结构之间的关系
20
第七章 设备管理
7.4.4 IOB队列调度
◆ FIFO
请求次序:1 2 3 4 5 6 7 8 9 10 11 12 磁盘柱面:19 376 205 134 18 56 192 396 29 3 19 40 磁头移动的总距离为1604柱面
◆最短寻找时间优先SSTF(Shortest Seek Time First)
13
第七章 设备管理
7.4.2 输入输出的数据结构
14
I/O
-
系统控制块 SCB
当前 PCB PCB 就绪队列 PCB 等待 I/O 表
┇ 设备控制块 设备控制块个数 自由空间块
图
7
设备控制块 DCB
5
设备地址
设备特性
支
设备状态
持
输入/输出块队列
服务例程入口点 1,
2,…
的
数
据
中断事件或设备标识符 ┇
Device address
3
Device characteristics
Serial access
Non sharaБайду номын сангаасle
Indirect I/O controller
Block size of 80 bytes
┇
Device status
Read/busy/failed
IOB queue
17
Null or pointer to last node of a circular queue of pending I/O operations
第七章 设备管理
7.1 基本功能
◆与进程管理的接口
应提供读/写等接口命令,并把进程的要 求转达给设备驱动机构
◆设备分配
必须按照一定的算法把一个I/O设备分配 给对该类设备提出请求的进程,若该进 程未分配到所请求的设备,则进入等待 队列
1
第七章 设备管理
7.1 基本功能
◆并行操作
通道与通道之间,通道与CPU之间的并行操作
被中断的 PSW ┇
中断处理入口新 PSW ┇
新 PSW 及处理入口 ┇
中断处理程序 …
入口 1,2,…
服务例程 入口
1,2,…
程序代码,状
主
… 态数据,I/O … 存
缓冲等
15
第七章 设备管理
7.4.2 输入输出的数据结构 ◆设备控制块(DCB) ◆输入输出块(IOB) ◆中断向量
16
下面是某输入输出设备DCB:
技术
◆在MS-DOS中128KB显示主存就
是memory-mapped I/O 技术的一 个很好的例子
6
第七章 设备管理
7.3 间接输入/输出
总
线
控制寄存器 i
主
状态寄存器 i
存
设备控制器 地址寄存器 i ……
长度计数器 i
数据寄存器 i
设备 i
……
图7-2 间接输入输出的体系结构
CPU
7
第七章 设备管理
调度次序改为:4, 7, 3, 6, 12, 9, 1, 11, 5, 10, 2, 8,磁头移动的 总距离为700柱面
21
第七章 设备管理
7.4.4 IOB队列调度
◆扫描算法(Scan)
因其磁头的移动与电梯升降道理相似,故也称 电梯算法
◆循环扫描法C-scan(Circular scan)
◆ N-scan(New scan)算法
CPU
3
第七章 设备管理
7.2 直接输入/输出
◆ 4条供直接输入输出的指令 :
① SIO device,register ② TIO device ③ IN device, register ④ OUT device, register
4
5
第七章 设备管理
7.2 直接输入/输出
◆存储器映射(memory-mapped)I/O
主存
CPU从主存读取控制信息 (粗黑线)
设备控制器
I/O设备
主存
CPU把控制信息送设备控制器
设备控制器
I/O设备
主存 设备控制器
I/O设备
CPU执行其它命令,同时,设备 控制器从主存读数据
(粗黑线)
图7-3 间接输出的并行工作情况
10
4 CPU 5 CPU 6 CPU
主存
CPU执行其它命令,同时, 设备控制器把数据送I/O设备
(粗黑线)
设备控制器
I/O设备
主存
重复3
设备控制器 主存
I/O设备 重复4
设备控制器
I/O设备
图7-3 间接输出的并行工作情况
11
么么么么方面
• Sds绝对是假的
第七章 设备管理
7.4 中断控制下的输入输出 7.4.1 设备状态及其变换
闲置
加电
就绪
SIO
忙
去电
中断
中断
中断
修复 失败
图7-4 设备状态图
22
第七章 设备管理
7.5 通道环境下的输入输出
23
18
第七章 设备管理
7.4.3 输入输出过程的实现算法
19
当前进程 ┇
系统调用输入输出指令 ┇
中断向量表
SC_IH
进程调度
I/O 设备 设备控制器
I/O 中断 中断向量表
IO_IH
GET_MEMORY
SCB
SCB
FREE_MEMORY
DCB
DCB
WAIT_IO
IOB 队列
IOB 队列
INITIATE_IO
◆ I/O控制
要构造相应的通道程序,启动通道,对通道发来的 中断请求及时响应和处理
◆缓冲区管理
2
第七章 设备管理
7.2 直接输入/输出
◆由用户程序直接控制CPU与外围设备之间的
数据传送称为直接输入/输出
总
线
控制寄存器 i
主
设备控制器 状态寄存器 i …… 存
数据寄存器 i
设备 i
……
图7-1 直接输入输出的体系结构
结
I/O 设备地址
构
┇
输入/输出块 IOB
下一输入/输出块
对应的 PCB
进程活动标记
1
状态信息存放地址
I/O 操作代码
缓冲区地址
缓冲区长度
其他特性
进程控制块 PCB
下一 PCB
1
进程名
┇
被中断的 PSW
中断寄存器
主存基址
主存长度
进程外存地址
┇
自由空间块 FSB
下一块 本块长度
中断向量表
旧 PSW 等保存地址 ┇
7.3 间接输入/输出 ◆对于间接输入/输出,系统只需提供2条指令:
① TIO device ② SIO device registers
CPU继续做它的事情
8
第七章 设备管理
7.3 间接输入/输出
◆控制寄存器直接从主存存取(Direct Memory Access)
数据,需要挪用CPU的周期
9
1 CPU 2 CPU 3 CPU
DEVICE_IH
图7-6 模块及数据结构之间的关系
20
第七章 设备管理
7.4.4 IOB队列调度
◆ FIFO
请求次序:1 2 3 4 5 6 7 8 9 10 11 12 磁盘柱面:19 376 205 134 18 56 192 396 29 3 19 40 磁头移动的总距离为1604柱面
◆最短寻找时间优先SSTF(Shortest Seek Time First)