操作系统的设备管理
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
位流,控制器把串行的位流组装为字节,存入 控制器内部的数据缓冲区中,形成以字节为单 位的块。对块验证后,复制到主存。
7共43页
内存映射I/O
单独的I/O和内存空间
IN R0, 4 MOV R0, 4 前者读取I/O端口4的 内容并将其存入R0, 后者读取内存字4的内 容并将其存入R0。
两个地址空间
主存地址寄存器MAR
传送字节个数计数器DC
数据总线 地址总线 控制总线
DMA控制器
16共43页
DMA工作过程:
每当磁盘把一块数 据读入控制器的数 据缓冲区时,检验 校验和。DMA控 制器取代CPU,接 管地址总线的控制Biblioteka Baidu权,直接控制与主 存的数据交换。使 CPU访问总线时速 度会变慢。
设置MAR和DC初值
14共43页
DMA方式 整块数据的传输是在控制器的控制下完成 的。仅在开始和结束时才需CPU干预。
向磁盘O控制器 发读块命令 读DMA控制器 的状态
下条指令
CPUDMA CPU做其它事 中断 DMACPU
15共43页
控制器独立地进行DMA传送
数据缓冲寄存器 主存 CPU 控制/状态寄存器 数据缓冲存储区 磁 盘
18共43页
CPU
主存储器
总线
字节多路通道
终端 打印机 读卡机 控制器 控制器 控制器
数组多路通道
磁盘控制器
选择通道
磁盘控制器
磁带控制器 磁盘控制器 软盘控制器
CPU、通道和I/O设备并行工作
19共43页
通道的三种类型
1. 字节多路通道:以字节为单位传输信息,可以分 时地执行多个通道程序,一个通道程序对应一台 设备。主要用来连接大量慢速设备。 2. 选择通道:以成组方式工作,即每次传送一批数 据,故传送速度很高。在一段时间内只能执行一 个通道程序,只允许一台设备传输数据。可用于 连接高速设备,如固定头磁盘等。 3. 数组多路通道:结合了选择通道传送速度高和字 节多路通道能够分时的优点。先为一台设备执行 一条通道指令,自动转接,再为另一台设备执行 一条通道指令。可连接多台活动头磁盘机。
12共43页
2. 程序中断方式
CPU工作情况 向设备控制器 发写命令 CPU转去执行其它程序 CPU响应中断
CPU/设备 并行工作
I/O设备工作情况
设备驱动程序启动 设备工作
将控制传递给中断服务例程 中断服务例程检查 本次传输是否有错
传输有错?
无 无
设备完成数据传输 或出错,产生中断
有
传输完成?
完
11共43页
1. 程序查询方式
向I/O控制器发读命令 CPUI/O 读I/O控制器的状态 I/OCPU
未就绪
CPU忙等 串行工作
检查状态
就绪
出错
从I/O控制器中读入字节 I/OCPU
向存储器中写字节
未完
CPU内存
传送完成
是,停止设备
从外部设 备读取一 块数据到 存储器, 每次读几 个字节的 数据。
内存
I/O端口
8共43页
内存映射I/O
内存映射I/O:将所有设备控制器
寄存器映射到内存空间。每个控 制器寄存器被分配唯一的一个内 存地址。通常分配给控制器寄存 器的地址位于地址空间的顶端。 优点:对内存的操作指令都可用 于对I/O端口的操作,不需要专门 的I/O指令。I/O设备驱动程序可 以完全用C语言编写。如UNIX。 一个地址空间
重试或故 障终止
中断返回,继续执 行被中断的进程
13共43页
3. 直接存储器访问(DMA)
支持大量数据传输的块设备,其控制器 支持直接存储器存取(DMA,Direct Memory Access)。 通常,CPU控制地址总线,进行与主存 储器的数据交换。 允许DMA控制器接管地址总线的控制权, 直接控制与主存的数据交换。
内存
9共43页
内存映射I/O--混合方案
内存映射I/O的数据缓冲
区, 控制器寄存器则具有单独 的I/O端口。 Pentium处理器使用的就 是这一体系结构。
两个地址空间
内存
I/O端口
10共43页
计算机系统对I/O设备的4种控制方式
1. 2. 3. 4. 程序查询方式(轮询(polling)) 程序中断方式 直接存储器访问(DMA)方式 通道控制方式
时钟既不是块可寻址的,也不产生或接收字符
流,只是按预先规定好的时间间隔产生中断。
4共43页
6.1.2 设备控制器
I/O设备一般由机械和电子两部分组成。机械部
分是设备本身。电子部分叫做设备控制器。
设备控制器处于CPU和I/O设备之间,接收从
CPU发来的命令,控制I/O设备工作。
很多控制器可以连接两个、四个,甚至八个相同
的设备。控制器与设备之间的接口是一个标准接 口,符合国际标准。
5共43页
控制器的作用
接收OS的命令,控制设备实现指定的功能。 每个控制器有几个寄存器,用来与CPU通信,
即存放设备驱动程序向设备发送的命令和参数。
每个寄存器被分配一个端口号。处理机通过I/O
端口地址找到对应的I/O部件和设备寄存器,以 实现对设备的控制和数据传输。
2共43页
6.1 6.2 6.3 6.4
I/O硬件组成 I/O软件的组成 设备分配 磁盘管理
3共43页
6.1
6.1.1 I/O设备
I/O硬件组成
按信息交换的单位分类:
块设备:把信息存储在固定大小的块中,每个块有自 己的地址,可独立地读写。通常块的大小为512B~ 32KB。如磁盘、磁带、光盘和电子盘。 字符设备:以字符为单位发送和接收字符流。是不可 寻址的。键盘、鼠标、扫描器、打印机、绘图仪、网 络接口等。
操作系统的设备管理
1共43页
目标和功能
I/O管理是操作系统的主要功能之一,负责 管理所有I/O设备。计算机系统中存在着大 量的I/O设备,其性能和应用特点可能完全 不同,所以要建立一个通用的、一致的设 备访问接口,使用户和应用程序开发人员 能够方便地使用I/O设备,而无须关心每种 设备各自的特性。 I/O管理是管理I/O设备,控制I/O操作
6共43页
控制寄存器:被主机用来向设备发送命令。 状态寄存器:包含主机可读取的状态信息。 数据缓冲寄存器
控制器的作用
除了几个寄存器外,许多设备控制器还有一个
操作系统可以读写的数据缓冲区。如在屏幕上 显示像素的常规方法是使用一个视频RAM, 该RAM基本上只是一个数据缓冲区。
磁盘控制器:从磁盘驱动器出来的是一连串的
启动DMA传送命令
挪用CPU工作周期传送数据 主存地址增1 数据计数器减1 DC=0 ? Y 请求中断
17共43页
N
4. 通道控制方式
与DMA方式相比,通道所需的CPU干预 更少,且可以做到一个通道控制多台设备, 进一步减轻了CPU的负担。 通道是一种专用的I/O处理机。 通道有自己的指令系统,若干条通道命令 连接成通道程序。
7共43页
内存映射I/O
单独的I/O和内存空间
IN R0, 4 MOV R0, 4 前者读取I/O端口4的 内容并将其存入R0, 后者读取内存字4的内 容并将其存入R0。
两个地址空间
主存地址寄存器MAR
传送字节个数计数器DC
数据总线 地址总线 控制总线
DMA控制器
16共43页
DMA工作过程:
每当磁盘把一块数 据读入控制器的数 据缓冲区时,检验 校验和。DMA控 制器取代CPU,接 管地址总线的控制Biblioteka Baidu权,直接控制与主 存的数据交换。使 CPU访问总线时速 度会变慢。
设置MAR和DC初值
14共43页
DMA方式 整块数据的传输是在控制器的控制下完成 的。仅在开始和结束时才需CPU干预。
向磁盘O控制器 发读块命令 读DMA控制器 的状态
下条指令
CPUDMA CPU做其它事 中断 DMACPU
15共43页
控制器独立地进行DMA传送
数据缓冲寄存器 主存 CPU 控制/状态寄存器 数据缓冲存储区 磁 盘
18共43页
CPU
主存储器
总线
字节多路通道
终端 打印机 读卡机 控制器 控制器 控制器
数组多路通道
磁盘控制器
选择通道
磁盘控制器
磁带控制器 磁盘控制器 软盘控制器
CPU、通道和I/O设备并行工作
19共43页
通道的三种类型
1. 字节多路通道:以字节为单位传输信息,可以分 时地执行多个通道程序,一个通道程序对应一台 设备。主要用来连接大量慢速设备。 2. 选择通道:以成组方式工作,即每次传送一批数 据,故传送速度很高。在一段时间内只能执行一 个通道程序,只允许一台设备传输数据。可用于 连接高速设备,如固定头磁盘等。 3. 数组多路通道:结合了选择通道传送速度高和字 节多路通道能够分时的优点。先为一台设备执行 一条通道指令,自动转接,再为另一台设备执行 一条通道指令。可连接多台活动头磁盘机。
12共43页
2. 程序中断方式
CPU工作情况 向设备控制器 发写命令 CPU转去执行其它程序 CPU响应中断
CPU/设备 并行工作
I/O设备工作情况
设备驱动程序启动 设备工作
将控制传递给中断服务例程 中断服务例程检查 本次传输是否有错
传输有错?
无 无
设备完成数据传输 或出错,产生中断
有
传输完成?
完
11共43页
1. 程序查询方式
向I/O控制器发读命令 CPUI/O 读I/O控制器的状态 I/OCPU
未就绪
CPU忙等 串行工作
检查状态
就绪
出错
从I/O控制器中读入字节 I/OCPU
向存储器中写字节
未完
CPU内存
传送完成
是,停止设备
从外部设 备读取一 块数据到 存储器, 每次读几 个字节的 数据。
内存
I/O端口
8共43页
内存映射I/O
内存映射I/O:将所有设备控制器
寄存器映射到内存空间。每个控 制器寄存器被分配唯一的一个内 存地址。通常分配给控制器寄存 器的地址位于地址空间的顶端。 优点:对内存的操作指令都可用 于对I/O端口的操作,不需要专门 的I/O指令。I/O设备驱动程序可 以完全用C语言编写。如UNIX。 一个地址空间
重试或故 障终止
中断返回,继续执 行被中断的进程
13共43页
3. 直接存储器访问(DMA)
支持大量数据传输的块设备,其控制器 支持直接存储器存取(DMA,Direct Memory Access)。 通常,CPU控制地址总线,进行与主存 储器的数据交换。 允许DMA控制器接管地址总线的控制权, 直接控制与主存的数据交换。
内存
9共43页
内存映射I/O--混合方案
内存映射I/O的数据缓冲
区, 控制器寄存器则具有单独 的I/O端口。 Pentium处理器使用的就 是这一体系结构。
两个地址空间
内存
I/O端口
10共43页
计算机系统对I/O设备的4种控制方式
1. 2. 3. 4. 程序查询方式(轮询(polling)) 程序中断方式 直接存储器访问(DMA)方式 通道控制方式
时钟既不是块可寻址的,也不产生或接收字符
流,只是按预先规定好的时间间隔产生中断。
4共43页
6.1.2 设备控制器
I/O设备一般由机械和电子两部分组成。机械部
分是设备本身。电子部分叫做设备控制器。
设备控制器处于CPU和I/O设备之间,接收从
CPU发来的命令,控制I/O设备工作。
很多控制器可以连接两个、四个,甚至八个相同
的设备。控制器与设备之间的接口是一个标准接 口,符合国际标准。
5共43页
控制器的作用
接收OS的命令,控制设备实现指定的功能。 每个控制器有几个寄存器,用来与CPU通信,
即存放设备驱动程序向设备发送的命令和参数。
每个寄存器被分配一个端口号。处理机通过I/O
端口地址找到对应的I/O部件和设备寄存器,以 实现对设备的控制和数据传输。
2共43页
6.1 6.2 6.3 6.4
I/O硬件组成 I/O软件的组成 设备分配 磁盘管理
3共43页
6.1
6.1.1 I/O设备
I/O硬件组成
按信息交换的单位分类:
块设备:把信息存储在固定大小的块中,每个块有自 己的地址,可独立地读写。通常块的大小为512B~ 32KB。如磁盘、磁带、光盘和电子盘。 字符设备:以字符为单位发送和接收字符流。是不可 寻址的。键盘、鼠标、扫描器、打印机、绘图仪、网 络接口等。
操作系统的设备管理
1共43页
目标和功能
I/O管理是操作系统的主要功能之一,负责 管理所有I/O设备。计算机系统中存在着大 量的I/O设备,其性能和应用特点可能完全 不同,所以要建立一个通用的、一致的设 备访问接口,使用户和应用程序开发人员 能够方便地使用I/O设备,而无须关心每种 设备各自的特性。 I/O管理是管理I/O设备,控制I/O操作
6共43页
控制寄存器:被主机用来向设备发送命令。 状态寄存器:包含主机可读取的状态信息。 数据缓冲寄存器
控制器的作用
除了几个寄存器外,许多设备控制器还有一个
操作系统可以读写的数据缓冲区。如在屏幕上 显示像素的常规方法是使用一个视频RAM, 该RAM基本上只是一个数据缓冲区。
磁盘控制器:从磁盘驱动器出来的是一连串的
启动DMA传送命令
挪用CPU工作周期传送数据 主存地址增1 数据计数器减1 DC=0 ? Y 请求中断
17共43页
N
4. 通道控制方式
与DMA方式相比,通道所需的CPU干预 更少,且可以做到一个通道控制多台设备, 进一步减轻了CPU的负担。 通道是一种专用的I/O处理机。 通道有自己的指令系统,若干条通道命令 连接成通道程序。