(5 )当页面住处被装入主存后,应修改页表中对应的表目,填上该页所占用的主存块把标志置为 “1,”表示该页已在主存储器中
(6 )由于产生缺页中断时的那条指令并没执行完,所以在把页面装入之后应重新执行被中断指令。
请求分段系统中的缺页中断处理过程如下图所示:
30 .如何实现分段共享
?
配置相应的数据结
答:在每个进程的段表中, 用相应的表项指向共享段在内存中起始地址; 构作为共享段表,在段表项中设置共享进程计数
Count ,每调用一次该共享段, Count 值增
1,每当进程释放一个共享段时, Count 减 1 ,若减为 0,则系统回收该共享段的物理内存, 取消在共享段表中该段对应的表项; 可以使用不同的段号去共享该段 第五章
1.试说明设备控制器的组成。
答:由设备控制器与处理机的接口,设备控制器与设备的接口与
I/O 逻辑组成。
。
共享段应给不同的进程以不同的存取权限;
不同的进程
2.为了实现 CPU 与设备控制器间的通信,设备控制器应具备哪些功能?
答:接收和识别命令;数据交换;标识和报告设备状态;地址识别;数据缓冲;差错控制。 3.什么是字节多路通道?什么是数组选择通道和数组多路通道?
答:( 1)字节多路通道。按字节交叉方式工作的通道。通常含有许多非分配型子通道,数 量从几十到数百个,每个子通道连接一台 转方式共享主通道。
(2 )数组选择通道。按数组方式传送数据,传输速率很高,每次只允许一个设备数据。
I/O 设备,控制其 I/O 操作。子通道按时间片轮
(3 )数组多路通道。将数组选择通道传输速率高和字节多路通道的各子通道分时并行操作的优点结合而成。含有多个非分配型子通道,具有很高的数据传输率和通道利用率。 4.如何解决因通道不足而产生的瓶颈问题?
答:解决问题的有效方法是增加设备到主机间的通路而不增加通道,
把一个设备连到多个控
制器上,控制器又连到多个通道上, 这种多通路方式解决了 “瓶颈 ”问题,提高了系统可靠性,个别通道或控制器的故障不会使设备和存储器之间没有通路。 5.试对 VESA 及 PCI 两种总线进行比较。
答: VESA 总线的设计思想是以低价占领市场。总线带宽 广泛用于 486 微机。缺点是能连接的设备数仅为 器速度的提高,不支持
Pentium 机。
32 位,最高传输速率 132Mb/s 。
2~4 台,控制器中无缓冲,难于适应处理
PCI 总线在 CPU 和外设间插入了复杂的管理层,协调数据传输和提供一致接口。管理
层中配有数据缓冲, 放大了线路的驱动能力, 最多支持 10 种外设, 支持高时钟频率的 CPU
运行,最大传输速率 132Mb/s 。可连接 ISA 、EISA 等传统总线,又支持 Pentium 的 64 位系统,是基于奔腾等新一代微处理器而发展的总线。 6.试说明推动 I/O 控制发展的主要因素是什么? 答:推动 I/O 控制发展的主要动力在于尽量减少主机对
I/O 控制的干预, 把主机从繁杂的 I/O
同时, 中断机制在计算
控制事务中解脱出来, 用更多的时间和精力去完成其数据处理任务。 机系统中的引入、 DMA 控制器的出现和通道研制的成功使 和成为可能。
7.有哪几种 I/O 控制方式?各适用于何种场合? 答:共有四种 I/O 控制方式。
(1) 程序 I/O 方式:早期计算机无中断机构,处理机对 忙等的方式。
(2) 中断驱动 I/O 控制方式:适用于有中断机构的计算机系统中。 (3) 直接存储器访问( DMA ) I/O 控制方式:适用于具有 (4) I/O 通道控制方式:具有通道程序的计算机系统中。 8.试说明 DMA 的工作流程。
I/O 控制的发展具备了技术支持
I/O 设备的控制采用程序 I/O 方式或称
DMA 控制器的计算机系统中。
答:以从磁盘读入数据为例,说明 DMA 的工作流程。当 CPU 要从磁盘读入数据块时,先向磁盘控制器发送一条读命令。
该命令被送到命令寄存器
CR 中。同时还发送本次要读入数据
的内存起始目标地址,送入内存地址寄存器 DC ,将磁盘中的源地址直接送
MAR ;本次要读数据的字节数送入数据计数器
DMA 控制器
DMA 控制器的 I/O 控制逻辑上。然后启动
传送数据, 以后 CPU 便处理其它任务。 整个数据传送过程由 DMA 控制器控制。 下图为 DMA 方式的工作流程图。
9.引入缓冲的主要原因是什么? 答:引入缓冲的主要原因是:
(1 )缓和 CPU 与 I/O 设备间速度不匹配的矛盾
(2 )减少对 CPU 的中断频率,放宽对中断响应时间的限制 (3 )提高 CPU 与 I/O 设备之间的并行性
10 .在单缓冲情况下,为什么系统对一块数据的处理时间为 答:在块设备输入时,先从磁盘把一块数据输入到缓冲区,耗时为 冲区数据送给用户区,耗时
max ( C,T ) +M?
T;然后由操作系统将缓
C 。在单缓冲情况
M ;接下来由 CPU 对块数据进行计算,耗时
下,磁盘把数据输入到缓冲区的操作和 一整块数据的处理时间为
CPU 对数据的计算过程可以并行展开,所以系统对每
max(C, T) + M 。
max ( T,C ) ?
M 将
11 .为什么在双缓冲情况下,系统对一块数据的处理时间为
答:写入者花费时间 T 将数据写满一个缓冲区后再写另一个缓冲区;读出者花费时间 一个缓冲区数据送到用户区后再传送另一个缓冲区数据,计算者读出用户区数据进行处理。
由于将数据从缓冲区传到用户区操作必须与读用户区数据处理串行进行, 传送数据填满缓冲区的操作并行。因此耗时大约为
而且可以与从外存
max(C+M,T) 。考虑 M 是内存数据块的
max(C,T) 。
移动耗时非常短暂可以省略,因此近似地认为系统对一块数据处理时间为
12 .试绘图说明把多缓冲用于输出时的情况。答:多缓冲用于输出的示意图如下:
13 .试说明收容输入工作缓冲区和提取输出工作缓冲区的工作情况。答:
①收容输入工作缓冲区的工作情况为:在输入进程需要输入数据时,调用
GetBuf(EmptyQueue) 过程, 从 EmptyQueue 队列的队首摘下一个空缓冲区, 作为收容输入工作缓冲区 Hin 。然后把数据输入其中,装满后再调用 PutBuf(InputQueue,Hin) 过程,将该缓冲区挂在输入队列 InputQueue 的队尾。
②提取输出工作缓冲区的工作情况为:当要输出数据时,调用
GetBuf(OutputQueue) 过程,
Sout 。在数据提取
EmptyQueue
从输出队列的队首取得一装满输出数据的缓冲区作为提取输出工作缓冲区 完后, 再调用 PutBuf(EmptyQueue,Sout) 的队尾。
14 .何谓安全分配方式和不安全分配方式?答:
① 安全分配方式是指每当进程发出
I/O 请求后,便进入阻塞状态,直到其
过程,将该缓冲区挂到空缓冲队列
I/O 操作完成时
才被唤醒。 在采用这种分配策略时, 一旦进程已获得某种设备资源后便阻塞, 使它不可能再请求任何资源,而在它运行时又不保持任何资源。这种分配方式已经摒弃了造成死锁的 求和保持 ”条件,分配是安全的。缺点是进程进展缓慢, ②不安全分配方式是指进程发出
CPU 与 I/O 设备串行工作。
I/O 请求、
“请
I/O 请求后仍继续执行, 需要时又可发出第二个
第三个 I/O 请求。仅当进程请求的设备已被另一个进程占有时,进程才进入阻塞状态。优点 是一个进程可同时操作多个设备,进程推进迅速。缺点是分配不安全,可能具有
“请求和保
持”条件,可能造成死锁。因此,在设备分配程序中需增加一个功能,用于对本次的设备分 配是否会发生死锁进行安全性计算,仅当计算结果表明分配安全的情况下才进行分配。 15 .为何要引入设备独立性?如何实现设备独立性? 答:现代操作系统为了提高系统的可适应性和可扩展性, 基本含义是应用程序独立于具体使用的物理设备,
都实现了设备独立性或设备无关性。
应用程序以逻辑设备名请求使用某类设备。
实现了设备独立性功能可带来两方面的好处:( I/O 重定向。
1)设备分配时的灵活性;( 2)易于实现
为了实现设备的独立性, 应引入逻辑设备和物理设备概念。 在应用程序中, 使用逻辑设备名请求使用某类设备; 系统执行时是使用物理设备名。
鉴于驱动程序是与硬件或设备紧密相关
执行所有设备的公有操作、 完成逻
的软件, 必须在驱动程序之上设置一层设备独立性软件,
辑设备名到物理设备名的转换(为此应设置一张逻辑设备表) 并向用户层(或文件层) 软件提供统一接口,从而实现设备的独立性。
16 .在考虑到设备的独立性时,应如何分配独占设备? 答:在考虑到设备的独立性时,应按如下步骤来分配独占设备: (1) 进程以逻辑设备名提出
I/O 请求。
(2) 根据逻辑设备表获得 I/O 请求的逻辑设备对应物理设备在系统设备表中的指针。 (3) 检索系统设备表,找到属于请求类型、空闲可用且分配安全设备的设备控制表,将对应设备分配给请求进程;未找到则等待等待唤醒和分配。
(4) 到设备控制表中找出与其相连接的控制器的控制器控制表,根据状态字段判断是否忙碌,忙则等待;否则将该控制器分配给进程。
(5) 到该控制器的控制器控制表中找出与其相连接的通道的通道控制表,判断通道是否忙碌,忙则等待;否则将该通道分配给进程。
(6) 只有在设备、控制器和通道三者都分配成功时,这次的设备分配才算成功,然后便可启动设备进行数据传送。
17 .何谓设备虚拟?实现设备虚拟时所依赖的关键技术是什么? 答:设备虚拟是指把独占设备经过某种技术处理改造成虚拟设备。 可虚拟设备是指一台物理设备在采用虚拟技术后,
可变成多台逻辑上的虚拟设备,
则可虚拟
设备是可共享的设备, 将它同时分配给多个进程使用, 并对这些访问该物理设备的先后次序 进行控制。
18 .试说明 SPOOLing
系统的组成。
SPi 和输出
答: SPOOLing 系统由输入井和输出井、输入缓冲区和输出缓冲区、输入进程 进程 SPo 三部分组成。
19 .在实现后台打印时, SPOOLing 系统应为请求 I/O 的进程提供哪些服务? 答:在实现后台打印时, SPOOLing 系统应为请求 I/O 的进程提供以下服务: (1 )由输出进程在输出井中申请一空闲盘块区,并将要打印的数据送入其中; (2 )输出进程为用户进程申请空白用户打印表,
填入打印要求, 将该表挂到请求打印队列。
(3 )一旦打印机空闲,输出进程便从请求打印队列的队首取出一张请求打印表,根据表中要求将要打印的数据从输出井传送到内存缓冲区,再由打印机进行打印。 20 .试说明设备驱动程序具有哪些特点。答:设备驱动程序具有如下特点:
(1 )是请求 I/O 进程与设备控制器间的一个通信程序; (2 )驱动程序与 I/O 设备的特性紧密相关; (3 )驱动程序与 I/O 控制方式紧密相关;
(4 )驱动程序与硬件紧密相关, 部分程序用汇编语言书写, 基本部分往往固化在 ROM 中。
21 .试说明设备驱动程序应具有哪些功能?答:设备驱动程序的主要功能包括: (1 )将接收到的抽象要求转为具体要求;
(2 )检查用户 I/O 请求合法性,了解 I/O 设备状态,传递有关参数,设置设备工作方式; (3 )发出 I/O 命令,启动分配到的 I/O 设备,完成指定 I/O 操作; (4 )及时响应由控制器或通道发来的中断请求,
根据中断类型调用相应中断处理程序处理;
I/O 请求自动构成通道程序。
(5 )对于有通道的计算机,驱动程序还应该根据用户 22. 设备中断处理程序通常需完成哪些工作? 答:设备中断处理程序通常需完成如下工作: (1) 唤醒被阻塞的驱动程序进程; (2) 保护被中断进程的 CPU 环境;
(3) 分析中断原因、转入相应的设备中断处理程序; (4) 进行中断处理; (5) 恢复被中断进程。
23. 磁盘访问时间由哪几部分组成?每部分时间应如何计算? 答:磁盘访问时间由寻道时间 (1) ) Ts
和, 即
Ts 、旋转延迟时间 Tr 、传输时间 Tt 三部分组成。
与磁头移动
n 条磁道的时间
是启动磁臂时间 s Ts = m ×n + s 。
(2) )Tr 是指定扇区移动到磁头下面所经历的时间。 硬盘 15000r/min 时 Tr 为 2ms; 软盘 300 或 600r/min 时 Tr 为 50~100ms 。 (3) ) Tt
的时间。
和旋转速度有关: Tt = b/rN 。
24. 目前常用的磁盘调度算法有哪几种?每种算法优先考虑的问题是什么? 答:目前常用的磁盘调度算法有先来先服务、最短寻道时间优先及扫描等算法。 (1) 先来先服务算法优先考虑进程请求访问磁盘的先后次序;
(2) 最短寻道时间优先算法优先考虑要求访问的磁道与当前磁头所在磁道距离是否最近; (3) 扫描算法考虑欲访问的磁道与当前磁道间的距离,更优先考虑磁头当前的移动方向。 25. 为什么要引入磁盘高速缓冲?何谓磁盘高速缓冲? 答:目前磁盘的 I/O 速度远低于内存的访问速度,通常低上 已成为计算机系统的瓶颈。为提高磁盘
4-6 个数量级。因此,磁盘
I/O
是指数据从磁盘读出或向磁盘写入经历Tt 的大小与每次读 /写的字节数 b
I/O 的速度,便引入了磁盘高速缓冲。