第4章_IO设备管理课件.

合集下载

第四章 设备与IO管理

第四章 设备与IO管理
容减1。若减1后DC内容不为0,表示传送未完,便继续传送下 一个字(节);否则,由DMA控制器发出中断请求。图5-9是
DMA方式的工作流程。
DMA传输
4.4 提高设备管理性能的相关技术
缓冲技术 SPOOLing技术 设备独立性。
4.4.1 缓冲技术 为了缓和CPU与I/O设备速度不匹配的矛盾,提高 CPU和I/O设备的并行性,在现代操作系统中,几 乎所有的I/O设备在与处理机交换数据时,都用了 缓冲区,缓冲管理的主要职责是组织好这些缓冲区, 并提供获得和释放缓冲区的手段.
中断类型: ‫ ٭‬外部中断事件
▪ 计算机故障中断 ▪ 输入输出中断事件
‫ ٭‬内部中断事件
▪ 程序性中断事件 ▪ 系统调用中断
中断响应 ‫ ٭‬处理器每执行完一条指令后,硬件的中断装置(IRL,中 断请求线)立即检查有无中断事件发生,若有中断事件 发生,则暂停现行进程的执行,而让操作系统的中断处 理程序占用处理器。中断处理程序判断中断原因,进行 必要处理,执行从中断返回指令以便使cpu返回中断前执 行状态。
第四章 设备与I/O管理 设备管理是指:计算机系统中除了CPU和内存以外的
所有输入、输出设备的管理。
除了进行实际I/O操作的设备外,也包括了诸如设
备控制器,DMA控制器,中断控制器,通道等支持
设备。
设备管理是操作系统的重要而又基本的组成部分,
特别是在一个多用户、配备有种类繁多的输入输出
设备的计算机系统中,更需要对这些设备进行统一
4.3.2 设备的I/O控制方式 ‫ ٭‬查询I/O方式 ‫ ٭‬中断I/O方式 ‫ ٭‬DMA控制方式
1、查询I/O方式 ‫ ٭‬忙——等待方式
‫ ٭‬CPU向控制器发指令,启动I/O设备,同时把状态 寄存器中的状态标志置1,busy=1; ‫ ٭‬然后不断地循环检测状态标志。

第4章IO设备管理

第4章IO设备管理

此外,许多控制器还有一个数据缓冲区供OS读写。
进程管理
如何让I/O第4设章IO备设备工管作理 ?
问题: CPU如何与设备控制器进行通信?这
不是普通的内存访问!
方法有三种: ➢ I/O独立编址; ➢ 内存映像编址; ➢ 混合编址。
进程管理
第4章IO设备管理
1. I/O独立编址
基本思路:给控制器中的每一个寄存器分配一个唯 一的I/O端口(I/O port)编号,称为I/O端口地址, 然后用专门的I/O指令对端口进行操作;
端口地址空间与内存的地址空间统一编址,前者是 后者的一部分,一般位于后者的顶端部分。
进程管理
第4章IO设备管理
编程方便,无需专门的I/O指令(C vs. 汇编); 不能对控制寄存器的内容进行Cache,须关闭; 每一次都要判断访问的是内存还是I/O。
进程管理
第4章IO设备管理
3. 混合编址
第4章IO设备管理
到目前为止,已经介绍了I/O设备的类型、 设备的控制器、I/O的端口地址。现在的 问题是:根据已有的这些知识,现在能否 开始编程使用这些I/O设备,完成相应的输 入输出功能呢?
进程管理
第4章IO设备管理
4.2 I/O控制方式
程序循环检测方式(Programmed I/O) 中断驱动方式(Interrupt-driven I/O) 直接内存访问方式(DMA, Direct Memory Access)
这些端口地址所构成的 地址空间是完全独立的, 与内存的地址空间没有 关系。例如: IN R0 [4] 表示读入I/O 端口地址为4的内容; MOV R0 [4] 表示读入 内存地址为4的内容;
进程管理
第4章IO设备管理
Linux0.11/boot/setup.s

第4讲 IO设备管理和文件管理

第4讲 IO设备管理和文件管理

17
4.2.3 与设备无关的I/O软件
大部分I/O软件是与设备无关的,设备驱动程序与
设备独立软件之间的确切界限依赖于具体系统,因为
对于一些本来应按照设备独立方式实现的功能,出于
效率和其他原因,实际上还是由设备驱动来实现的。 与设备无关软件层通常应实现的功能为: 设备驱动程序的统一接口、设备命名、提供一个
– 错误条件。
5
字符设备和块设备 – 字符设备:以字符流或字节流为单位
组织和处理信息的设备。属于无结构
设备
– 块设备:以数据块为单位组织和处理
信息的设备。是一种有结构设备。
6
4.1.2 设备控制器
I/O设备一般由两部分组成:
– 电子部分:设备控制器或适配器。 – 机械部分:设备本身,控制器通过电
43
2. 文件目录结构
• 目录文件是由若干个文件目录组成。
• 文件目录结构是指目录文件的组织形式。 常用的目录结构有单级目录,二级目录和 多级目录。
44
(1) 单级目录 文件系统在每个存储设备上仅建立一个目录 文件的目录结构,称为单级目录。 目录文件中的每一目录项(或称一条记录)对 应一个文件目录,它包含相对的数据项(文件名 及扩展名、物理地址、说明信息),如图所示。
33
2. 文件系统的主要功能 • 实现按文件名存取文件信息,完成从文件名到 文件存储物理地址映射。 • 文件存储空间的分配与回收。 • 对文件及文件目录的管理。 • 提供(创建)操作系统与用户的接口。常见的接
口有:
– 菜单式接口。 – 程序接口。
• 提供有关文件自身的服务。
34
8.2 文件的结构及存取方式
为了便于管理,包括DOS、WINDOWS、

《IO设备管理》课件

《IO设备管理》课件

IO设备的分类
输入设备
介绍各种常见的输入设备, 如键盘、鼠标和触摸屏等, 并讨论它们的特点和用途。
输出设备
探讨输出设备的种类,如显 示器、打印机和音频设备, 以及它们在数据传输和展示 中的不同作用。
存储设备
介绍不同类型的存储设备, 如硬盘、固态硬盘和光盘, 并讨论它们的特点和应用场 景。
IO设备的作用
在本节中,我们将探讨IO设备在计算机系统中的重要作用,包括数据输入输 出、信息传递和系统功能的扩展。
ห้องสมุดไป่ตู้
IO设备的管理
1
IO设备的操作方法
介绍IO设备的操作方法,包括直接IO和程序控制IO,以及它们在不同场景下的运用。
2
IO设备的资源分配
探讨如何对IO设备进行资源分配和调度,以提高系统的整体性能和效率。
介绍各种常见的IO设备缓存技术, 如硬盘缓存、网络缓存和内存缓 存等。
总结与展望
在本节中,我们将回顾所学内容,并展望IO设备管理领域的未来发展趋势, 以及它对计算机系统性能和用户体验的重要性。
3
IO设备的中断处理
讨论IO设备的中断处理机制,包括中断请求的产生、中断处理程序的执行和中断向量的管理。
IO设备的优化
IO设备的性能优化
介绍如何通过优化IO设备的传输 速度和数据处理能力,提升系统 的整体性能。
IO设备的并发控制
IO设备的缓存技术
探讨如何实现IO设备的并发控制, 以充分利用计算机系统的资源并 提高系统的吞吐量。
《IO设备管理》PPT课件
欢迎来到《IO设备管理》的课程介绍!在本课程中,我们将深入了解IO设备 的概念、分类以及作用。接下来,我们还将学习IO设备的管理、优化和总结 展望。让我们一起探索这个令人兴奋的领域吧!

第四章-设备管理-

第四章-设备管理-
28
设备驱动程序
设备驱动程序一般由设备制造商提供,不包含在操 作系统中。
但是,为了方便用户,操作系统软件包中通常会集 成提供标准的、通用的或者流行的、常用设备厂商 的设备驱动程序供用户选择。
从系统分层的观点来讲,设备驱动程序可以是操作 系统的一部分,也可以被认为是硬件设备的一部分。
29
I/O控制方式
I/O设备
I/O设备
I/O设备
20
通道型I/O系统的结构
处理机 系统总线
内存
I/O通道
I/O通道
I/O通道
I/O设备 I/O设备 I/O设备 I/O设备 I/O设备 I/O设备
21
具有控制器的I/O系统结构
传统的设备 = 机械部分 + 电子部分 电子部分在系统的控制下驱动机械部分运转,完成
I/O操作。 由于设备中电子部分比机械部分的速度快得多。为
11
设备驱动
设备驱动程序与硬件密切相关,应为每一类设备配 置一种驱动程序。
设备驱动程序一般由设备开发厂商根据操作系统的 要求组织编写,操作系统仅对与设备驱动的接口提 出要求,一般不负责具体设备驱动程序的编写。
有时候,某些硬件无法在某种操作系统中使用,原 因很可能就是没有专门的或通用的设备驱动程序, 或者设备驱动程序设计有问题,使得设备无法正常 工作。
—程序I/O方式
在早期的计算机系统中,由于没有中断装置, 处理机对于I/O设备的控制采取程序I/O方 式
也称忙等待方式或循环测试方式。 对于读操作,这种方式的基本工作过程为:
30
①处理机向设备(或设备控制器)发出一条I/O指令 启动设备、输入数据,同时将状态寄存器中的 “忙”标志置为1。
②处理机不断地循环测试忙标志,直到忙标志变为0; ③处理机通过I/O读指令将数据从数据寄存器中取

第四章 设备管理

第四章 设备管理
动态地掌握并记录设备的状态 设备分配和释放 缓冲区管理 实现物理I/O设备的操作
4.2.1 设备的使用与管理
设备相关系统调用:
申请设备:该系统调用中有参数说明了要申请 的设备名称,操作系统处理该系统调用时,会 按照设备特性(是独占还是分时共享式使用) 及设备的占用情况来分配设备,返回申请是否 成功标志。
3. 硬件连接结构
系统总线
处理器
通道处 理器
内存
I/O 总 线
I/O 控制器
I/O 控制器
I/O 控制器
I/O 控制器ຫໍສະໝຸດ 4.1.4 I/O通道4. 通道工作原理
通道相当于一个功能简单的处理机, 包含通道指令(空操作,读操作,写操 作,控制,转移操作),并可执行用这 些指令编写的通道程序
1) 通道运算控制部件
4.1.4 I/O通道
5. 通道与CPU的关系 主从关系 可并行工作 有通信方式 作用不同(通道--I/O;
CPU--计算)
4.1.4 I/O通道
通道传送与中断传送的区别:
中断控制传送由中断控制器发出中断信息,中止 CPU现行程序,转去执行中断服务程序。通道方 式则是通过执行通道程序来实现。
每个设备一个 每个控制器一个 每个通道一个 整个系统一个
数据结构(续)
1) 系统设备表SDT
整个系统一张表,记录系统中所 有I/O设备的信息,表目包括: 设备类型、设备标识符、进程标识符、 DCT表指针等。
数据结构(续)
2) 设备控制表DCT
主要内容:设备类型、设备标识符、设备 状态、与此设备相连的COCT、重复执行的 次数或时间、等待队列的队首和队尾指针、 I/O程序地址 3)控制器控制表COCT 4)通道控制表CHCT COCT和CHCT与DCT类似

操作系统课件——设备管理

操作系统课件——设备管理
09:38 15
Байду номын сангаас
中断源与中断分类 引起中断发生的事件称为中断源。 通常中断源是由硬件产生的信号,目的是通知CPU某个需要处理 的事件。如,当敲打键盘时,键盘控制器就会产生一个键盘中断源 信号。 在计算机系统中有很多种类的中断源。 由设备数据传输过程中发生的中断属于I/O中断,是中断源 中的一大类。 其他中断源有周期性的时钟中断、电源掉电产生的中断等。 此外,一些来自CPU内部的事件或程序执行中的异常事件(如 CPU故障、除数为0、内存溢出、执行了陷入指令等)也会被 作为中断对待和处理。这类由内部故障或程序故障引起的中 断事件称为“异常”(exception)。
09:38
13
2 设备管理的任务
缓冲管理 设备分配 设备驱动:实现CPU与设备控制器间的通信 虚拟设备:通过虚拟技术,将一台物理设备映射为多 个逻辑设备 设备独立性:设备无关性,应用程序独立于具体使用 的物理设备
09:38
14
3 中断技术
在计算机运行期间,当系统内部或外部发生了某个 异步事件需要CPU处理时,CPU将暂时中止当前正在执行 的程序,而转去执行相应的事件处理程序,待处理完毕 后又返回原来被中断处,继续执行或者调度新的进程执 行,这个过程就称为“中断”(interrupt)。 异步事件是指与系统运行没有时序关系的、不可预 期的事件,如用户按下键盘按键、磁盘传输数据完成、 系统硬件出现故障等都是异步产生的事件。 中断技术最早应用在I/O传输过程中,它使外部设备 和CPU的并行工作成为可能。而后中断技术扩大到设备之 外的其他事件。现在,凡是需要CPU干涉或处理的异步事 件都采用中断的手段进行处理。
物理设备:以某种物理方式(机械、电磁、光电、压 电等)运作,实际执行数据I/O操作的物理装置。

设备管理培训课件(PPT 155页)

设备管理培训课件(PPT 155页)
; 5、在以后的某个时期,该程序被调度到后,继续运行。
* 32
*
图5-7 中断驱动方式的流程
33
中断控制方式的特点 ➢中断控制方式比程序直接控制方式提高了CPU的 利用率。 ➢每输入输出一个数据都发生中断,传输一次数据 需要多次中断,浪费了CPU的处理时间。 ➢I/O以字节为单位 ➢CPU与I/O设备并行操作。
* 13
5.1.3 I/O通道
1.I/O通道(I/O Channel)设备的引入 ➢ 是一种特殊处理机,专门负责输入/输出工作 ➢ 有自己简单的指令系统,只有数据传送指令和设备控制 指令 ➢ 主要目的是为了建立独立的I/O操作,使有关对I/O操作 的组织、管理及其结束处理也独立于CPU ➢ CPU向I/O通道发送I/O命令,由通道执行程序 ➢ 通道与一般处理机的区别 ✓指令类型单一,局限于与I/O操作有关命令。 ✓没有独立的内存,通道与CPU共享内存。
➢低速设备
✓每秒几个字节至数百字节
✓键盘、鼠标、语音输入输出设备等
➢中速设备
✓每秒数千至数万字节
✓行式打印机、激光打印机等
➢高速设备
✓每秒数百K至数十M字节
*
✓磁盘机、磁带机、光盘机等
4
• (2)按信息交换的单位分类
➢块设备(Block Device)
✓信息的存取总是以数据块为单位
✓基本特征是其传输速率较高,通常每秒钟为几兆位
(3)数据寄存器DR。用于暂存从设备到内存,或从内存 到设备的数据。
(4)数据计数器DC。存放本次CPU要读或写的字(节)数
。*
38
直接存储器存取控制方式的步骤 ①当进程要求设备输入一批数据时,CPU将设备存放输 入数据的内存始址以及要传送的字节数分别送入DMA 控制器中的地址寄存器和传送字节计数器;另外,还 要将中断位和启动位置为1,以启动设备开始进行数 据输入并允许中断。 ②发出数据要求的进程进入等待状态,进程调度程序调 度其他进程占据CPU。 ③输入设备不断地挪用CPU工作周期,将数据寄存器中 的数据源源不断地写入内存,直到所要求的字节全部 传送完毕。 ④DMA控制器在传送字节数完成时,通过中断请求线发 出中断信号,CPU收到中断信号后转中断处理程序,唤 醒等待输入完成的进程,并返回被中断的程序。 ⑤在以后的某个时刻,进程调度程序选中提出请求输入 的进程,该进程从指定的内存始址取出数据做进一步 处理。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
进程管理 12
Linux0.11/boot/setup.s
mov al,#0x11 out #0x20,al mov al,#0x20 out #0x21,al mov al,#0x28 out #0xA1,al …… in al,#0x64
! initialization sequence ! send it to 8259A-1 ! start of hardware int's(0x20) ! start of hardware int's(0x28)
22
程序循环检测方式
– 适配器的形式通常是印刷电路卡,可以 插入到主板的扩充槽中;控制器的形式 是一组芯片; – 完成设备与主机间的连接和通讯。
进程管理
9
4.1.3 I/O地址
控 制 逻 辑 电 路 控制寄存器 状态寄存器 数据寄存器
CPU
外 部 设 备
每个设备控制器都有一些寄存器用来与CPU通信。通 过往这些寄存器中写入不同的值,OS能命令该设备去 执行发送数据、接收数据、打开、关闭等操作;OS也 能通过读取这些寄存器的值来了解设备的当前状态。 此外,许多控制器还有一个数据缓冲区供OS读写。
进程管理
如何让I/O设备工作?
10
问题: CPU如何与设备控制器进行通信?这 不是普通的内存访问!
方法有三种: I/O独立编址; 内存映像编址; 混合编址。
进程管理 11
1. I/O独立编址
基本思路:给控制器中的每一个寄存器分配一个唯 一的I/O端口(I/O port)编号,称为I/O端口地址, 然后用专门的I/O指令对端口进行操作; 这些端口地址所构成的 地址空间是完全独立的, 与内存的地址空间没有 关系。例如: IN R0 [4] 表示读入I/O 端口地址为4的内容; MOV R0 [4] 表示读入 内存地址为4的内容;
进程管理
14
编程方便,无需专门的I/O指令(C vs. 汇编); 不能对控制寄存器的内容进行Cache,须关闭; 每一次都要判断访问的是内存还是I/O。
进程管理
15
3. 混合编址
基本思路:对于设备控制器中的寄存器,采用独立 编址的方法;而对于设备的数据缓冲区,采用内存 映像编址的方法。
有了I/O设备,是否就能完成I/O 功能呢?
进程管理
7
4.1.2 设备控制器
机械部分
电子部分
一个I/O单元由两部分组成:机械部分和电子部分( 设备控制器或适配器)。
进程管理 8
机械部分即为I/O设备本身;
电子部分称为:设备控制器(device controller)或适配器(adapter)。
☺ 装一勺饭菜,喂到宝宝嘴里 ☺ 重复上述步骤
进程管理
20
基本思路:在程序(设备驱动程序)中通过不断地 检测I/O设备的当前状态,来控制I/O操作的完成。 具体来说,在进行I/O操作之前,要循环地检测设 备是否就绪;在I/O操作进行之中,要循环地检测 设备是否已完成。从硬件来说,控制I/O的所有工 作均由CPU来完成。 也称为繁忙等待方式(busy waiting)或轮询方式 (polling)。 1.I/O控制与I/O操作 2.缺点...
进程管理
18
4.2 I/O控制方式
程序循环检测方式(Programmed I/O) 中断驱动方式(Interrupt-driven I/O) 直接内存访问方式(DMA, Direct Memory Access)
进程管理
19
4.2.1 程序循环检测方式
小宝宝在家吃饭
☺ 如果宝宝的嘴巴没空(如上一口饭 菜尚未吃完),循环等待
操作系统
Operating Systems 谌卫军 清华大学软件学院
第四章 I/O设备管理
1. I/O硬件
2. I/O控制方式
3. I/O软件
4. 磁盘
进程管理
2
I/O(Input / Output)设备
在现代计算机系统中,有大量的输入输 出设备,其种类繁多,差异大。而且随着技 术的发展,新设备也不断地出现。因此,如 何管理好这些设备,使资源得以合理的利用, 是操作系统的一个主要功能。
进程管理
16
PC机上的部分I/O端口地址
(本图摘自Silberschatz, Galvin and Gagne: “Operating System Concepts”)
进程管理 17
到目前为止,已经介绍了I/O设备的类型、 设备的控制器、I/O的端口地址。现在的 问题是:根据已有的这些知识,现在能否 开始编程使用这些I/O设备,完成相应的输 入输出功能呢?
- 输出设备:显示器、打印机;
- 输入/输出:磁盘、网卡。
进程管理
5
按数据组织分类:
- 块设备:以数据块作为信息的存储和传 输单位,每个数据块都有一个地址,数 据块之间的读写操作是相互独立的,如 磁盘; - 字符设备:以字符作为信息存储和传输 单位,数据即字符流,无定位无寻址, 如鼠标;
进程管理 6
! 8042 status port ! 键盘控制器状态寄存器
test al,#2
jnz empty_8042 ! is input buffer full?
进程管理 13
2. 内存映像编址
基本思路:把所有控制器当中的每一个寄存器都映 射为一个内存地址,专门用于I/O操作(功能上), 对这些单元的读写操作即为普通的内存访问操作。 端口地址空间与内存的地址空间统一编址,前者是 后者的一部分,一般位于后者的顶端部分。
进程管理
3
4.1 I/O硬件
对于I/O硬件,操作系统所关心的并不是
硬件自身的设计、制造和维护,而是如何来
对它进行编程,即该设备给软件提供的接口
是什么,包括它所接受的控制命令、所完成
的功能,以及所返回的出错报告。
进程管理
4
4.1.1
I/O设备的类型
按交互方向分类:
- 输入设备:键盘、鼠标、扫描仪;
进程管理 21
一个例子
已知I/O地址采用内存映像编址的方式,现需要 在打印机上打印一个字符串“ABCDEFGH”。 基本思路:把这8个字符逐个送到打印机设备的 I/O端口地址(内存地址)。
printer_status_reg printer_data_register
…pຫໍສະໝຸດ ABCD EFGH 内存进程管理
相关文档
最新文档