1.设计现代OS的主要目标是什么?
答:(1)有效性 (2)方便性 (3)可扩充性 (4)开放性
2.OS的作用可表现在哪几个方面?
答:
(1)OS作为用户与计算机硬件系统之间的接口
(2)OS作为计算机系统资源的管理者
(3)OS实现了对计算机资源的抽象
3.试说明推动多道批处理系统形成和发展的主要动力是什么?
答:
主要动力来源于四个方面的社会需求与技术发展:
(1)不断提高计算机资源的利用率
(2)方便用户
(3)器件的不断更新换代
(4)计算机体系结构的不断发展
13.OS有哪几大特征?其最基本的特征是什么?
答:并发性、共享性、虚拟性和异步性四个基本特征;最基本的特征是并发性。
18.是什么原因使操作系统具有异步性特征?
答:
操作系统的异步性体现在三个方面:
一是进程的异步性,进程以人们不可预知的速度向前推进
二是程序的不可再现性,即程序执行的结果有时是不确定的
三是程序执行时间的不可预知性,即每个程序何时执行,执行顺序以及完成时间是不确定的。
相关解释:
在多道程序环境下,允许多个进程并发执行。但由于资源等因素的限制,进程的执行通常并非一气呵成,而是以走走停停的方式运行。内存中的每个进程在何时执行,何时暂停,以怎样的速度向前推进,每道程序总共需要多少时间才能完成,都是不可预知的。故而作业完成的先后次序与进入内存的次序并不完全一致,亦即进程是以异步方式运行的。但在有关进程控制及同步机制等的支持下,只要运行环境相同,作业经多次运行,都会获得完全相同的结果,因而异步方式是容许的。因此,操作系统便具有了异步性特征。
5.在操作系统中为什么要引入进程概念?它会产生什么样的影响?
答:为了使程序在多道程序环境下能并发执行,并对并发执行的程序加以控制和描述,在操作系统中引入了进程概念。
影响: 使程序的并发执行得以实行。
相关资料:
进程是对运行程序过程的抽象,也是一个数据结构,旨在清晰地描述动态系统的内在规律,有效地管理和调度运行到计算机系统主内存中的程序。在操作系统中引入进程的概念,是为了实现多个程序的并发执行。传统的程序不能与其他程序并发执行,只有在为之创建进程后,才能与其他程序(进程)并发执行。这是因为并发执行的程序(即进程)是“停停走走”地执行,只有在为它创建进程后,在它停下时,方能将其现场信息保存在它的PCB中,待下次被调度执行时,再从PCB中恢复CPU现场并继续执行,而传统的程序却无法满足上述要求。建立进程所带来的好处是使多个程序能并发执行,这极大地提高了资源利用率和系统吞吐量。但管理进程也需付出一定的代价,包括进程控制块及协调各运行机构所占用的内存空间开销,以及为进行进程间的切换、同步及通信等所付出的时间开销。
7.试说明PCB 的作用具体表现在哪几个方面,为什么说PCB 是进程存在的惟一标志?
答:
作用:
进程控制块用来保存每个进程和资源的相关信息,包括进程标识、空间、运行状态、资源等相关信息。以便操作系统控制和管理进程和资源。因而它的作用是使一个在多道程序环境下不能独立运行的程序(含数据),称为一个能独立运行的基本单位,一个能和其他进程并发执行的进程。作为独立运行基本单位的标志;实现独立间断性运行;提供进程管理所需要的信息;提供进程调度所需要的信息;实现与其他进程的同步和通信。
PCB 是进程存在的惟一标志:
在进程的整个生命周期中,系统总是通过其PCB对进程进行控制,系统是根据进程的PCB而不是任何别的什么而感知到该进程存在的,所以说PCB是进程存在的唯一标志。
11.试说明进程在三个基本状态之间转换的典型原因。
答:
(1)就绪状态→执行状态:进程分配到CPU资源
(2)执行状态→就绪状态:时间片用完
(3)执行状态→阻塞状态:I/O请求
(4)阻塞状态→就绪状态:I/O完成
19.为什么要在OS 中引入线程?
答:
在操作系统中引入线程,则是为了减少程序在并发执行时所付出的时空开销,使OS具有更好的并发性,提高CPU的利用率。进程是分配资源的基本单位,而线程则是系统调度的基本单位。
20.试说明线程具有哪些属性?
答:
(1)轻型实体:
线程中的实体基本上不拥有系统资源,只是有一点必不可少的、能保证独立运行的资源,比如,在每个线程中都应具有一个用于控制线程运行的线程控制块TCB,用于指示被执行指令序列的程序计数器、保留局部变量、少数状态参数和返回地址等的一组寄存器和堆栈。
(2)独立调度和分派的基本单位:
在多线程OS中,线程是能独立运行的基本单位,因而也是独立调度和分派的基本单位。由于线程很“轻”,故线程的切换非常迅速且开销小。
(3)可并发执行:
在一个进程中的多个线程之间,可以并发执行,甚至允许在一个进程中所有线程都能并发执行;同样,不同进程中的线程也能并发执行。
(4)共享进程资源:
在同一进程中的各个线程,都可以共享该进程所拥有的资源,这首先表现在:所有线程都具有相同的地址空间(进程的地址空间),这意味着,线程可以访问该地址空间的每一个虚地址;此外,还可以访问进程所拥有的已打开文件、定时器、信号量机构等。
1.高级调度与低级调度的主要任务是什么?为什么要引入中级调度?
答:
高级调度又称为作业调度:它是批处理系统中使用的一种调度。其主要任务是按照某种算法从外存的后备队列上选择一个或多个作业调入内存,并为其创建进程、分配必要的资源,然后再将所创建的进程控制块插入就绪队列中。
低级调度又称进程调度:它是距离硬件最近的一级调度。其主要任务是按照某种算法从就绪队列上选择一个(或多个)进程,使其获得CPU。
引入中级调度的目的是为了提高内存利用率和系统吞吐量。其功能是,让那些暂时不能运行的进程不再占用宝贵的内存资源,而是调其到外存上等候。此时的进程状态为挂起状态。当这些进程重新具备运行条件且内存空闲时,由中级调度选择一部分挂起状态的进程调入内存并将其状态变为就绪状态。
12.试比较FCFS和SPF两种进程调度算法。
答:
相同点:两种调度算法都可以用于作业调度和进程调度。
不同点:
FCFS算法每次都从后备队列中选择一个或多个最先进入该队列的作业,将它们调入内存、分配资源、创建进程、插入到就绪队列。该算法有利于长作业/进程,不利于短作业/进程。
SPF算法每次调度都从后备队列中选择一个或若干个估计运行时间最短的作业,调入内存中运行。该算法有利于短作业/进程,不利于长作业/进程。
15.为什么说多级反馈队列调度算法能较好地满足各方面用户的需求?
答:
(1)终端型作业用户提交的作业大多属于较小的交互型作业,系统只要使这些作业在第一队列规定的时间片内完成,终端作业用户就会感到满足。
(2)短批处理作业用户,开始时像终端型作业一样,如果在第一队列中执行一个时间片段即可完成,便可获得与终端作业一样的响应时间。对于稍长作业,通常只需在第二和第三队列各执行一时间片即可完成,其周转时间仍然较短。
(3)长批处理作业,它将依次在第1,2,…,n个队列中运行,然后再按轮转方式运行,用户不必担心其作业长期得不到处理。所以,多级反馈队列调度算法能满足多用户需求。
27.何谓死锁?产生死锁的原因和必要条件是什么?
答:
死锁:指多个进程在运行过程中因争夺资源而造成的一种僵局,当进程处于这种僵持状态时,若无外力作用,它们都将无法再向前推进。
产生死锁的原因:竞争资源和进程间推进顺序非法。
必要条件:互斥条件、请求和保持条件、不剥夺条件、环路等待条件。
30.银行家算法的例子中,如果P0发出请求向量由Request(0,2,0)改为Request(0,1,0),问系统可否将资源分配给它?
答:
P0发出请求向量Requst0(0,1,0),按银行家算法进行检查:
①Request0(0,1,0)≤Need0(7,4,3):
②Request0(0,1,0)≤Available(2,3,0);
③系统暂时先假定可为P0分配资源,修改Available,Allocation1和Need1向量在下面数据结构中的数值:
Available[j]=Available[j]-Request[i,j];
Allocation [i,j]=Allocation [i,j]+Request[i,j];
Need [i,j]=Need [i,j]-Request[i,j];
计算结果为:
Available0=Available0(2,3,0)-Request0(0,1,0)=(2,2,0)
Allocation0=Allocation0(0,1,0)+Request0 (0,1,0)=(0,2,0)
Need0=Need0(7,4,3)-Request0(0,1,0)=(7,3,3)
可以找到一个安全序列(P1,P3,P4,P2,P0},所以系统是安全的,系统可以立即将P1所申请的资源(0,1,0)分配给它。给P1分配资源之后,系统的资源数目Available=(2,2,0)
31.在银行家算法中,若出现下述资源分配情况:
2.可采用哪几种方式将程序装入内存?它们分别适用于何种场合?
答:
将程序装入内存可采用的方式有:绝对装入方式、重定位装入方式、动态运行时装入方式。
绝对装入方式适用于单道程序环境中,重定位装入方式和动态运行时装入方式适用于多道程序环境中。
7.为什么要引入动态重定位?如何实现?
答:
程序在运行过程中经常要在内存中移动位置,为了保证这些被移动了的程序还能正常执行,必须对程序和数据的地址加以修改,即重定位。引入重定位的目的就是为了满足程序的这种需要。
要在不影响指令执行速度的同时实现地址变换,必须有硬件地址变换机构的支持,即须在系统中增设一个重定位寄存器,用它来存放程序在内存中的起始地址。程序在执行时,真正访问的内存地址是相对地址与重定位寄存器中的地址相加而形成的。
18.什么是页面?什么是物理块?页面的大小应如何确定?
答:
页面:分页存储管理将进程的逻辑地址空间分成若干个页,并为各页加以编号。
物理块:把内存的物理地址空间分成若干个块,并为各块加以编号。
页面大小应选择适中,且页面大小应该是2的幂,通常为1KB~8KB。
19.什么是页表?页表的作用是什么?
答:
页表是分页式存储管理使用的数据结构。一个进程分为多少页,它的页表就有多少行。每一行记录进程的一页和它存放的物理块的页号、块号对应关系。
页表用于进行地址变换,实现从页号到物理块号的地址映射。
24.在具有快表的段页式存储管理方式中,如何实现地址变换?
答:
在CPU给出有效地址后,由地址变换机构自动将页号P送入高速缓冲寄存器,并将此页号与高速缓存中的所有页号比较,若找到匹配页号,表示要访问的页表项在快表中。可直接从快表读出该页对应物理块号,送到物理地址寄存器中。如快表中没有对应页表项,则再访问内存页表,找到后,把从页表项中读出的物理块号送入地址寄存器;同时修改快表,将此页表项存入快表。但若寄存器已满,则0S必须找到合适的页表项换出。
26.分页和分段有何区别?
答:
共同点:分页和分段都采用离散分配的方式,且都要通过地址映射机构来实现地址变换。
不同点:
第一,从功能上看,页是信息的物理单位,分页是为实现离散分配方式,以消减内存的外零头,提高内存的利用率,即满足系统管理的需要,而不是用户的需要;而段是信息的逻辑单位,它含有一组其意义相对完整的信息,目的是为了能更好地满足用户的需要;
第二页的大小固定且由系统确定,而段的长度却不固定,决定于用户所编写的程序;
第三分页的作业地址空间是一维的,而分段的作业地址空间是二维的。
3.虚拟存储器有哪些特征?其中最本质的特征是什么?
答:虚拟存储器有多次性、对换性、虚拟性三大特征。最本质的特征是虚拟性。
5.实现虚拟存储器需要哪几个关键技术?
答:
(1)在分页请求系统中是在分页的基础上,增加了请求调页功能和页面置换功能所形成的页式虚拟存储系统。允许只装入少数页面的程序(及数据),使启动运行。
(2)在请求分段系统中是在分段系统的基础上,增加了请求调段及分段置换功能后形成的段式虚拟存储系统。允许只装入少数段(而非所有段)的用户程序和数据,即可启动运行。
13.在一个请求分页系统中,采用FIFO页面置换算法时,假如一个作业的页面走向为4、3、2、1、4、3、5、4、3、2、1、5,当分配给该作业的物理块数M分别为3和4时,试计算在访问过程中所发生的缺页次数和缺页率,并比较所得结果。
M=3时,采用FIFO页面置换算法的缺页次数为9次,缺页率为75%;M=4时,采用FIFO页面置换算法的缺页次数为10次,缺页率为83%。
由此可见,增加分配给作业的内存块数,反而增加了缺页次数,提高了缺页率,这种现象被称为是Belady现象。
注意:为什么是九次,这是因为刚开始的时候里面是没有的,当需要4这个页面的时候,里面没有,就产生一次缺页,前面几个都是如此,这是个容易令人忽视的细节。(为什么会突然加上这个说明,来源于本人的一次深刻经历,顺便提醒自己)
15.试说明改进型Clock置换算法的基本原理.
答:因为修改过的页面在换出时付出的开销比未被修改过的页面大,在改进型Clock算法中,既考虑页面的使用情况,还要增加置换代价的因素;在选择页面作为淘汰页面时,把同时满足未使用过和未被修改作为首选淘汰页面。
21.试试说明如何利用“L=S”准则来调节缺页率,以避免“抖动”的发生?
答:Denning于1980年提出了“L=S”的准则来调节多道程序度,其中L是缺页之间的平均时间,S是平均缺页服务时间,即用于置换一个页面所需的时间。如果是L远比S大,说明很少发生缺页,磁盘的能力尚未得到充分的利用;反之,如果是L比S小,则说明频繁发生缺页,缺页的速度已超过磁盘的处理能力。只有当L与S接近时,磁盘和处理机都可达到它们的最大利用率。理论和实践都已证明,利用“L=S”准则,对于调节缺页率是十分有效的。
1.试说明I/0系统的基本功能。
答:a. 隐藏物理设备的细节
b. 与设备的无关性
c. 提高处理机和I/0设备的利用率
d. 对I/0设备进行控制
e.确保对设备的正确共享
f. 错误处理
5.试说明设备控制器的组成。
答:设置控制器与处理机的接口;设备控制器与设备的接口;I/0逻辑。
16.有哪几种I/0控制方式?各适用于何种场合?
答:
1、程序I/O方式
适用于:早期计算机无中断机构,处理机对I/O设备的控制采用程序I/O方式或称忙等的方式。
2、中断驱动I/O控制方式
适用于:适用于有中断机构的计算机系统中。
3、直接存储器访间(DMA)I/O控制方式
适用于:具有DMA控制器的计算机系统中。
4、I/O通道控制方式
适用于:具有通道程序的计算机系统中。
21.何谓设备虚拟?实现设备虚拟式所依赖的关键技术是什么?
答:通过虚拟技术可将一台独占设备变换成若干台逻辑设备,供若干个用户(进程)同时使用,通常把这种经过虚拟技术处理后的设备称为虚拟设备。其实现所依赖的关键技术是SPOOLING技术。
25.在单缓冲情况下,为什么系统对一块数据的处理时间为max(C,T)+M?
答:
在块设备输入时,假定从磁盘把一块数据输入到缓冲区的时间为T;操作系统将缓冲区数据传送给用户区的时间为M;而CPU对这一块数据进行计算得时间为C。
在单缓冲情况下,由于设备的输入操作和CPU的处理操作可以并行,所以系统对每一整块数据的处理时间为max(C,T)+M。
26.为什么在双缓冲情况下,系统对一块数据的处理时间为max(C,T)?
答:
该方式又称缓冲对换方式,在设备输入时,先将数据送入第一缓冲区,装满后便转向第二缓冲区。此时操作系统可以从第一缓冲区移出数据,并送入用户进程。
接着由CPU对数据进行计算。在双缓冲区中,不仅设备的输入操作和CPU的处理操作可以并行,设备的输入操作和数据的传送操作也可以并行,因此耗时大约为max(C+M,T)。考虑到M是内存中数据块的“搬家”耗时,非常短暂可以省略,因此近似地认为是:max(C,T)。
31.目前常用的磁盘调度算法有哪几种?每种算法优先考虑的问题是什么?
答:
目前常用的磁盘调度算法有先来先服务、最短寻道时间优先及扫描等算法。
(1)先来先服务算法,优先考虑进程请求访问磁盘的先后次序;
(2)最短寻道时间优先算法,优先考虑要求访问的磁道与当前磁头所在磁道距离是否最近:
(3)扫描算法,考虑欲访问的磁道与当前磁道间的距离,更优先考虑磁头当前的移动方向。
2.文件系统的模型可分为三层,试说明其每一层所包含的基本内容。
答:
第一层:对象及其属性说明(文件、目录、硬盘或磁带存储空间);
第二层:对对象操纵和管理的软件集合(I/O控制层即设备驱动程序、基本文件系统即物理I/O层、基本I/O管理程序或文件组织模块层、逻辑文件系统层)
第三层:文件系统接口(命令接口/图形化用户接口与程序接口)。
6. 何谓文件的逻辑结构? 何谓文件的物理结构?
答:
(1)文件的逻辑结构:这是从用户观点出发所观察到的文件组织形式,即文件是由一系列的逻辑记录组成的,是用户可以直接处理的数据及其结构,它独立于文件的物理特性,又称为文件组织。
(2)文件的物理结构:又称为文件的存储结构。这是指系统将文件存储在外存上所形成的一种存储组织形式,是用户不能看见的。
7. 按文件的组织方式可将文件分为哪几种类型?
答:顺序文件、索引文件和索引顺序文件
16.目前广泛采用的目录结构形式是哪种?它有什么优点?
答:
现代操作系统都采用多级目录结构。
基本特点是查询速度快、层次结构清晰、文件管理和保护易于实现。
29.什么是访问控制表?什么是访问权限表?
答:
访问控制表是指对访问矩阵按列划分,为每列建立一张访问控制表ACL,由有序对(域,权集)组成,用来保证系统安全性的一种手段。
访问权限表是指对访问矩阵按行划分,由每行构成一张访问权限表。
7.在MS-DOS中有两个文件A和B,A占用11、12、16和14四个盘块;B占用13、18、和20三个盘块。试画出文件A和文件B中各盘块间的链接情况及FAT的情况。
答:
10.为了快速访问,又易于更新,当数据为以下形式时,应选用何种文件组织方式。
⑴ 不经常更新,经常随机访问;⑵经常更新,经常按一定顺序访问;⑶经常更新,经常随机访问;
答:以上三种宜分别采用(1)顺序结构(2)索引顺序结构(3)索引结构的组织方式。
14
答:
⑴ 顺序扫描位示图,从中找到第一个值为0的二进制位,得到行号i=3,列号j=3。
⑵ 将找到的二进制位转换成对应盘块号。盘块号为:b=(3-1)*16+3=35;
⑶ 修改位示图,令map[3,3]=1,并将该盘块分配出去。类似地,可使用相同的方法找到第二个值为0的二进制位,得到行号i=4,列号j=7,其对应的盘块号为55,令map[i,j]=1,并将该盘块分配出去。
21.试说明廉价磁盘冗余阵列 RAID 的主要优点。
答:优点:容量大、速度快、可靠性高、造价低廉。