操作系统课件(第六章)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

① 通道指令单一。通道硬件比较简单,其所能执行的 指令主要是与输入输出操作有关的指令。 ② 通道没有自己的内存。通道所执行的通道程序是放 在计算机内存中的,也就是说通道与CPU共享系统的 内存。
通道按信息交换方式可分为以下三种类型 ① 字节多路通道 ② 数组选择通道 ③ 数组多路通道
通道指令和通道程序

6.2 I/O控制方式
程序直接查询控制方式 6.2.2 中断方式 6.2.3 DMA方式 6.2.4 通道方式
6.2.1 I/O控制方式发展过程中贯穿着这样的宗旨,
即尽量减少主机对外设的干预,把主机从 繁杂的I/O控制中解脱出来,以便有更多的 时间进行输出处理。
6.2.1 程序直接查询控制方式

(2)中速设备


(3)高速设备


2.按信息交换的单位分类 (1)块设备

块设备用于存储信息。由于信息的存取是以数据块为 单位,故称块设备,它属于有结构设备。块设备的基 本特征是可寻址,可随机地读/写任意一块;块设备的 另一特征是其输入/输出(I/O)采用DMA方式。典型 的块设备是磁盘,每个盘块的大小为512B~4KB。 字符设备用于数据传输的基本单位是字符,它属于无 结构设备。其基本特征是不可寻址,即不能指定输入 时的源地址及输出时的目标地址。此外,字符设备在 I/O时常采用中断驱动方式。字符设备的种类较多,如 交互式终端、打印机等。
在一个盘面上的读写磁一个盘面上的读写磁头的轨迹称磁道在头的轨迹称磁道在磁头位置下的所有磁磁头位置下的所有磁道组成地圆柱体称柱道组成地圆柱体称柱面一个磁道又可被面一个磁道又可被划分成一个或多个物划分成一个或多个物文件的信息通常不是记录在同一盘面的各文件的信息通常不是记录在同一盘面的各个磁道上而是记录在同一柱面的不同磁个磁道上而是记录在同一柱面的不同磁道上这样可使移动臂的移动次数减少道上这样可使移动臂的移动次数减少缩短存取信息的时间

6.3 缓冲技术
单缓冲 6.3.2 双缓冲 6.3.3 循环缓冲 6.3.4 缓冲池
6.3.1
6.3.1 单缓冲
对于块设备而言,假定从磁盘把一块数据
输入到缓冲的时间为T,操作系统将该缓冲 区中的数据传送到用户区的时间为M,而 CPU对这一块数据进行计算的时间为C,如 图6-5所示。如果系统不采用缓冲技术,数 据直接从磁盘到用户区,每块数据的处理 时间为T+C。如果采用了单缓冲技术,每 块数据的处理时间为max(C, T)+M。通常 来说M要远远小于C或者T,因此采用缓冲 技术,输入的效率提高了很多。

3.进程同步

循环缓冲机制中,指针Nexti和Nextg不断地顺时 针运行,这样可能会出现以下两种情况。


① Nexti指针追上Nextg指针。意味着输入进程输入数 据的速度大于计算进程处理数据的速度,已把全部可 用的空缓冲装满,再无缓冲区可用。此时,输入进程 应该阻塞,直到有计算进程计算完毕,将某个缓冲区 释放,输入进程才被唤醒。 ② Nextg指针追上Nexti指针。意味着计算进程处理数 据的速度大于输入进程输入数据的速度,已把所有输 入数据的缓冲区处理完毕,再无有数据的缓冲区供计 算进程使用。此时,计算进程应该阻塞,直到有输入 进程输入数据,将某个缓冲区释放,计算进程才ຫໍສະໝຸດ 唤 醒。6.3.4 缓冲池

1.缓冲池的组成 缓冲池中的缓冲区一般包含三种类型的缓冲区:空闲缓冲 区、装满输入数据的缓冲区和装满输出数据的缓冲区。为 了管理方便,系统将同一类型的缓冲区连成一个队列,形 成以下3个队列。 ① 空闲缓冲区队列emq:

由空闲缓冲区所连成的队列。其队首指针F(emq)和队尾指针L (emq)分别指向该队列的首尾缓冲区。


① 数据传输的基本单位是数据块,即在主机与 外设之间传送一个数据块; ② 传送的数据直接从外设到内存,或者相反; ③ 仅在传送一个数据块或多个数据块的开始和 结束时才需要主机的干预。
DMA的组成
寄存器



① 命令/状态寄存器(Command Register,CR)。用于 接收从CPU发出来的I/O命令或有关控制信息,或设备的 状态。 ② 内存地址寄存器(Memory Address Register, MAR)。在输入时,它存放把数据从设备传送到内存的 起始目标地址;在输出时,它存放由内存到设备的内存源 地址。 ③ 数据寄存器(Data Register,DR)。用于暂存从设备 到内存,或从内存到设备的数据。 图6-4 DMA方式 ④ 数据计数器(Data Counter,DC)。存放本次CPU要 读写的字节数。

通道方式通过执行通道程序,与设备控制器共同实现对设 备进行控制。通道程序由若干的通道命令组成。 通道指令通常由以下信息组成。 ① 命令码。命令码指出通道命令的操作,常见的操作有 读、写、控制、通道转移等。 ② 内存地址。用于标明交换数据在内存中存放的位置。 ③ 计数。用于表示本条指令所要交换数据的字节数。 ④ 通道程序结束位。用于表示该指令是否是通道程序的 最后一条指令。 ⑤ 记录结束标志位。用于表示本指令与下一通道指令处 理的数据是否是同一个记录。
6.3 缓冲技术
为了改善CPU与外围设备之间速度不匹配的矛盾, 减少I/O对CPU的中断次数和放宽对CPU中断响应 时间的要求,提高CPU和I/O设备的并行性,在操 作系统中普遍采用了缓冲技术。 缓冲技术的基本思想是:当一个进程输出数据时, 先向系统申请一块内存作为输出缓冲区;然后, 将输出数据高速输出到缓冲区;不断把数据填到 缓冲区,直到缓冲区被装满为止;此后,进程可 以继续它的计算,同时,系统将缓冲区内容写到 I/O设备上。当一个进程执行读操作输入数据时, 过程与此类似。
在中断方式中,外设输入每个数据的过程
中,无需主机的干预,因而可使得主机与 外设并行工作。仅当输完一个数据时,才 需要主机花费时间中断处理。中断方式在 一定程度上提高了主机和外设的并行程度, 提高计算机系统资源的利用率。
6.2.3 DMA方式
在DMA方式中,内存和外设之间有一条数
据通路,在内存和外设之间成块传送数据 过程中,由DMA控制器取代主机来控制数 据传输,直接执行到数传输完成。该方式 的特点是:

② 输入队列inq:

这是由装满输入数据的缓冲区所连成的队列。其队首指针F(inq) 和队尾指针L(inq)分别指向该队列的首、尾缓冲区。
这是由装满输出数据的缓冲区所连成的队列。其队首指针F (outq)和队尾指针L(outq)分别指向该队列的首、尾缓冲区。
虚拟设备是指通过某种技术将一台独占设备变换为能 供若干个用户共享的设备,因此可将它同时分配给多 个用户,从而提高设备的利用率。

(3)虚拟设备

6.1.2 设备管理的功能和任务
为此,设备管理通常应具有以下功能。 ① 提高系统的利用率的关键之一是实现设备的并行性。 ② 为了提高设备的利用率,在进行设备分配时系统通常 采用动态分配方式。对于独占设备往往采用虚拟技术将其 改造为共享设备,从而对该设备可以进行动态分配,也不 会导致死锁。 ③ 设备的速率相对CPU而言要慢得多。为了平滑两者之 间的差异,提高系统的效率,在设备管理中采用多种缓冲 技术。 ④ 设备管理还要方便用户的使用。设备管理通过屏蔽设 备的物理特性,从而实现设备的独立性。
第6章 设备管理
设备管理的主要功能有:缓冲区管理、设
备分配、设备处理、虚拟设备以及设备的 独立性。 设备不但种类繁多,而且它们的特性和操 作方式相差很大,因此,设备管理是操作 系统资源管理中最为复杂、最多样化,且 与硬件密切相关的部分。
第6章 设备管理
6.1 6.2 6.3 6.4 6.5 6.6 6.7 设备管理的概念 I/O控制方式 缓冲技术 驱动调度技术 设备分配 虚拟设备 Linux设备管理
DMA的工作过程
图6-4 DMA方式
6.2.4 通道方式
通道又称输入输出处理器,是独立于CPU的专门 实现输入输出工作的处理机。通道直至控制设备 和内存之间进行数据传送,把CPU从琐碎的输入 输出操作中解放出来。 通道是一种特殊的处理机。通道与一般处理机的 区别主要表现在以下两个方面。



程序查询方式中,一旦主机启动外设,便
不断查询外设的准备情况,终止了原程序 的执行,浪费了宝贵的主机时间;另一方 面,外设准备就绪后,主机参与数据的传 送工作,此时主机也不能执行原程序。可 见这种方式中,主机和外设串行工作,使 主机不能充分发挥效率。
6.2.2 中断方式

中断机构引入后,外围设备有了反映其状态的能 力,仅当操作正常或异常结束时才中断CPU。实 现了一定程度的并行操作,这叫中断方式。中断 方式是程序查询方式的改进。在主机启动外设后, 不必查询外设是否就绪,而是继续执行现行程序, 对设备是否就绪不加过问。此时主机和外设并行 操作。外设准备完毕,将数据传送至设备控制器 的寄存器后,外设向主机发出中断请求,主机从 设备控制中将数据读入内存指定单元。

程序直接查询方式又称程序直接控制方式或者询 问方式。在这种方式下,用户进程直接控制主机 和外围设备之间的数据传输。用户进程与外围设 备读取数据时,主机向设备控制器发出读指令后 进入测试等待状态。在等待时间内,主机重复查 询外设的准备状态直至外设准备就绪。外设就绪, 数据传送开始,主机从设备控制器读取一个字, 再向内存写一个字。如果传送还未结束,再次向 设备控制器发出读指令,直到全部数据传输完成 再返回现行程序执行。

(2)字符设备


3.从资源分配角度分类 (1)独占设备

独占设备是指在一段时间内只允许一个用户(进程) 使用的设备。系统一旦把该设备分配给某进程后,便 让它独占使用,直至用完释放。应当注意,独占设备 的分配可能会引起进程死锁。

(2)共享设备

共享设备是指在一段时间内允许多个进程同时访问的 设备。典型的共享设备是磁盘。共享设备不仅能获得 良好的设备利用率,而且是实现文件和数据共享的物 质基础。
2.循环缓冲的使用
① GetBuffer过程。对于计算进程而言,调用 GetBuffer过程,通过Nextg获得要进行计算的缓 冲区,相应地将该缓冲区改为C,将Current指向 该缓冲区,Nextg指向下一个G缓冲区。对于输入 进程而言,调用GetBuffer过程,通过Nexti获取 可用的缓冲区,相应地将该缓冲区改为C,将 Current指向该缓冲区,Nexti指向下一个R缓冲 区。 ② ReleaseBuffer过程。当计算进程提取完毕后, 当前的缓冲区空出来了,调用Release过程,将C 改为R。类似输入进程输入完毕,调用Release过 程,将该缓冲区改为G。
6.1 设备管理的概念
设备的分类 6.1.2 设备管理的功能和任务
6.1.1
6.1.1 设备的分类

1.按传输速率分类 (1)低速设备

低速设备是指每秒传输几B~几百B的一类设备。这类 设备中典型的如键盘、鼠标器、语音的输入和输出等 设备。 中速设备是指每秒传输几千B~数十千B的一类设备。 这类设备中典型的如行式打印机、激光打印机等设备。 高速设备是指每秒数传输几百KB~数十MB的设备。 这类设备中典型的如磁带机、磁盘机、光盘机等。
操作系统
Operating Systems
VxWorks Mac OS OS2 UNIX
操作系统课程组
南京邮电大学
LINUX
WINDOWS
教材:《操作系统教程》,人民邮电出版社 ,2009年出版
第6章 设备管理
设备管理是指操作系统对计算机系统中除
CPU和内存以外的设备的管理。 设备管理的主要任务是完成用户提出的输 入输出请求,提高输入输出的速率,以及 改善输入输出设备的利用率。
6.3.2 双缓冲
为了加快输入输出速度和提高设备利用率,
又引入了双缓冲,也称为缓冲对换。 在双缓冲时,系统处理一块数据的时间可 粗略地认为是max(C,T),如果C<T,可使 块设备连续输入;如果C>T,可使CPU不 必等待设备输入。
图6-6 双缓冲工作示意图
6.3.3 循环缓冲

1.循环缓冲的组成 ① 多个缓冲区。在循环缓冲中包含了多个缓冲区, 每个缓冲区的大小相同。缓冲区可分为三种类型: 空缓冲区R;已装满数据的缓冲区G;计算进程正 在使用的缓冲区C。 ② 多个指针。对用于输入的多缓冲,可设置这样 三个指针。Nextg指示计算进程下一个可用的缓 冲区G;Nexti指示输入进程下次可用的空缓冲区 R;Current指示计算进程正在使用的缓冲区C。
相关文档
最新文档