资源预览内容
第1页 / 共18页
第2页 / 共18页
第3页 / 共18页
第4页 / 共18页
第5页 / 共18页
第6页 / 共18页
第7页 / 共18页
第8页 / 共18页
第9页 / 共18页
第10页 / 共18页
亲,该文档总共18页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
6. 设备管理6.1 例题解析例题解析例例 6.2.1 何谓虚拟设备?请说明何谓虚拟设备?请说明 SPOOLing 系统是如何实现虚拟设备的。系统是如何实现虚拟设备的。解解 本题的考核要点是虚拟设备的实现方法。 虚拟设备是指利用软件方法,比如 SPOOLing 系统,把独享设备分割为若干台逻辑 上的独占的设备,使用户感受到系统有出若干独占设备在运行。当然,系统中至少一台 拥有物理设备,这是虚拟设备技术的基础。 SPOOLing 系统又称“假脱机 I/O 系统” ,其中心思想是,让共享的、高速的、大容 量外存储器(比如,磁盘)来模拟若干占设备,使系统中的一台或少数几占设 备变成多台可并行使用的虚拟设备。 SPOOLing 系统主要管理外存上的输入井和输出井,以及内存中的输入缓冲区和输出 缓冲区。其管理进程主要有输入和输出进程,负责将输入数据装入到输入井,或者将输 出井的数据送出。它的特点是:提高了 I/O 操作的速度;将独占设备改造为共享设备; 实现了虚拟设备功能。例例 6.2.2 有关设备管理要领的下列叙述中,( )是不正确的。A通道是处理输入、输出的软件 B所有外围设备都由系统统一来管理 C来自通道的 I/O 中断事件由设备管理负责处理 D编制好的通道程序是存放在主存贮器中的 E由用户给出的设备编号是设备的绝对号 解解 本题的考核要点是设备管理的基本概念。 (1) 通道是计算机上配置的一种专门用于输入输出的设备,是硬件的组成部分。因此 A 是错误的。 (2) 目前常见 I/O 系统其外部设备的驱动和输入输出都由系统统一管理。因此 B 是对 的。 (3) 设备管理模块中的底层软件中配有专门处理设备中断的处理程序。通道中断属于 设备中断的一种。因此 C 是对的。 (4) 通道设备自身只配有一个简单的处理装置(CPU) ,并不配有存储器,它所运行 的通道程序全部来自内存。因此 D 是对的。 (5) 系统在初启时为每台物理设备赋予一个绝对号,设备绝对号是相互独立的。由用 户给出的设备号只能是逻辑编号,由系统将逻辑号映射为绝对号。因此 E 是错误的。 例例 6.2.3 在关于 SPOOLING 的叙述中, 描述是不正确的。0 6. 设备管理112ASPOOLING 系统中不需要独占设备 BSPOOLING 系统加快了作业执行的速度 CSPOOLING 系统使独占设备变成共享设备 DSPOOLING 系统利用了处理器与通道并行工作的能力。 本题的考核要点是 SPOOLING 技术。涉及的概念有 4 方面: (1) 该项技术应有外存空间作为物质基础,同时应当至少有一占设备实现输 入或输出,因此选项 A 错误。 (2) SPOOLING 技术又称“脱机输入输出系统” 。它将独享设备改造成与共享设 备,使进程避免长期等待 I/O 操作的完成,因此加快了作业执行的速度。所以说 B 是正确的。 (3) SPOOLING 技术将外存空间模拟成多占设备,功能上看,它将一占 设备变成一台共享设备,因而 C 是对的。 (4) 在计算机系统中安装上通道设备,使处理器与通道可以并行工作。这作为一 种硬件配置,与没有通道的系统相比,系统的资源利用率得到提高。不过,无论有 没有配置通道,SPOOLING 系统都是可以运行的。因此 D 是不正确的。例例 6.2.4 I/O 软件一般分为 4 个层次,用户层、与设备无关软件层、设备驱动程序以 及中断处理程序。请说明以下各工作是在哪一层完成的?(1) 向设备寄存器写命令; (2) 检查用户是否有权使用设备; (3) 将二进制整数转换成 ASCII 码以便打印。 解解 本题的考核要点为设备管理模块的结构。有些系统的结构分为本题所说的 4 层结 构,而有的系统将设备驱动程序与中断处理程序合并为 1 层,共分为 3 层(见汤子瀛 计算机操作系统 ,P221) 。无论如何划分并不影响本题的回答。 设备驱动程序是设备管理的底层软件,用于控制 I/O 设备进行具体输入输出操作。其 功能是: 1) 将抽象的要求转换为具体的要求; 2) 检查用户 I/O 请求的合法性,了解外设的状态,设置设备的工作方式; 3) 向设备发出 I/O 命令,启动设备,实现 I/O。 (1) 由于“向设备寄存器写命令”属于直接操作设备控制器的操作,因此属于设备驱 动程序。 (2) 用户层软件是用户与设备管理模块的接口,负责解释用户的应用请求,并将这种 请求转化为具体的输入输出操作。不过,该层软件并不检查用户的访问权限,因此, “检查用户是否有权使用设备”属于设备驱动程序。 (3) 与设备无关软件层软件主要负责将逻辑设备名转换为物理设备,实现设备的分配 和回收,进行缓冲区管理等。 “将二进制整数转换成 ASCII 码以便打印”不属于该层软件。 它应当是将抽象要求转换为具体要求的一部分,所以也属于设备驱动程序。例例 6.2.5 在在缓冲池中有 3 个队列,分别为空白缓冲队列 em,输入缓冲队列 in,以及例题解析113输出缓冲队列 out。过程 add_buf(type,numb)和 take_buf(type,numb)分别用来把 缓冲区 numb 插入 type 队列和从 type 队列中取出缓冲区 numb。试描述进程从任一缓冲队列得到一个缓冲区的过程 get_buf(type,numb)和将一个 缓冲区 numb 放入缓冲队列的过程 put_buf(type,numb) 。解解 设队列 type 的互斥信号量为 S(type) ,初值为 1。设描述资源数目的信号量 RS(type) ,初值为 n。 信号量的定义及初始化过程,以及 get_buf()过程和 put_buf()过程的描述如下: Semaphore S(type):=1; Semaphore RS(type):=n;/*n 为 type 队列长度*/PROCEDURE get_buf(type,number) BEGINP(RS(type);P(S(type);Pointer of buffer(number)=take_buf(type,number)V(S(type); END;PROCEDURE put_buf(type,number) BEGINP(S(type);add_buf (type,number)V(S(type); V(RS(type); END。 例例 6.7 描述操作系统中使用公用缓冲池时数据块插入缓冲队列的输入过程。 本题考核的要点是缓冲池技术。缓冲池由多个缓冲区组成,其中每个缓冲区包括缓 冲区首部和缓冲体两部分。系统通过操作缓冲池首部,实现对缓冲区的管理。 解解 通常,缓冲池中有 3 个队列:em 队列(空白缓冲区队列) 、in 队列(装满输入数 据的缓冲区队列) 、out 队列(装满输出数据的缓冲区队列) 。 令参数 type 表示缓冲队列类型,number 表示缓冲区号。缓冲池管理中负责数据输入 的过程可包括: (1) 过程 get_buf(type,number):以某种选取规则从 type 指定的缓冲 区队列中摘取一个缓冲区 number。 (2) 过程 put_buf(type,number):将 number 缓冲区程将缓冲区放入相 应缓冲区队列。 使用上述操作,输入过程可被描述如下: (1) 输入进程调用过程 get_buf(em,number)从空白缓冲区队列 em 中取出一0 6. 设备管理114个缓冲区,返回的号码为 number。将该空白缓冲区命名为 hin。 (2) 将输入的数据装入缓冲区 hin,当 hin 中装满了由输入设备输入的数据之后, 系统调用过程 put_buf(in,hin)将该缓冲区插入输入缓冲队列 in 中。例例 6.8 逻辑设备表(LUT)的主要功能是( )和( ) 。设备驱动程序是一种低级 的系统例程,它通常分为( )和( )两个部分。本题的考核要点是设备管理的基本概念。涉及的内容有: 设备管理的功能之一是,将用户输入的逻辑设备名映射为系统内的物理设备。可使 系统在设备分配中更灵活,设备管理更具独立性。在多用户系统中,LUT 是系统为每个 进程配置的一种数据结构。该结构被保存到进程的 PCB 中,内含两个域:逻辑设备名和 指向系统设备的指针。因此,该问题的正确答案应为:(实现逻辑设备到物理设备的映 射)和(实现设备独立性) 。 设备驱动程序是设备管理的底层软件,用于控制 I/O 设备进行具体输入输出操作。 此外,当输入输出操作完成时,产生的外中断信号由系统予以响应,转入设备中断处理 程序,根据操作的状态进行相应的处理。因此正确答案应为: 控制 I/O 设备进行具体输入输出操作程序、设备中断处理程序例例 6.9(论述题)试给出两种(论述题)试给出两种 I/O 调度算法,并说明为什么调度算法,并说明为什么 I/O 调度中不能采用时间片轮调度中不能采用时间片轮 转法。转法。本题的考核要点是 I/O 调度算法。两种常用的 I/O 调度算法是: 先来先服务算法。当系统中多个进程对同一 I/O 设备提出输入输出请求时,该算 法把它们按请求顺序排成一个等待队列,并将该 I/O 设备分配给队列中的第一个进程。 优先权高者优先算法。当系统中多个进程对同一 I/O 设备提出输入输出请求时, 该算法把它们按优先权由高到低的顺序排成一个等待队列。并将该 I/O 设备分配给队列中 的第一个进程(其优先权最高) 。 时间片轮转算法是不能用于 I/O 调度中的。因为在 I/O 操作中,大部分外部设备都是 独占设备,其固有属性决定了设备只能独占使用,不能共享使用。这种设备一旦被某进 程占用,直到使用完才能被释放。而且在通道程序控制的输入输出系统中,通道程序的 执行是不受中断影响的。时间片中断信号并不能中断通道程序的操作。所以 I/O 调度中不 能采用时间片轮转法。例例 6.10 某操作系统采用双缓冲传送磁盘上的数据。设从磁盘将数据传送到缓冲区所用时某操作系统采用双缓冲传送磁盘上的数据。设从磁盘将数据传送到缓冲区所用时 间为间为 T1,将缓冲区中数据传送到用户区所用时间为,将缓冲区中数据传送到用户区所用时间为 T2(假设(假设 T2T1,即 CPU 处理数据快,数据传送慢。此时意味着 I/O 设备可连续输 入,磁盘将数据传送到缓和冲区,再传送到用户区,与 CPU 处理数据可视为并行处理。例题解析115时间的花费取决于 CPU 最大花费时间,则系统的用总时间为 T3。 如果 T3T1,即 CPU 处理数据比数据传送快,此时 CPU 不必等待 I/O 设备,磁 盘将数据传送到缓冲区,与缓冲区中数据传送到用户区,及 CPU 处理数据,二者可视为 并行执行,则花费时间取决于磁盘将数据传送到缓冲区所用时间 T1。 答案应为 D。例例 6.11 下面是一段简单的通道程序,则四个选项中叙述不正确的是(下面是一段简单的通道程序,则四个选项中叙述不正确的是( ) 。操作PR计数内存地址WRITE0190743WRITE01100250READ012301200WRITE00120400WRITE01120350READ11702000(A)该段通道程序包括六条、两类通道指令)该段通道程序包括六条、两类通道指令 (B)这些指令涉及的数据内存地址有相邻接的地方)这些指令涉及的数据内存地址有相邻接的地方 (C)该段通道程序共处理了)该段通道程序共处理了 5 条记录条记录 (D)单记录最大为)单记录最大为 230 个字节个字节 本题考核的是通道程序的功能。涉及的概念有: 每一行就是一条指令;该段通道程序的 6 条指令可分为 WRITE 和 READ 两类 通道指令。 在 6 条指令中,第 2 条和第 5 条指令访问的内存地址是邻接的。 在通道指令中,域 R 是记录的结束标志。R=0 表明本通道指令与下一条通道指 令处理的数据属于
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号