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