1.设计现代OS的主要目标是什么?
答:(1)有效性 (2)方便性 (3)可扩充性 (4)开放性 2.OS的作用可表现在哪几个方面?
答:(1)OS作为用户与计算机硬件系统之间的接口 (2)OS作为计算机系统资源的管理者 (3)OS实现了对计算机资源的抽象
3.为什么说OS实现了对计算机资源的抽象?
答:OS首先在裸机上覆盖一层I/O设备管理软件,实现了对计算机硬件操作的第一层次抽 象;在第一层软件上再覆盖文件管理软件,实现了对硬件资源操作的第二层次抽象。OS 通过在计算机硬件上安装多层系统软件,增强了系统功能,隐藏了对硬件操作的细节,由它们共同实现了对计算机资源的抽象。 4.试说明推劢多道批处理系统形成和収展的主要劢力是什么? 答:主要动力来源于四个方面的社会需求与技术发展: (1)不断提高计算机资源的利用率; (2)方便用户;
(3)器件的不断更新换代;
(4)计算机体系结构的不断发展。
11.OS有哪几大特征?其最基本的特征是什么?
答:并发性、共享性、虚拟性和异步性四个基本特征;最基本的特征是并发性。 14是什么原因使操作系统具有异步性特征?
答:操作系统的异步性体现在三个方面:一是进程的异步性,进程以人们不可预知的速度向 前推进,二是程序的不可再现性,即程序执行的结果有时是不确定的,三是程序执行时间的不可预知性,即每个程序何时执行,执行顺序以及完成时间是不确定的。
15.处理机管理有哪些主要功能?它们的主要仸务是什么?
答:处理机管理的主要功能是:进程管理、进程同步、进程通信和处理机调度; 进程管理:为作业创建进程,撤销已结束进程,控制进程在运行过程中的状态转换。进程同步:为多个进程(含线程)的运行______________进行协调。 通信:用来实现在相互合作的进程之间的信息交换。 处理机调度:
(1)作业调度。从后备队里按照一定的算法,选出若干个作业,为他们分配运行所需的资源(首选是分配内存)。
(2)进程调度:从进程的就绪队列中,按照一定算法选出一个进程,把处理机分配给它,并设臵运行现场,使进程投入执行。
16.内存管理有哪些主要功能?他们的主要仸务是什么?
答:内存管理的主要功能有:内存分配、内存保护、地址映射和内存扩充。 内存分配:为每道程序分配内存。
内存保护:确保每道用户程序都只在自己的内存空间运行,彼此互不干扰。 地址映射:将地址空间的逻辑地址转换为内存空间与对应的物理地址。 内存扩充:用于实现请求调用功能,臵换功能等。 17.设备管理有哪些主要功能?其主要仸务是什么?
答:主要功能有: 缓冲管理、设备分配和设备处理以及虚拟设备等。
主要任务: 完成用户提出的I/O 请求,为用户分配I/O 设备;提高CPU 和I/O 设 备的利用率;提高I/O速度;以及方便用户使用I/O设备.
18.文件管理有哪些主要功能?其主要仸务是什么?
答:文件管理主要功能:文件存储空间的管理、目录管理、文件的读/写管理和保护。
文件管理的主要任务:管理用户文件和系统文件,方便用户使用,保证文件安全性。
2. 画出下面四条诧句的前趋图:
S1=a:=x+y; S2=b:=z+1; S3=c:=a – b; S4=w:=c+1; 答:其前趋图为:
3. 什么程序并収执行会产生间断性特征?
答:程序在并发执行时,由于它们共享系统资源,为完成同一项任务需要相互合作,致使这些并发执行的进程之间,形成了相互制约关系,从而使得进程在执行期间出现间断性。
4.程序并収执行时为什么会失去封闭性和可再现性?
答:程序并发执行时,多个程序共享系统中的各种资源,因而这些资源的状态由多个程序改变,致使程序运行失去了封闭性,也会导致其失去可再现性。 5.在操作系统中为什么要引入迚程概念?它会产生什么样的影响? 答:为了使程序在多道程序环境下能并发执行,并对并发执行的程序加以控制和描述,在操作系统中引入了进程概念。 影响: 使程序的并发执行得以实行。
7.试说明PCB 的作用,为什么说PCB 是迚程存在的惟一标志?
答:PCB 是进程实体的一部分,是操作系统中最重要的记录型数据结构。作用是使一个在多道程序环境下不能独立运行的程序,成为一个能独立运行的基本单位,成为能与其它进程并发执行的进程。OS是根据PCB对并发执行的进程进行控制和管理的。
8.试说明迚程在三个基本状态之间转换的典型原因。 答: (1)就绪状态→执行状态:进程分配到CPU资源 (2)执行状态→就绪状态:时间片用完 (3)执行状态→阻塞状态:I/O请求 (4)阻塞状态→就绪状态:I/O完成
9.为什么要引入挂起状态?该状态有哪些性质?
答:引入挂起状态处于五种不同的需要: 终端用户需要,父进程需要,操作系统需要,对换需要和负荷调节需要。处于挂起状态的进程不能接收处理机调度。 10.在迚行迚程切换时,所要保存的处理机状态信息有哪些? 答:进行进程切换时,所要保存的处理机状态信息有: (1)进程当前暂存信息 (2)下一指令地址信息 (3)进程状态信息
(4)过程和系统调用参数及调用地址信息。 11.为什么要在OS 中引入线程? 答:在操作系统中引入线程,则是为了减少程序在并发执行时所付出的时空开销,
使OS具 有更好的并发性,提高CPU的利用率。进程是分配资源的基本单位,而线程则是系统调度的基本单位。
1.高级调度与低级调度的主要仸务是什么?为什么要引入中级调度? 答:高级调度的主要任务是根据某种算法,把外存上处于后备队列中的那些作业调入内存。低级调度是保存处理机的现场信息,按某种算法先取进程,再把处理器分配给进程。引入中级调度的主要目的是为了提高内存利用率和系统吞吐量。使那些暂时不能运行的进程 不再占用内存资源,将它们调至外存等待,把进程状态改为就绪驻外存状态或挂起状态。
2.何谓作业、作业步和作业流?
答:作业包含通常的程序和数据,还配有作业说明书。系统根据该说明书对程序的运行进行控制。批处理系统中是以作业为基本单位从外存调入内存。
作业步是指每个作业运行期间都必须经过若干个相对独立相互关联的顺序加工的步骤。
作业流是指若干个作业进入系统后依次存放在外存上形成的输入作业流;在操作系统的控制下,逐个作业进程处理,于是形成了处理作业流。 3.为什么要引入高响应比优先调度算法?它有何优点?
高响应比优先调度算法的基本思想是把CPU分配给就绪队列中响应比最高的进程。 既考虑作业的执行时间也考虑作业的等待时间,综合了先来先服务和最短作业优先两种算法的特点。该算法中的响应比是指作业等待时间与运行比值,响应比公式定义如下: 响应比 =(等待时间+要求服务时间)/ 要求服务时间,即RR=(w+s)/s=1+w/s,因此响应比一定是大于1的。短作业与先后次序的兼顾,且不会使长作业长期得不到服务 响应比计算系统开销,增加系统开销适用于批处理系统
4.试比较FCFS和SPF两种迚程调度算法。
答:相同点:两种调度算法都可以用于作业调度和进程调度。
不同点:FCFS调度算法每次都从后备队列中选择一个或多个最先进入该队列的作业,将它们调入内存、分配资源、创建进程、插入到就绪队列。该算法有利于长作业/进程,不利于短作业/进程。SPF算法每次调度都从后备队列中选择一个或若干个估计运行时间最短的作业,调入内存中运行。该算法有利于短作业/进程,不利于长作业/进程。
5.为什么说多级反馈队列调度算法能较好地满足各方面用户的需求?
6.试举例说明竞争不可抢占资源所引起的死锁?
7.为了破坏“请求和保持”条件而提出的两种协议,是比较俩种协议?
8. 何谓死锁?产生死锁的原因和必要条件是什么?
a.死锁是指多个进程因竞争资源而造成的一种僵局,若无外力作用,这些进程都将永远不能再向前推进;
b.产生死锁的原因有二,一是竞争资源,二是进程推进顺序非法;
c.必要条件是: 互斥条件,请求和保持条件,不剥夺条件和环路等待条件。 9.在解决死锁问题的几个方法中,哪种方法最易于实现?哪种方法是资源利用率最高?
解决/处理死锁的方法有预防死锁、避免死锁、检测和解除死锁,其中预防死锁方法最容易实现,但由于所施加的限制条件过于严格,会导致系统资源利用率和系统吞吐量降低;而检测和解除死锁方法可是系统获得较好的资源利用率和系统吞吐量。
10. 请详细说明可通过哪些途径预防死锁?
a.摒弃\请求和保持\条件:系统规定所有进程开始运行之前,都必须一次性地申请其在整个运行过程所需的全部资源,但在分配资源时,只要有一种资源不能满足某进程的要求,即使其它所需的各资源都空闲,也不分配给该进程,而让该进程等待;
b.摒弃\不剥夺\条件:系统规定,进程是逐个地提出对资源的要求的。当一个已经保持了某些资源的进程,再提出新的资源请求而不能立即得到满足时,必须释放它已经保持了的所有资源,待以后需要时再重新申请;
c.摒弃\环路等待\条件:系统将所有资源按类型进行线性排序,并赋予不同的序号,且所有进程对资源的请求必须严格按序号递增的次序提出,这样,在所形成的资源分配图中,不可能再出现环路,因而摒弃了\环路等待\条件。
11. 在银行家算法的例子中,如果P0发出的请求向量由Request(0,2,0)改为Request(0,1,0),问系统可否将资源分配给它?
12. 在银行家算法中,若出现下述资源分配情:
Process P0 P1 P2 P3 P4 Allocation 0032 1000 1354 0332 0014 Need 0012 1750 2356 0652 0656 Available 1622 试问:
⑴ 该状态是否安全?
⑵ 若进程P2提出请求Request(1,2,2,2)后,系统能否将资源分配给它? ⑴该状态是安全的,因为存在一个安全序列< P0P3P4P1P2>。下表为该时刻的安全序列表。
资源情况 进程 P0 P3 P4 P1 P2 Work 1 6 2 2 1 6 5 4 1 9 8 7 1 9 9 11 2 9 9 11 Need 0 0 1 2 0 6 5 2 0 6 5 6 1 7 5 0 2 3 5 6 Allocation 0 0 3 2 0 3 3 3 0 0 1 4 1 0 0 0 1 3 5 4 Work+Allocation 1 6 5 4 1 9 8 7 1 9 9 11 2 9 9 11 3 12 14 17 Finish true true true true true ⑵若进程P2提出请求Request(1,2,2,2)后,系统不能将资源分配给它,若分配给进程P2,系统还剩的资源情况为(0,4,0,0),此时系统中的资源将无法满足任何一个进程的资源请求,从而导致系统进入不安全状态,容易引起死锁的发生。
1. 为什么要配置层次式存储器?
这是因为:
a.设置多个存储器可以使存储器两端的硬件能并行工作。
b.采用多级存储系统,特别是Cache技术,这是一种减轻存储器带宽对系统性能影响的最佳结构方案。
c.在微处理机内部设置各种缓冲存储器,以减轻对存储器存取的压力。增加CPU中寄存器的数量,也可大大缓解对存储器的压力
2.在采用首次适应算法回收内存时,可能出现哪几种情况?应怎样处理这些情况?
3. 分区存储管理中常采用哪些分配策略?比较它们的优缺点。
分区存储管理中常采用的分配策略有:首次适应算法、循环首次适应算法、最佳适应算法、最坏适应算法。
a.首次适应算法的优缺点:保留了高址部分的大空闲区,有利于后到来的大型作业的分配;低址部分不断被划分,留下许多难以利用的、小的空闲区,且每次分区分配查找时都是从低址部分开始,会增加查找时的系统开销。 b.循环首次适应算法的优缺点:使内存中的空闲分区分布得更为均匀,减少了查找时的系统开销;缺乏大的空闲分区,从而导致不能装入大型作业。 c.最佳适应算法的优缺点:每次分配给文件的都是最适合该文件大小的分区;内存中留下许多难以利用的小的空闲区。
d.最坏适应算法的优缺点:给文件分配分区后剩下的的空闲区不至于太小,产生碎片的几率最小,对中小型文件分配分区操作有利;使存储器中缺乏大的空闲区,对大型文件的分区分配不利。 4.为什么引入对换?对换可分为哪几类?
5.什么是页面?什么是物理块?页面的大小应如何决定? 6.什么是页表?页表的作用是什么? 7.在分页系统中是如何实现地址变换? 8.具体快表时是如何实现地址变换?
9.较详细地说明引入分段存储管理是为了满足用户哪几方面的需求? 10.在具有快表的段页式存储管理方式中,如何实现地址变换? 11. 为什么说分段系统较之分页系统更易于实现信息共享和保护?
a.对于分页系统,每个页面是分散存储的,为了实现信息共享和保护,则页面之间需要一一对应起来,为此需要建立大量的页表项;
b.而对于分段系统,每个段都从0开始编址,并采用一段连续的地址空间,这样在实现共享和保护时,只需为所要共享和保护的程序设置一个段表项,将其中的基址与内存地址一一对应起来即可。
12. 分页和分段有何区别?
a.分页和分段都采用离散分配的方式,且都要通过地址映射机构来实现地址变换,这是它们的共同点;
b.对于它们的不同点有三,第一,从功能上看,页是信息的物理单位,分页是为实现离散分配方式,以消减内存的外零头,提高内存的利用率,即满足系统管理的需要,而不是用户的需要;而段是信息的逻辑单位,它含有一组其意义相对完整的信息,目的是为了能更好地满足用户的需要;第二页的大小固定且由系统确定,而段的长度却不固定,决定于用户所编写的程序;第三分页的作业地址空间是一维的,而分段的作业地址空间是二维的。
13. 试全面比较连续分配和离散分配方式。
a.连续分配是指为一个用户程序分配一个连续的地址空间,包括单一连续分配方式和分区式分配方式,前者将内存分为系统区和用户区,系统区供操作系统使用,用户区供用户使用,是最简单的一种存储方式,但只能用于单用户单任务的操作系统中;分区式分配方式分为固定分区和动态分区,固定分区是最简单的多道程序的存储管理方式,由于每个分区的大小固定,必然会造成存储空间的浪费;动态分区是根据进程的实际需要,动态地为之分配连续的内存空间,常用三种分配算法: 首次适应算法,该法容易留下许多难以利用的小空闲分区,加大查找开销;循环首次适应算法,该算法能使内存中的空闲分区分布均匀,但会致使缺少大的空闲分区;最佳适应算法,该算法也易留下许多难以利用的小空闲区;
b.离散分配方式基于将一个进程直接分散地分配到许多不相邻的分区中的思想,分为分页式存储管理,分段存储管理和段页式存储管理. 分页式存储管理旨在提高内存利用率,满足系统管理的需要,分段式存储管理则旨在满足用户(程序员)的需要,在实现共享和保护方面优于分页式存储管理,而段页式存储管理则是将两者结合起来,取长补短,即具有分段系统
便于实现,可共享,易于保护,可动态链接等优点,又能像分页系统那样很好的解决外部碎片的问题,以及为各个分段可离散分配内存等问题,显然是一种比较有效的存储管理方式;
c.综上可见,连续分配方式和离散分配方式各有各自的特点,应根据实际情况加以改进和利用.
1什么是程序运行时的时间局限性和空间局限性?
2虚拟存储器有哪些特征?其中最本质的特征是什么?
特征:离散性、多次性、对换性、虚拟性;
最本质的特征:离散性;最重要的特征:虚拟性。 3 实现虚拟存储器需要哪几个关键技术?
a.分页和分段都采用离散分配的方式,且都要通过地址映射机构来实现地址变换,这是它们的共同点;
4试说明请求分页系统中的地址变换过程
5.何为固定分配局部置换和可变分配全局置换的内存分配策略? 6.在请求分页系统中,应从何处将所需页面调入内存?
7.试说明在请求分页系统中页面的调入过程?
8.在请求分页系统中,通常采用哪种页面分配方式——物理块分配策略?
三种分配方式:固定分配局部置换、可变分配全局置换、可变分配局部置换 9.在一个请求分页系统中,采用FIFO页面置换算法时,假如一个作业的页面走
向为4、3、2、1、4、3、5、4、3、2、1、5,当分配给该作业的物理块数M分别为3和4时,试计算在访问过程中所发生的缺页次数和缺页率,并比较所得结果。
4 3 2 1 4 3 5 4 3 2 1 5 4 4 4 1 1 1 5 5 5 M=3
3 3 3 4 4 4 2 2
2 2 2 3 3 3 1
4 4 4 4 5 5 5 5 1 1 M=4
3 3 3 3 4 4 4 4 5 2 2 2 2 3 3 3 3 1 1 1 1 2 2 2 M=3时,采用FIFO页面置换算法的缺页次数为9次,缺页率为75%; M=4时,采用FIFO页面置换算法的缺页次数为10次,缺页率为83%。 由此可见,增加分配给作业的内存块数,反而增加了缺页次数,提高了缺页率,这种现象被称为是Belady现象。 10.影响页面换进换出效率的若干因素是什么? 11.请说明请求分段系统中的缺页中断处理过程?
1.试说明I/O系统的基本功能
2.与设备无关性的基本含义是什么?为什么要设置该层? 3.试说明设备控制器的组成
4.为了实现CPU与设备控制器间的通信,设备控制器应具有哪些功能 5.为什么说中断是OS赖以生存的基础 6.设备中断处理程序通常需完成那些工作
7.简要说明中断处理程序对中断进行处理的几个步骤 8.试说明设备驱动程序具有那些特点 9.设备驱动程序通常要完成那些工作
10.简要说明设备驱动程序的处理过程可分为那几步 有哪几种I/O控制方式?各适用于何种场合?
I/O控制方式:程序I/O方式、中断驱动I/O控制方式、DMAI/O控制方式、I/O通道控制方式。程序I/O方式适用于早期的计算机系统中,并且是无中断的计算机系统;中断驱动I/O控制方式是普遍用于现代的计算机系统中;DMA I/O控制方式适用于I/O设备为块设备时在和主机进行数据交换的一种I/O控制方式;当I/O设备和主机进行数据交换是一组数据块时通常采用I/O通道控制方式,但此时要求系统必须配置相应的通道及通道控制器。 11.试说明DMA的工作流程
在考虑到设备的独立性时,应如何分配独占设备?
在考虑到设备的独立性时,应按如下步骤来分配独占设备: (1)进程以逻辑设备名提出I/O请求。
(2)根据逻辑设备表相应表项获得I/O请求的逻辑设备对应类型的物理设备在系统设备表中的指针。
(3)从指针所指位置起顺序检索系统设备表,直到找到一个属于对应I/O请求所用类型、空闲可用且基于设备分配安全性算法验证为安全分配的设备的设备控制表,将对应设备分配给请求进程;如果未找到安全可用的空闲设备,则把请求进程的进程控制块挂到相应类型设备的等待队列上等待唤醒和分配。
(4)系统把设备分配给I/O请求进程后,再到该设备的设备控制表中找出与其相连接的控制器的控制器控制表,根据其状态字段判断该控制器是否忙碌,若忙则把请求进程的进程控制块挂到该控制器的等待队列上;否则将该控制器分配给进程。
(5)系统把控制器分配给I/O请求进程后,再到该控制器的控制器控制表中找出与其相连接的通道的通道控制表,根据其状态字段判断该通道是否忙碌,若忙则把请求进程的进程控制块挂到该通道的等待队列上;否则将该通道分配给进程。
(6)只有在设备、控制器和通道三者都分配成功时,这次的设备分配才算成功,然后便可启动设备进行数据传送
1. 何谓数据项、记录和文件?
a.数据项是最低级的数据组织形式,可分为基本数据项和组合数据项。基本数据项是用于描述一个对象某种属性的字符集,是数据组织中可以命名的最小逻辑数据单位,即原子数据,又称为数据元素或字段。组合数据项则由若干个基本数据项构成。
b.记录是一组相关数据项的集合,用于描述一个对象某方面的属性。 c.文件是指有创建者所定义的、具有文件名的一组相关信息的集合提。 2.试说明用户可以对文件施加的主要操作有哪些? 3.按文件的组成方式可将文件分为哪几种类型? 4.如何提高对变长记录顺序文件的检索速度?
为了提高对变长记录顺序文件的检索速度,可为其建立一张索引表,以主文件中每条记录的长度及指向对应记录的指针(即该记录在逻辑地址空间的首址)作为相应每个表项的内容。由于索引表本身是一个定长记录的顺序文件,若将其按记录键排序,则可以实现对主文件的方便快速的直接存取。需要指出的是,如果文件较大,应通过建立分组多级索引以进一步提高检索效率。
5.试说明索引顺序文件的几个主要特征 6.对目录文件的主要要求
7.Hash检索法有何优点?又有何局限性?
在Hash检索法中,系统利用用户提供的文件名并将它变换为文件目录的索引值,再利用该索引值到目录中去查找,这样能有效地提高目录的检索速度,但Hash检索法也有局限性即对于使用了通配符的文件名,系统是无法使用Hash检索法检索目录的。