1、操作系统实例分析练习试卷 1及答案与解析 一、单项选择题 1 当 CPU执行操作系统代码时,称处理机处于 ( )。 ( A)执行态 ( B)目态 ( C)管态 ( D)就绪态 2 在下列性质中, ( )不是分时系统的特征。 ( A)多路性 ( B)交互性 ( C)独占性 ( D)成批性 3 下列仅下条指令 ( )只能在管态下执行。 ( A)读取时钟指令 ( B)访管指令 ( C)屏蔽中断指令 ( D)取数指令 4 若信号 S的初值为 2,当前值为 -1,则表示有 ( )等待进程。 ( A) 0个 ( B) 1个 ( C) 2个 ( D) 3个 5 UNIX操作系统的进程控制块中常驻内存的是 (
2、 )。 ( A) proc结构 ( B) proc结构和核心栈 ( C) ppda区 ( D) ppda结构和 user结构 6 时,进程从执行状态转变为就绪状态。 ( A)进程被调度程序选中 ( B)时间片到 ( C)等待某一事件 ( D)等待的事件发生 7 在进程状态转换时,下列 ( )转换是不可能发生的。 ( A)就绪态 运行态 ( B)运行态 就绪态 ( C)运行态 等待态 ( D)等 待态 运行态 8 在多道批处理系统中,为先分利用各种资源,运行的程序应具备的条件是 ( )。 ( A)适用于内存分配的 ( B)计算量大的 ( C) I/O量大的 ( D)计算型和 I/O型均衡的 9
3、在批处理系统中,用户的作业是由 ( )组成的。 ( A)程序 ( B)程序 +数据 ( C)程序 +作业说明书 ( D)程序 +数据 +作业说明书 二、填空题 10 存储管理方式中, _可采用覆盖技术。 11 _是操作系统采用以空间换时间的技术。 12 CPU输入数据的速度 远远高于打印机的打印速度,为解决这一矛盾,可采用_。 13 操作系统为保证未经文件拥有者授权,任何其他用户不能使用该文件所提供的解决方法是 _。 14 文件系统中若文件的物理结构采用连续结构,则文件控制块 FCB中有关文件的物理位置的信息应包括 _。 15 在操作系统的发展过程中, _和 _的出现标志着该操作系统的正式形成
4、。 16 某虚拟存储器的用户空间共有 32个页面,每页 1KB,主存 16KB。假定某时刻系统为用户的第 0、 1、 2、 3页分别分配的物理块号 为 5、 10、 4、 7,那么虚地址为 0A5C对应的物理地址是 _。 17 若有 4个进程共享同一个程序段,而且每次最多允许 3个进程进入该程序段,则信号量的变化范围是 _。 18 在采用 SPOOLing技术的系统中,用户的打印结果首先被送到 _。 三、判断改错题 19 在 UNIX系统中 OS的核心,它应具有两个方面的接口;一方面是核心与硬件的接口,另一方面就是核心与 Shell的接口。 ( ) ( A)正确 ( B)错误 20 进程控制子
5、系统的功能有进程控制、进程通 信以及进程调度。 ( ) ( A)正确 ( B)错误 21 文件子系统的功能可以分为文件管理和高速缓冲机制两方面。 ( ) ( A)正确 ( B)错误 四、简答题 22 在 UNIX操作系统中,盘块缓冲区分配的 getblk (dev,blkno)的执行过程 (其中dev为设备号, blkno为块号 )是什么 ? 23 在 UNIX系统中,进行设备分配时需要哪些数据结构 ?有什么特点 ?如何应用的 ? 24 在 UNIX操作系统中,为什么把 proc结构常驻内存 ?为什么 ppda可以不常驻内存 ?ppda和其他数据结构合在一起有什么好处 ? 25 请描述 UNI
6、X操作系统的读 /写磁盘方式。 26 UNIX是如何管理字符设备缓冲的 ? 27 UNIX是如何进行进程控制。 28 管道通信的基本思想是什么 ?UNIX操作系统在管道通信中是如何避免死锁的 ? 五、应用题 29 考虑一个存于磁盘上的文件系统,其中的文件由大小为 512B的块组成。假定每一个文件有一个文件目录项,该目录项包含该文件的名字、文件长度以及第一块(或第一索引块 )和最后一块的位置,而且该目录项位于内存。对于索引结构文件,该 目录项指明第一索引块,该索引块又依次指向 511个文件块且有一指向下一索引块的指针。针对连续、链接、索引结构的每一种,要求: a说明在这个系统中是如何实现逻辑地址
7、到物理地址映射的; b如果当前位于逻辑块 10(即最后一次访问的块是逻辑块 10)且访问逻辑块 4,请说明必须从盘上读多少个物理块。 30 在设备管理方面, UNIX系统采用什么方法使读入内存的文件副本,能为多个用户共享,避免重复调用和多占内存 ? 31 为什么说设备驱动程序通常以进程形式存在 ?其功能是什么 ? 操作系统实例分析练习试 卷 1答案与解析 一、单项选择题 1 【正确答案】 C 【知识模块】 操作系统实例分析 2 【正确答案】 D 【知识模块】 操作系统实例分析 3 【正确答案】 C 【知识模块】 操作系统实例分析 4 【正确答案】 B 【知识模块】 操作系统实例分析 5 【正确
8、答案】 A 【知识模块】 操作系统实例分析 6 【正确答案】 B 【知识模块】 操作系统实例分析 7 【正确答案】 C 【知识模块】 操作系统实例分析 8 【正确答案】 D 【知识模块】 操作系统实例分析 9 【正确答案】 D 【知识模块】 操作系统实例分析 二、填空题 10 【正确答案】 单一连续区存储管理 【知识模块】 操作系统实例分析 11 【正确答案】 通道技术 【知识模块】 操作系统实例分析 12 【正确答案】 缓冲技术 【知识模块】 操作系统实例分析 13 【正确答案】 文件保护 【知识模块】 操作系统实例分析 14 【正确答案】 首块地址和文件长度 【知识模块】 操作系统实例分析
9、 15 【正确答案】 多道程序;分时系统 【知识模块】 操作系统实例分析 16 【正确答案】 125CH 【知识模块】 操作系统实例分析 17 【正确答案】 3, 2, 1, 0, -1 【知识模块】 操作系统实例分析 18 【正确答案】 磁盘固定区域 【知识模块】 操作系统实例分析 三、判断改错题 19 【正确答案】 A 【知识模块】 操作系统实例分析 20 【正确答案】 B 【试题解析】 应改为:进程控制子系统的功能有进程控制、进程通信、存储器管理以及进程调度。 【知 识模块】 操作系统实例分析 21 【正确答案】 B 【试题解析】 应改为:文件子系统的功能可以分为文件管理、高速缓冲机制和
10、设备驱动程序三方面。 【知识模块】 操作系统实例分析 四、简答题 22 【正确答案】 getblk(dev, blkno)首先检查散列队列,看该盘块是否已在某个缓冲区中。若在散列队列,则不须分配缓冲区,否则分配一个空闲缓冲区。处理过程如下: 根据设备号和盘块号检查散列队列 (设备缓冲区队列 )。 若在散列队列,则检查该缓冲区是否空闲。若空闲,则先上锁,然后 从空闲链上取下,置该缓冲区忙;否则,等待该缓冲区空闲。 若缓冲区不在散列队列,便从空闲链分配一个缓冲区,调整散列队列,置该缓冲区为忙状态。 【知识模块】 操作系统实例分析 23 【正确答案】 在进行设备分配时所需的数据结构有: . 设备控制
11、表 DCT系统为每个设备配置一张设备控制表,用于记录本设备的情况,如设备类型、设备标识号、设备状态、设备队列、控制器表。 . 控制器控制表 COCT系统为每个控制器设置一张用于记录本控制器情况的控制器控制表。 . 系统设备表 SDT记录系统中全部设备的情况,每个设备占一个表目,包括设备类型、设备标识符、设备控制表、设备驱动程序入口等。 【知识模块】 操作系统实例分析 24 【正确答案】 在配有通道、控制器系统的设备管理中,还要有通道控制表CHCT,用来记录通道的特性、状态及其他管理信息。 系统设备表中有对应设备的设备控制表的指针,设备控制表中有与该设备相连的控制器的控制器控制表指针,控制器控制
12、表中有与该控制器相连的通道的通道控制表。也就是说,从系统设备表可以找到该设备的设备控制表,然后找到相连的控制器控制表,最 后找到相连的通道的通道控制表。 UNIX操作系统的进程控制块包括两部分。一部分称为进程的基本控制块 (简称proc结构 ),它存放着进程的一些基本的信息;另一部分称为进程扩充控制块 (简称user结构 ),它存放着进程的一些必要但又不常使用的信息。 proc结构中存放的是系统经常需要查询和修改的信息,需要快速地访问,所以将其常驻内存:如果把进程的所有信息都放在内存,势必造成很大的内存开销,所以, UNIX操作系统让user结构可以驻留在内存和磁盘交换区上。当 CPU正在执行
13、某进程时,它的 proc结构和 um结构都驻留内存,以便提高访问进程的速度;当 CPU转而执行其他进程时,如有必要,可以把该进程的 user结构换到盘交换区上,以便为其他进程留出较大的内存。这样既提高了系统管理进程的速度,又使得系统有足够的内存空间运行其他程序。 【知识模块】 操作系统实例分析 25 【正确答案】 在 UNIX操作系统中有两种读磁盘的方式。 . 一般读方式:读指定盘块; . 提前 (预先 )读方式:在读指定盘块的同时,将下一个盘块 (提前块 )。中的信息读出。 在 UNIX操作系统中有 3种写方式。 . 一般写 (同步写 )方式:把缓冲区中的数据写入 磁盘,调用者进程因等待写操
14、作完成而进入睡眠状态,写操作完成后释放缓冲区; . 异步写方式:启动输出后,调用者进程不等待传输完成就返回; . 延迟写方式:不真正启动磁盘,只是在缓冲区首部中设置延迟写标志,再将它加入空闲链末尾。实际写入是在该缓冲区分配给另一物理块时才完成。 异步写的目的在于提高写盘速度 (调用者进程不等待传输完成就可以返回,继续执行 ),而延迟写的目的是让数据块在内存待尽可能长的时间,以减少不必要的传输。但反过来,延迟写没有把数据立即写入磁盘,当系统发生瘫痪时会导致磁盘数据错 误。 【知识模块】 操作系统实例分析 26 【正确答案】 UNIX操作系统分别为字符设备和块设备设置了缓冲池。字符设备缓冲区的大小
15、以字节为单位,而块设备缓冲区则以盘块大小为单位。 字符设备缓冲管理是在系统中设置了一组字符缓冲区,供各种字符设备使用。其中,每个缓冲区的大小为 70个字节,包括 4项,即第一个字符位置,最后一个字符位置,指向下一个缓冲区的指针和余下的用于存放 64个字符的缓冲区。所有的空闲缓冲区通过连接指针形成一个空闲缓冲区队列,由队首指针 cfreelist指向其第一个缓冲区。 每当设备管理程序请求一个字符缓冲区时,管理程序便从空闲缓冲区链首取得一个空闲缓冲区分配给相应设备。在设备释放缓冲区时,管理程序将它链入空闲缓冲区队列的队,首 (空闲缓冲区队列实际上是一个栈 )。 getcf和 putcf过程分别实现
16、从空闲缓冲区队列中取得一个缓冲区和将缓冲区归还到空闲缓冲区队列。 【知识模块】 操作系统实例分析 27 【正确答案】 a进程创建: UNIX操作系统的进程创建原语为调用者建立一个子进程。被创建的新进程与父进程一样是一个基本的调度单位,与调用者一起独立地并发运行。 UNIX操作系统 的进程创建原语的基本任务是为新进程构造运行环境,包括 proc结构、 ppda区 (user结构和核心栈 )、共享正文段、用户态数据段和栈段,除进程的状态、标识以及与时间有关的少数控制项外,子进程基本是复制父进程的进程图像,子进程与父进程共享正文段。 UNIX:操作系统创建进程的系统调用是 fork,它的主要功能是:
17、 . 为子进程分配一个空白的 proc结构,同时获得一个惟一的进程标识数 pid。 . 为子进程分配所需的内存空间如果分配成功,则把父进程的数据段等复制给子进程;如果内存分配不成功,则 在盘交换区为子进程建立数据段等。 . 增加与父进程相关的有关文件系统的进程引用计数。 . 向父进程返回子进程的标识数,向子进程返回 0。 b进程的自我终止和等待:进程调用系统调用 exit使自己放弃 CPU,进入终止状态。等待父进程的处理。进程调用系统调用 wait使自己成为等待状态一直到它的一个子进程终止。 c进程的睡眠与唤醒:进程不论因何原因而睡眠,最后调用 sleep使之进入睡眠状态,当睡眠原因消失后,又
18、要调用 wakeup将有关进程唤醒。 【知识模块】 操作系统实例分析 28 【正确答案】 管道通信以文件系统为基础在进程之间实现通信。管道,就是连接两个进程的一个打开的共享文件,该文件专门用于进程之间的通信。发送数据的进程从管道的一端把数据写入管道,接收数据的进程从另一端读出数据,就像一条传送数据的 “管道 ”。管道通信实际上是利用外存来实现进程间的通信,所以具有数据传送量大的特点,但通信速度较慢。在管道的通信过程中,发送进程和接收进程要进行必要的同步与互斥,所以进程可能由于等待而产生死锁。 UNIX操作系统中采取以下措施来避免死锁: . 当进程需要读 /写等待时, 要检查管道的另一端是否已经
19、关闭,如果发现对方已经关闭,则直接返回,不需要等待。 . 当进程需要关闭管道时,要检查管道的另一端是否正处于等待状态;如果是,则要先唤醒对方,然后再关闭管道。 这样进程就不会无休止地等待而发生死锁; 而且,管道通信又可分为无名管道和有名管道。无名管道用于父、子进程之间的通信,而有名管道的适用范围更广。进程无休止地等待不可能发生的事件是产生死锁的必要条件,破坏此条件就可以预防死锁。 【知识模块】 操作系统实例分析 五、应用题 29 【正确答案】 设文件 的逻辑地址 (字节 )为 1a,用 512去除 1a,分别记 1bn和 bd为除得的商和余数,则 1bn表示该块得逻辑块号, bd表示块内偏移。
20、设文件的起始块号为 sbn。那么针对 3种结构,分别有: 连续结构。连续结构也就是文件以连续方式存放,依次在内存排列,其过程是: pbn=sbn+1bn;/*要访问的物理块号 */; 1块。 链接结构。查链接表直至找到所需要的块号,过程是: m1:=sbn if 1bn 0 Then begin for I:=0 to 1bn-1 begin m1:=m1.next; /*取位于 m1的物理块;用下一块地址替代 m1+t*/ end; end; pbn:=m1;/*要访问的物理块号 */ 4块。 索引结构。将第一索引块读进内存,记为 index, 记 r=1bn/511: s=:1bn mod
21、 511 if r 0 then begin for I:=I to r begin 读入 index(512)块,并记为 index end end pbn:=index(s) 1块。 【知识模块】 操作系统实例分析 30 【正确答案】 UNIX操作系统块设备缓冲区的管理,与缓冲池技术类似,但它为了适应分时系统的要求,有其独特之处,即缓冲区动态地组成空闲缓冲区队列、设备缓冲区队列和设备 I/O请求队列,空闲缓冲区组成空闲队列 (AV链 ),按设备占用缓冲区构成散列队列 设备缓冲区队列,设备缓冲区队列中正在进行读 /写的缓冲区构成 I/O请求队列。设备用完缓冲区释放后只放在空闲缓冲区队列中,设
22、备缓冲区队列的关系保持不变。这样,在该缓冲区未被重新分配之前,缓冲区中的信息还可以为后来申请使用该缓冲区信息者使用,而减少访盘次数。在多个用户共享同一个文件的副本时,可以避免重复申请缓冲区,减少访盘次数。 UNIX操作系统块设备缓冲区的管理,最大的特色在于分配缓冲区的对象是设备而不是进程,这样,使用同一设备的进程尽可能共享缓冲区。 【知识模块】 操作系统实例分析 31 【正确答案】 在多道程序系统中,当某进程启动 I/O任务后随之被阻塞。当该I/O任务完成或发生某种事件时,由通道或控制器发来中断请求信号。但由于启动I/O任务的进程并没有运行 (被阻塞 )以致它不能被 中断,而被中断的是正在运行
23、的进程,它很可能与发出中断信号的 I/O任务无关,因此,它不知道 I/O任务的任何情况,从而无法对它进行响应。如果让启动该 I/O任务的进程负责对它进行响应,要求请求 I/O任务的进程应具有很好的实时性,而且系统应能根据中断信号的内容准确地调度到请求所对应 I/O任务的进程。因此通常由系统直接承担这个任务,为此专门设置了一个进程,称为设备驱动进程。用于对所有 I/O设备和通道的管理,处理来自各个 I/O任务的中断,以及诸进程提出的 I/O请求。 设备驱动程序的主要功能是: . 将接收到 的抽象要求转换为具体要求; . 检查用户 I/O请求的合法性,了解 I/O设备的状态,传递有关参数,设置指定的工作方式; . 发出 I/O命令,启动分配到的 I/O设备,完成指定的 I/O操作; . 及时响应有控制器或通道发来的中断请求,并根据其中断类型调用相应的中断处、理程序进行处理 【知识模块】 操作系统实例分析
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1