计算机操作系统常见考点.docx
《计算机操作系统常见考点.docx》由会员分享,可在线阅读,更多相关《计算机操作系统常见考点.docx(18页珍藏版)》请在冰豆网上搜索。
计算机操作系统常见考点
计算机操作系统常见考点
第1章计算机操作系统概述
简答题
1.叙述操作系统在计算机系统中的地位。
(5分)
答:
计算机操作系统是方便用户、管理和控制计算机软硬件资源的系统软件(或程序集合)。
操作系统在计算机系统中处于承上启下的地位。
作为最贴近硬件的第一层软件,操作系统是硬件的扩充。
操作系统虽属于系统软件,却又不同于其他的系统软件,其他系统软件都受操作系统的管理和控制,得到操作系统的支持和服务。
操作系统还为用户和计算机提供接口,具有友好方便的用户界面。
2.试对分时操作系统和实时操作系统进行比较。
(5分)
答:
实时操作系统与分时操作系统系统相比,其区别表现在三个方面
(1)分时系统的交互性较强,而实时系统一般是具有特殊用途的专用系统,交互能力较弱;
(2)实时系统对响应时间一般有严格的要求,要求更及时,而分时系统对响应时间的要求是以人们能接受的等待时间为依据的;(3)虽然分时系统也要求系统可靠,但实时系统对可靠性的要求更高。
3.简述DOS、Windows、UNIX/Linux操作系统各具有什么特点?
(9分)
答:
DOS主要是单用户单任务操作系统,是一种最简单的微机操作系统。
主要类型有MS-DOS,PC-DOS,CCDOS等。
Windows操作系统的主要特点是:
(1)图形用户界面;
(2)多任务处理;(3)设备无关性。
UNIX操作系统的主要特点是:
(1)可移植性好;
(2)多用户,多任务;(3)分时系统;(4)系统安全。
第2章作业管理
、简答题
1.作业调度和进程调度有什么区别?
(6分)
答:
作业调度与进程调度之间的差别主要是:
作业调度是宏观调度,它所选择的作业只是具有获得处理机的资格,但尚未占有处理机,不能立即在其上实际运行;而进程调度是微观调度,动态地把处理机实际地分配给所选择的进程,使之真正活动起来。
另外,进程调度相当频繁,而作业调度执行的次数一般很少。
2.试述系统调用与一般过程调用的主要区别。
(6分)
答:
系统调用在本质上是一种过程调用,但它是一种特殊的过程调用,它与一般过程调用的主要区别如下:
(1)运行状态不同。
一般的过程调用,其调用和被调用过程都是用户程序,它们都运行在同一系统状态下;而系统调用的调用过程是用户程序,它运行在用户态,其被调用过程是系统过程,运行在核心态。
(2)进入方式不同。
一般过程调用可以直接通过过程调用语句将控制转移到被调用过程;而执行系统调用时,由于调用和被调用过程处于不同系统状态,必须通过访管中断进入。
综合题
1.设有4道作业,它们的提交时间及执行时间如下:
作业号
提交时间
执行时间
1
2
3
4
10.0
10.2
10.4
10.5
2.0
1.0
0.5
0.3
试计算在单道程序环境下,采用先来先服务调度算法和最短作业优先调度算法时的平均周转时间和平均带权周转时间,并指出它们的调度顺序。
(时间单位:
小时,以十进制进行计算。
10分)
解:
若采用先来先服务调度算法,则其调度顺序为1、2、3、4。
作业号提交时间执行时间开始时间完成时间周转时间带权周转时间
110.02.010.012.02.01.0
210.21.012.013.02.82.8
310.40.513.013.53.16.2
410.50.313.513.83.311.0
平均周转时间=(2.0+2.8+3.l+3.3)/4=2.8
平均带权周转时间=(l.0+2.8+6.2+11.0)/4=5.25
若采用短作业优先调度算法,则其调度顺序为1、4、3、2。
作业号提交时间执行时间开始时间完成时间周转时间带权周转时间
110.02.010.012.02.01.0
410.50.312.012.31.86.0
310.40.512.312.82.44.8
210.21.012.813.83.63.6
平均周转时间=(2.0+l.8+2.4+3.6)/4=2.45
平均带权周转时间=(1.0+6+4.8+3.6)/4=3.85
2.假设有四个作业,它们的提交、运行时间如下表所示。
若采用响应比高者优先调度算法,试问平均周转时间和平均带权周转时间为多少?
(时间单位:
小时,以十进制进行计算。
10分)
作业号
到达时间
运行时间
1
2
3
4
8.0
8.3
8.5
9.0
2.0
0.5
0.l
0.4
【分析】所谓响应比高者优先调度算法,就是在每次调度作业运行时,先计算后备作业队列中每个作业的响应比,然后挑选响应比最高者投入运行。
响应比定义如下:
响应比=作业响应时间/运行时间的估计值
其中响应时间为作业进入系统后的等待时间加上估计的运行时间。
于是
响应比=1+作业等待时间/运行时间的估计值
在8:
00时,因为只有作业1到达,系统将作业1投入运行。
作业1运行2小时(即10:
00时)完成。
由于该算法采用响应比高者优先调度算法,这样在作业1执行完后,要计算剩下三个作业的响应比,然后选响应比高者去运行。
剩下三个作业的响应比为:
r2=l+(10.0-8.3)/0.5=4.4
r3=1+(10.0-8.5)/0.l=16
r4=l+(10.0-9.0)/0.4=3.5
从计算结果看,作业3的响应比高,所以让作业3先运行。
作业3运行0.1小时完成,此时,作业2和作业4的响应比为:
r2=l+(10.1-8.3)/0.5=4.6
r4=l+(10.l-9.0)/0.4=3.75
从上述计算结果看,作业2的响应比高,所以让作业2先运行。
因此四个作业的执行次序为:
作业1、作业3、作业2、作业4。
解:
四个作业的调度次序为:
作业1、作业3、作业2、作业4。
作业号到达时间运行时间开始时间完成时间周转时间带权周转时间
18.02.08.010.02.01.0
28.30.510.110.62.34.6
38.50.110.010.11.616.0
49.00.410.611.02.05.0
平均周转时间T=(2.0+2.3+l.6+2.0)/4=1.975
平均带权周转时间W=(l.0+4.6+16.0+5.0)/4=6.65
第3章文件管理
简答题
1.文件系统要解决哪些问题?
(4分)
答:
一般说来,文件系统应具备以下功能:
文件管理(如创建/删除文件,对文件的各种操作等),目录管理(创建/删除目录项,权限验证等),文件存储空间的管理(如外存空间的分配与回收),文件的共享和保护,提供方便的接口(如实现按名存取,文件系统调用等)。
2.简述文件的逻辑结构、物理结构及存取方法之间的关系。
(4分)
答:
由用户从使用角度确定的文件结构称为文件的逻辑结构;文件系统从文件的存储和检索的角度,在存储介质上的文件组织方式称为文件的物理结构。
文件的逻辑结构离不开文件的实际物理结构,同时又与文件的存取方法有关。
按存取的次序分,文件的存取方法分为顺序存取和直接存取。
一般来说,对顺序存取的文件,文件系统可把它组织成顺序文件和链接文件;对于随机存取的文件,文件系统可把它组织成索引文件。
但索引文件也可以进行顺序存取。
3.常用的文件存取控制方式有哪些?
(4分)
答:
主要有存取控制矩阵、用户权限表、使用口令、使用密码。
4.UNIX文件系统的主要特点是什么?
(6分)
答:
UNIX/Linux文件系统的主要特点有:
(1)UNIX或Linux文件系统的目录组织是一个树形结构;
(2)文件本身是无结构的字符流;(3)UNIX或Linux文件系统把外部设备做成特殊文件,与普通文件一并进行管理。
5.文件系统的系统调用内容是什么?
(6分)
答:
文件的创建(create)、打开(open)、读(read)、写(write)、关闭(close)、删除(delete)。
第4章存储管理
简答题
1.存储管理的主要功能是什么?
(4分)
答:
存储管理的主要功能包括:
(1)主存空间的分配和回收;
(2)将用户的逻辑地址转换成主存的物理地址,完成重定位;(3)主存空间的共享和保护;(4)使用“虚拟存储器”,扩充主存空间。
2.名词解释:
逻辑地址与物理地址(4分)
答:
在具有地址变换机构的计算机中,允许程序中编排的地址和信息实际存放在内存中的地址有所不同,前者称为逻辑地址,后者称为物理地址。
3.什么是虚拟存储器?
其基本特征有哪些?
(6分)
答:
虚拟存储器实际上是为扩大贮存容量而采用的一种设计技巧,它是由操作系统调度,采用内外存的交换技术,各道程序在必需使用时调入内存,不用的调出内存,这祥好像内存容量不受限制。
虚拟存储器的基本特征主要有:
虚拟扩充,并非真正扩充了主存空间;作业部分装入;主存空间离散分配;程序和数据在主存和辅存之间多次对换。
4.简述什么是内存的覆盖和交换技术?
两者有什么区别?
(6分)
答:
在多道系统中,交换是指系统把内存中暂时不能运行的某部分作业写入外存交换区,腾出空间,把外存交换区中具备运行条件的指定作业调入内存。
交换是以时间来换取空间,减少对换的信息量和时间是设计时要考虑的问题。
由于CPU在某一时刻只能执行一条指令,所以一个作业不需要一开始就全装入内存,于是将作业的常驻部分装入内存,而让那些不会同时执行的部分共享同一块内存区,后调入共享区的内容覆盖前面调入的内容,这就是内存的覆盖技术。
交换技术由操作系统自动完成,不需要用户参与,而覆盖技术需要专业的程序员给出作业各部分之间的覆盖结构,并清楚系统的存储结构;交换技术主要在不同作业之间进行,而覆盖技术主要在同一个作业内进行;另外覆盖技术主要在早期的操作系统中采用,而交换技术在现代操作系统中仍具有较强的生命力。
综合题
1.下表给出了某系统中的空闲分区表,系统采用可变式分区存储管理策略。
现有以下作业序列:
96K、20K、200K。
若采用首次适应算法和最佳适应算法来处理这些作业序列,试问哪一种算法可以满足该作业序列的请求,为什么?
(4分)
分区号
大小
起始地址
1
2
3
4
5
32K
10K
5K
218K
96K
100K
150K
200K
220K
530K
分析:
首次适应算法要求空闲分区按地址递增的次序排列,在进行内存分配时,总是从空闲分区表首开始顺序查找,直到找到第一个能满足其大小要求的空闲分区为止。
然后,再按照作业大小,从该分区中划出一块内存空间分配给请求者,余下的空闲分区仍留在空闲分区表中。
最佳适应算法要求空闲分区按大小递增的次序排列,在进行内存分配时,总是从空闲分区表首开始顺序查找,直到找到第一个能满足其大小要求的空闲分区为止。
如果该空闲分区大于作业的大小,则与首次适应算法相同,将剩余空闲区仍留在空闲区表中。
解:
若采用首次适应算法,在申请96K存储区时,选中的是4号分区,进行分配后4号分区还剩下122K;接着申请20K,选中1号分区,分配后剩下12K;最后申请200K,现有的五个分区都无法满足要求,该作业等待。
显然采用首次适应算法进行内存分配,无法满足该作业序列的需求。
这时的空闲分区表如下表所示。
采用首次适应算法分配后的空闲分区表
分区号大小起始地址
112K120K
210K150K
35K200K
4122K316K
596K530K
若采用最佳适应算法,在申请96K存储区时,选中的是5号分区,5号分区大小与申请空间大小一致,应从空闲分区表中删去该表项;接着申请20K时,选中1号分区,分配后1号分区还剩下12K:
最后申请200K,选中4号分区,分配后剩下18K。
显然采用最佳适应算法进行内存分配,可以满足该作业序列的需求。
为作业序列分配了内存空间后,空闲分区表如下表所示。
最佳适应算法分配后的空闲分区表
分区号大小起始地址
112K120K
210K150K
35K200K
418K420K
2.某虚拟存储器的用户编程空间共32个页面,每页为1KB,内存为16KB。
假定某时刻一用户页表中已调入内存的页面的页号和物理块号的对照表如下:
页号
物理块号
0
5
1
10
2
4
3
7
则逻辑地址0A5C(H)所对应的物理地址是什么?
(4分)
解:
页式存储管理的逻辑地址分为两部分:
页号和页内地址。
由已知条件“用户编程空间共32个页面”,可知页号部分占5位;由“每页为1KB”,1K=210,可知内页地址占10位。
由“内存为16KB”,可知有16块,块号为4位。
逻辑地址0A5C(H)所对应的二进制表示形式是:
000101001011100,根据上面的分析,下划线部分为页内地址,编码“00010”为页号,表示该逻辑地址对应的页号为2。
查页表,得到物理块号是4(十进制),即物理块地址为:
0100,拼接块内地址1001011100,得01001001011100,即125C(H)。
3.考虑下述页面走向:
1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6
当内存块数量分别为3时,试问先进先出(FIFO)、最近最少使用算法(LRU)、最优淘汰算法(OPT)这三种置换算法的缺页次数各是多少?
(6分)
分析:
以FIFO算法为例,首先要清楚FIFO的概念,即先进先出,先进入内存的页面先被换出内存,总是选择在内存中停留时间最长的一页淘汰。
理由是最早调入内存的页面,其不再被使用的可能性要大于刚调入内存的页。
其次,按照上面的思想,画一张内存使用情况的简图。
我们认为所有内存块最初都是空的,第一次用到的页面都产生一次缺页。
当内存块数量为3时,下图是使用FIFO算法是内存的变化情况:
页面1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6
块11114446663332226
块2222111222777111
块333355511166633
缺页⨯⨯⨯⨯⨯⨯⨯⨯⨯⨯⨯⨯⨯⨯⨯⨯
划⨯的项表示发生了缺页中断。
因此,FIFO算法发生缺页中断的次数为16。
在FIFO算法中,当页6要调入时,内存的状态为4、1、5,考查页6之前调入的页面,分别为5、1、2、4、…(其中5是紧挨着6之前的那个页面),可见这些页面中4为最先进入内存的,本次应换出,然后把页6调入内存,所以页面6替换了页面4。
按照这个思路,
LRU1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6
块1111445551177222
块222222666333333
块33311122226616
缺页⨯⨯⨯⨯⨯⨯⨯⨯⨯⨯⨯⨯⨯⨯⨯
因此,LRU算法发生缺页中断的次数为15。
在LRU算法中,最近最少使用的页面被先换出。
当页6要调入时,内存的状态为5、2、1,考查页6之前调入的页面,分别为5、1、2,可见2为最近一段时间内使用最少的,本次应换出,然后把页6调入内存。
OPT1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6
块111111133336
块22222227222
块3345666611
缺页⨯⨯⨯⨯⨯⨯⨯⨯⨯⨯⨯
因此,OPT算法发生缺页中断的次数为11。
在OPT算法中,在最远的将来才被访问的页面被先换出。
当页6要调入时,内存的状态为1、2、5,考查页6后面要调入的页面,分别为2、1、2、…,可见5为最近一段时间内使用最少的,本次应换出,然后把页6调入内存。
第5章输入输出设备管理
简答题
1.按资源分配管理技术,输入输出设备类型可分为哪三类?
(3分)
答:
按资源特点可分为:
输入输出设备可分为独占设备、共享设备和虚拟设备。
2.设备驱动程序是什么?
为什么要有设备驱动程序,用户进程怎样使用驱动程序?
(6分)
答:
设备驱动进程(I/O进程,进程是并发环境下程序的一次执行)与设备控制器之间的通信程序称为设备驱动程序。
设备驱动程序是控制设备动作的核心模块,如设备的打开、关闭、读、写等,用来控制设备上数据的传输。
它直接与硬件密切相关,处理用户进程发出的I/O请求。
(设备控制的三个关键寄存器内容要素:
地址、数据和控制信号寄存器——叫某某人、干、什么事)
用户进程使用设备驱动程序时,设备驱动程序的处理过程为:
将用户进程抽象的I/O要求转换为具体的要求,检查I/O请求的合法性,读出和检查设备的状态,传送必要的参数,设置设备工作方式,启动I/O设备。
3.为什么要引入缓冲技术?
(3分)
答:
为了匹配外设与CPU之间的处理速度,为了减少中断次数以及CPU和中断处理时间,也为了解决DMA和通道方式的瓶颈问题,在设备管理中引入了用来暂存数据的缓冲技术。
4.SPOOLing技术如何使一台打印机虚拟成多台打印机?
(4分)
答:
当用户进程请求打印输出时,操作系统并不真正把打印机分配给该用户进程,而是为进程在磁盘上的输出井中分配一个空闲盘区,并将要打印的数据送入其中,同时还为用户进程申请一张用户请求打印表,将用户的打印要求填入其中,再将该表挂在请求打印队列上。
如果打印机空闲,输出进程将从请求打印队列的队首取出一张请求打印表,根据表中的要求将要打印的数据从输出井传送到内存的输出缓冲区,再由打印机进行打印。
第6章进程及处理机管理
简答题
1.操作系统为什么要引入进程?
进程与程序的关系是怎样的?
(6分)
答:
引入进程的目的是为了描述程序动态执行时的活动规律和状态变化。
进程和程序是既有联系又有区别的两个概念,它们的主要区别如下:
(1)程序是指令的有序集合,其本身没有任何运行的含义,它是一个静态的概念。
而进程是程序在CPU上的一次执行过程,它是一个动态概念。
(2)程序的存在是永久的。
而进程则是有生命期的,它因创建而产生,因调度而执行,因得不到资源而暂停,因撤销而消亡。
(3)程序仅是指令的有序集合。
而进程则由程序、数据和进程控制块组成。
(4)进程和程序无一一对应关系,即同一个程序同时运行于若干不同的数据集合上,它将属于若干个不同的进程。
而一个进程可以执行多个程序。
(5)进程可以生成其他进程,而程序不能生成新的程序。
2.一个进程入睡时其断点落在何处?
它被唤醒后从何处继续原来的执行?
(5分)
答:
一个进程入睡是指该进程由于缺乏资源不能占用CPU,进入等待状态。
一个进程由程序、数据集合和进程控制块(PCB)组成。
PCB是进程存在的唯一标志。
PCB中包括如下内容:
进程标志号、进程状态(执行/就绪/等待)、进程标志、进程优先数、程序地址、现场保护区(通常被保护的信息有程序计数器、程序状态字、各个工作寄存器等)、通信机构、其他信息等。
处于睡眠状态的进程,它的断点在它的PCB中的现场保护区中保护起来。
保存程序运行的CPU现场,以便在将来的某一时刻恢复并继续原来的运行。
它被唤醒后,把它从等待进程队列中摘下,将进程状态改为就绪,然后将它插入到就绪队列中;等它占用CPU进入执行状态时,从断点处继续执行。
3.高级进程通信方式有哪些?
(4分)
答:
有共享存储器、管道文件和消息传递。
4.什么是死锁?
(2分)
答:
死锁是两个或两个以上的进程中的每一个都在等待其中另一个进程释放资源而被封锁,它们都无法向前推进,这种现象称为死锁。
综合题
1.有一个阅览室,共有100个座位,读者进人时必须先在一张登记表上登记,该表为每一座位列一表目,包括座号和读者姓名等,读者离开时要消掉登记的信息,试问:
(1)为描述读者的动作,应编写几个程序,设置几个进程?
(2)试用PV操作描述读者进程之间的同步关系。
(8分)
解:
读者的动作有两个,一是填表进入阅览室,这时要考虑阅览室里是否有座位;一是读者阅读完毕,离开阅览室,这时的操作要考虑阅览室里是否有读者。
读者在阅览室读书时,由于没有引起资源的变动,不算动作变化。
算法的信号量有三个:
seats——表示阅览室是否有座位(初值为100,代表阅览室的空座位数);readers——表示阅览室里的读者数,初值为0;用于互斥的mutex,初值为1。
读者进入阅览室的动作描述getin:
while(TRUE){
P(seats);/*没有座位则离开*/
P(mutex)/*进入临界区*/
填写登记表;
进入阅览室读书;
V(mutex)/*离开临界区*/
V(readers)
}
读者离开阅览室的动作描述getout:
while(TRUE){
P(readers)/*阅览室是否有人读书*/
P(mutex)/*进入临界区*/
消掉登记;
离开阅览室;
V(mutex)/*离开临界区*/
V(seats)/*释放一个座位资源*/
}
2.设公共汽车上,司机和售票员的活动分别是:
司机的活动:
启动车辆;
正常行车;
到站停车;
售票员的活动:
关车门;
售票;
开车门;
在汽车不断地到站、停车、行驶过程中,这两个活动有什么同步关系?
用信号量和P、V操作实现它们的同步。
(8分)
解:
在汽车行驶过程中,司机活动与售票员活动之间的同步关系为:
售票员关车门后,向司机发开车信号,司机接到开车信号后启动车辆,在汽车正常行驶过程中售票员售票,到站时司机停车,售票员在车停后开车门让乘客上下车。
因此司机启动车辆的动作必须与售票员关车门的动作取得同步;售票员开车门的动作也必须与司机停车取得同步,
在本题中,应设置两个信号量:
S1、S2。
S1表示是否允许司机启动汽车,其初值为0;S2表示是否允许售票员开门,其初值为0。
用P、V原语描述如下:
intSl=0;
intS2=0;
main()
{
cobegin
driver();
busman();
coend
}
driver()
{
while
(1)
{
P(S1);
启动车辆;
正常行车;
到站停车;
V(S2);
}
}
busman()
{
while
(1)
{
关车门;
V(Sl);
售票;
P(S2);
开车门;
上下乘客;
}
}
用P、V操作来控制现实生活中的操作流程是一类常见的试题。
这类试题要求解题者能将生活中的控制流程用形式化的方式表达出来。
第7章操作系统结构和程序设计
简答题操作系统设计的基本方法有哪些?
(5分)
答:
操作系统设计的基本方法主要有模块接口法和层次结构法。
模块接口法是