操作系统原理与应用(第2版)清大版第4章习题参考答案
- 格式:doc
- 大小:32.50 KB
- 文档页数:2
1.什么是操作系统?其主要功能是什么?操作系统是控制和管理计算机系统内各种硬件和软件资源,有效组织多道程序运行的系统软件(或程序集合),是用户和计算机直接的程序接口.2.在某个计算机系统中,有一台输入机和一台打印机,现有两道程序投入运行,程序A、B 同时运行,A略早于B。
A的运行轨迹为:计算50ms、打印100ms、再计算50ms、打印100ms,结束。
B的运行轨迹为:计算50ms、输入80ms、再计算100ms,结束。
试说明:(1)两道程序运行时,CPU是否空闲等待?若是,在那段时间段等待?(2)程序A、B是否有等待CPU的情况?若有,指出发生等待的时刻。
0 50 100 150 200 250 30050 100 50 10050 100 20 100(1) cpu有空闲等待,在100ms~150ms的时候.(2) 程序A没有等待cpu,程序B发生等待的时间是180ms~200ms.1.设公共汽车上,司机和售票员的活动如下:司机的活动:启动车辆;正常行车;到站停车。
售票员的活动:关车门;售票;开车门。
在汽车不断的到站、停车、行驶过程中,用信号量和P、V操作实现这两个活动的同步关系。
semaphore s1,s2;s1=0;s2=0;cobegin司机();售票员();coendprocess 司机(){while(true){P(s1) ;启动车辆;正常行车;到站停车;V(s2);}}process 售票员(){while(true){关车门;V(s1);售票;P(s2);开车门;上下乘客;}}2.设有三个进程P、Q、R共享一个缓冲区,该缓冲区一次只能存放一个数据,P进程负责循环地从磁带机读入数据并放入缓冲区,Q进程负责循环地从缓冲区取出P进程放入的数据进行加工处理,并把结果放入缓冲区,R进程负责循环地从缓冲区读出Q进程放入的数据并在打印机上打印。
请用信号量和P、V操作,写出能够正确执行的程序。
操作系统原理与实践教程(第二版)第4章习题答案第4章进程同步与死锁(1) 什么是进程同步?什么是进程互斥?解:同步是进程间的直接制约关系,这种制约主要源于进程间的合作。
进程同步的主要任务就是使并发执行的各进程之间能有效地共享资源和相互合作,从而在执行时间、次序上相互制约,按照一定的协议协调执行,使程序的执行具有可再现性。
进程互斥是进程间的间接制约关系,当多个进程需要使用相同的资源,而此类资源在任一时刻却只能供一个进程使用,获得资源的进程可以继续执行,没有获得资源的进程必须等待,进程的运行具有时间次序的特征,谁先从系统获得共享资源,谁就先运行,这种对共享资源的排它性使用所造成的进程间的间接制约关系称为进程互斥。
互斥是一种特殊的同步方式。
(2) 进程执行时为什么要设置进入区和退出区?解:为了实现多个进程对临界资源的互斥访问,必须在临界区前面增加一段用于检查欲访问的临界资源是否正被访问的代码,如果未被访问,该进程便可进入临界区对资源进行访问,并设置正被访问标志,如果正被访问,则本进程不能进入临界区,实现这一功能的代码成为“进入区”代码;在退出临界区后,必须执行“退出区”代码,用于恢复未被访问标志。
(3) 同步机构需要遵循的基本准则是什么?请简要说明。
解:同步机制都应遵循下面的4条准则:1.空闲让进。
当无进程处于临界区时,允许进程进入临界区,并且只能在临界区运行有限的时间。
2.忙则等待。
当有一个进程在临界区时,其它欲进入临界区的进程必须等待,以保证进程互斥地访问临界资源。
3.有限等待。
对要求访问临界资源的进程,应保证进程能在有限时间内进入临界区,以免陷入“饥饿”状态。
4.让权等待。
当进程不能进入临界区时,应立即放弃占用CPU,以使其它进程有机会得到CPU的使用权,以免陷入“饥饿”状态。
(4) 整型信号量是否能完全遵循同步机构的四条基本准则?为什么?解:不能。
在整型信号量机制中,未遵循“让权等待”的准则。
第1章操作系统概论(1) 试说明什么是操作系统,它具有什么特征?其最基本特征是什么?解:操作系统就是一组管理与控制计算机软硬件资源并对各项任务进行合理化调度,且附加了各种便于用户操作的工具的软件层次。
现代操作系统都具有并发、共享、虚拟和异步特性,其中并发性是操作系统的最基本特征,也是最重要的特征,其它三个特性均基于并发性而存在。
(2) 设计现代操作系统的主要目标是什么?解:现代操作系统的设计目标是有效性、方便性、开放性、可扩展性等特性。
其中有效性指的是OS应能有效地提高系统资源利用率和系统吞吐量。
方便性指的是配置了OS后的计算机应该更容易使用。
这两个性质是操作系统最重要的设计目标。
开放性指的是OS应遵循世界标准规范,如开放系统互连OSI国际标准。
可扩展性指的是OS应提供良好的系统结构,使得新设备、新功能和新模块能方便地加载到当前系统中,同时也要提供修改老模块的可能,这种对系统软硬件组成以及功能的扩充保证称为可扩展性。
(3) 操作系统的作用体现在哪些方面?解:现代操作系统的主要任务就是维护一个优良的运行环境,以便多道程序能够有序地、高效地获得执行,而在运行的同时,还要尽可能地提高资源利用率和系统响应速度,并保证用户操作的方便性。
因此操作系统的基本功能应包括处理器管理、存储器管理、设备管理和文件管理。
此外,为了给用户提供一个统一、方便、有效的使用系统能力的手段,现代操作系统还需要提供一个友好的人机接口。
在互联网不断发展的今天,操作系统中通常还具备基本的网络服务功能和信息安全防护等方面的支持。
(4) 试说明实时操作系统和分时操作系统在交互性、及时性和可靠性方面的异同。
解:交互性:分时系统能够使用户和系统进行人-机对话。
实时系统也具有交互性,但人与系统的交互仅限于访问系统中某些特定的专用服务程序。
及时性:分时系统的响应时间是以人能够接受的等待时间为标准,而实时控制系统对响应时间要求比较严格,它是以控制过程或信息处理中所能接受的延迟为标准。
操作系统第二版课后习题答案操作系统第二版课后习题答案操作系统是计算机科学中的重要领域,它负责管理计算机硬件和软件资源,为用户提供良好的使用体验。
在学习操作系统的过程中,课后习题是巩固和深化知识的重要方式。
本文将为大家提供操作系统第二版课后习题的答案,帮助读者更好地理解和掌握操作系统的知识。
第一章:引论1. 操作系统的主要功能包括进程管理、内存管理、文件系统管理和设备管理。
2. 进程是指正在执行的程序的实例。
进程控制块(PCB)是操作系统用来管理进程的数据结构,包含进程的状态、程序计数器、寄存器等信息。
3. 多道程序设计是指在内存中同时存放多个程序,通过时间片轮转等调度算法,使得多个程序交替执行。
4. 异步输入输出是指程序执行期间,可以进行输入输出操作,而不需要等待输入输出完成。
第二章:进程管理1. 进程调度的目标包括提高系统吞吐量、减少响应时间、提高公平性等。
2. 进程调度算法包括先来先服务(FCFS)、最短作业优先(SJF)、优先级调度、时间片轮转等。
3. 饥饿是指某个进程长时间得不到执行的情况,可以通过调整优先级或引入抢占机制来解决。
4. 死锁是指多个进程因为争夺资源而陷入无限等待的状态,可以通过资源预分配、避免环路等方式来避免死锁。
第三章:内存管理1. 内存管理的主要任务包括内存分配、内存保护、地址转换等。
2. 连续内存分配包括固定分区分配、可变分区分配和动态分区分配。
3. 分页和分段是常见的非连续内存分配方式,分页将进程的地址空间划分为固定大小的页,分段将进程的地址空间划分为逻辑段。
4. 页面置换算法包括最佳置换算法、先进先出(FIFO)算法、最近最久未使用(LRU)算法等。
第四章:文件系统管理1. 文件是操作系统中用来存储和组织数据的逻辑单位,可以是文本文件、图像文件、音频文件等。
2. 文件系统的主要功能包括文件的创建、删除、读取、写入等操作。
3. 文件系统的组织方式包括层次目录结构、索引结构、位图结构等。
操作系统原理课后习题答案操作系统原理作业第1章1-2 批处理系统和分时系统各有什么特点?为什么分时系统的响应比较快?答:在批处理系统中操作人员将作业成批装入计算机并计算机管理运行,在程序的运行期间用户不能干预,因此批处理系统的特点是:用户脱机使用计算机,作业成批处理,系统内多道程序并发执行以及交互能力差。
在分时系统中不同用户通过各自的终端以交互方式共同使用一台计算机,计算机以“分时”的方法轮流为每个用户服务。
分时系统的主要特点是:多个用户同时使用计算机的同时性,人机问答方式的交互性,每个用户独立使用计算机的独占性以及系统响应的及时性。
分时系统一般采用时间片轮转的方法使一台计算机同时为多个终端用户服务,因此分时系统的响应比较快。
1-4什么是多道程序设计技术?试述多道程序运行的特征。
答:多道程序设计技术是指同时把多个作业放入内存并允许它们交替执行和共享系统中的各类资源;当一道程序因某种原因而暂停执行时,CPU 立即转去执行另一道程序。
多道程序运行具有如下特征:多道计算机内存中同时存放几道相互独立的程序。
宏观上并行:同时进入系统的几道程序都处于运行过程中,它们先后开始了各自的运行但都未运行完毕。
微观上串行:从微观上看内存中的多道程序轮流或分时地占有处理机,交替执行。
1-6操作系统的主要特性是什么?为什么会有这样的特性?答:并发性,共享性,异步性,虚拟性,这些特性保证了计算机能准确的运行,得出想要的结果。
1-7 工作情况如图。
CPU有空闲等待,它发生在100 ms与程序B都在进行I/O操作。
程序A无等待现象,程序B在0 ms间段内有等待现象。
150 ms时间段内,此时间段内程序A50 ms时间段与180 ms200 ms时第2章2-1 什么是操作系统虚拟机?答:在裸机上配置了操作系统程序后就构成了操作系统虚拟机2-3 什么是处理机的态?为什么要区分处理机的态?答:处理机的态,就是处理机当前处于何种状态,正在执行哪类程序。
1、进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。
在程序并发执行时已不再具有封闭性,而且产生了许多新的特性和新的活动规律。
程序这一静态概念已不足以描述程序的并发执行的特性。
为了适应这一新情况,引入了一个能反应程序并行执行特点的新概念——进程(process)。
有的系统也称为任务(task)。
2、进程:是程序的一次执行,是动态概念;一个进程可以同时包括多个程序;进程是暂时的,是动态地产生和消亡的。
程序:是一组有序的静态指令,是静态概念;一个程序可以是多个进程的一部分;程序可以作为资料长期保存。
3、能够看到。
进程控制块PCB表示进程的存在。
为进程的实体为:程序部分描述了进程所要完成的功能,它通常可以由若干个进程所共享。
数据部分包括程序运行时所需要的数据和工作区,它通常是各个进程专有的。
4、可再现性:程序重复执行时,必将获得相同的结果。
即对于程序A来说,第一次运行得到一结果,第二次运行时若中间有停顿,但最后的结果必将与第一次一样。
封闭性:程序一旦开始运行,其计算结果和系统内资源的状态不受外界因素的影响。
5、1)运行状态:进程正占用CPU,其程序正在CPU上执行。
处于这种状态的进程的个数不能大于CPU的数目。
在单CPU机制中,任何时刻处于运行状态的进程至多是一个。
2)就绪状态:进程已具备除CPU以外的一切运行条件,只要一分得CPU马上就可以运行(万事具备,只欠东风)。
在操作系统中,处于就绪状态的进程数目可以是多个。
为了便于管理,系统要将这多个处于就绪状态的进程组成队列,此队列称为就绪队列。
3)封锁状态:进程因等待某一事件的到来而暂时不能运行的状态。
此时,即使将CPU 分配给它,也不能运行,故也称为不可运行状态或挂起状态。
系统中处于这种状态的进程可以是多个。
同样,为了便于管理,系统要将它们组成队列,称为封锁队列。
封锁队列可以是一个,也可以按封锁原因形成多个封锁队列。
6、(1)1---分到CPU,2---时间片到,3---等待某一事件的发生,4---所等待事件已发生。
习题二参考答案4、答:在生产者—消费者问题中,Producer进程中P(empty)和P(mutex)互换先后次序。
先执行P(mutex),假设成功,生产者进程获得对缓冲区的访问权,但如果此时缓冲池已满,没有空缓冲区可供其使用,后续的P(empty)原语没有通过,Producer阻塞在信号量empty 上,而此时mutex已被改为0,没有恢复成初值1。
切换到消费者进程后,Consumer进程执行P(full)成功,但其执行P(mutex)时由于Producer正在访问缓冲区,所以不成功,阻塞在信号量mutex上。
生产者进程和消费者进程两者均无法继续执行,相互等待对方释放资源,会产生死锁。
在生产者和消费者进程中,V操作的次序无关紧要,不会出现死锁现象。
5、答:6、答:设信号量sp用于控制对盘子的互斥操作,信号量sg1用于计数,表示盘子中的苹果数目,信号量sg2用于计数,表示盘子中的桔子数目。
Semaphore sp=1,sg1=0,sg2=0dad(){while(1){ prepare an apple;p(sp);put an apple on the plate;v(sg2);}}mom(){while(1){prepare an orange;p(sp);put an orange on the plate;v(sg1);}}son(){while(1){p(sg1);take an orange from the plate;v(sg);eat the orange;}}daughter(){while(1){p(sg2);take an apple from the plate;v(sg);eat the apple;}}7、答:为了使写者优先,在原来的读优先算法基础上增加一个初值为1的信号量S,使得当至少有一个写者准备访问共享对象时,它可使后续的读者进程等待写完成;初值为0的整型变量writecount,用来对写者进行计数;初值为1的互斥信号量wmutex,用来实现多个写者对writecount的互斥访问。
第四章存储器管理1. 为什么要配置层次式存储器?这是因为:a.设置多个存储器可以使存储器两端的硬件能并行工作。
b.采用多级存储系统,特别是Cache技术,这是一种减轻存储器带宽对系统性能影响的最佳结构方案。
c.在微处理机内部设置各种缓冲存储器,以减轻对存储器存取的压力。
增加CPU中寄存器的数量,也可大大缓解对存储器的压力。
2. 可采用哪几种方式将程序装入内存?它们分别适用于何种场合?将程序装入内存可采用的方式有:绝对装入方式、重定位装入方式、动态运行时装入方式;绝对装入方式适用于单道程序环境中,重定位装入方式和动态运行时装入方式适用于多道程序环境中。
3. 何为静态链接?何谓装入时动态链接和运行时动态链接?a.静态链接是指在程序运行之前,先将各自目标模块及它们所需的库函数,链接成一个完整的装配模块,以后不再拆开的链接方式。
b.装入时动态链接是指将用户源程序编译后所得到的一组目标模块,在装入内存时,采用边装入边链接的一种链接方式,即在装入一个目标模块时,若发生一个外部模块调用事件,将引起装入程序去找相应的外部目标模块,把它装入内存中,并修改目标模块中的相对地址。
c.运行时动态链接是将对某些模块的链接推迟到程序执行时才进行链接,也就是,在执行过程中,当发现一个被调用模块尚未装入内存时,立即由OS去找到该模块并将之装入内存,把它链接到调用者模块上。
4. 在进行程序链接时,应完成哪些工作?a.对相对地址进行修改b.变换外部调用符号6. 为什么要引入动态重定位?如何实现?a.程序在运行过程中经常要在内存中移动位置,为了保证这些被移动了的程序还能正常执行,必须对程序和数据的地址加以修改,即重定位。
引入重定位的目的就是为了满足程序的这种需要。
b.要在不影响指令执行速度的同时实现地址变换,必须有硬件地址变换机构的支持,即须在系统中增设一个重定位寄存器,用它来存放程序在内存中的起始地址。
程序在执行时,真正访问的内存地址是相对地址与重定位寄存器中的地址相加而形成的。
第四章调度作业答案2,8,9,11,132. 高级调度与低级调度的主要功能是什么?为什么要引入中级调度?参考答案:高级调度的主要功能是根据一定的算法,从输入的一批作业中选出若干作业,分配必要的资源,如内存、外设等,为它建立相应的用户作业进程和为其服务的系统进程(如输入/输出进程),最后把它们的程序和数据调入内存,等待进程调度程序对其执行调度,并在作业完成后做善后处理工作。
低级调度的主要功能是根据一定的算法将CPU分派给就绪队列中的一个进程。
为了使内存中同时存放的进程数目不至于太多,有时需要把某些进程从内存移到外存上,以减少多道程序的数目,为此设立了中级调度。
引入中级调度的主要目的是为了提高内存的利用率和系统吞吐量。
它实际上就是存储管理中的对换功能。
8. 假定在单CPU条件下执行的作业表如表4-8所示。
作业到来的时间是按作业编号顺序进行的(即后面作业依次比前一个作业迟到一个时间单位)。
①用一个执行时间图描述使用下列算法时各自执行这些作业的情况:FCFS,RR(时间片=1)和非抢占式优先级。
②对于上述每种算法,各个作业的周转时间是多少?平均周转时间是多少?③对于上述每种算法,各个作业的带权周转时间是多少?平均带权周转时间是多少?表4-8 作业列表参考答案:24351①FCFS执行时间图RR执行时间图非抢占式优先级时间图②和③ FCFS算法:RR算法:非抢占式优先级算法:13、中断处理的主要步骤是什么?参考答案:中断处理的一般步骤是:保存被中断程序的现场,分析中断原因,转入相应处理程序进行处理,恢复被中断程序现场(即中断返回)。
9. 在一个有两道作业的批处理系统中,作业调度采用短作业优先级调度算法,进程调度采用抢占式优先级调度算法。
设作业序列如表4-9所示。
其中给出的作业优先数即为相应进程的优先数。
其数值越小,优先级越高。
要求:①列出所有作业进入内存的时间及结束时间②计算平均周转时间和平均带权周转时间。
6. 设备管理6.1 例题解析例6.2.1 何谓虚拟设备?请说明SPOOLing系统是如何实现虚拟设备的。
解本题的考核要点是虚拟设备的实现方法。
虚拟设备是指利用软件方法,比如SPOOLing系统,把独享设备分割为若干台逻辑上的独占的设备,使用户感受到系统有出若干独占设备在运行。
当然,系统中至少一台拥有物理设备,这是虚拟设备技术的基础。
SPOOLing系统又称“假脱机I/O系统”,其中心思想是,让共享的、高速的、大容量外存储器(比如,磁盘)来模拟若干台独占设备,使系统中的一台或少数几台独占设备变成多台可并行使用的虚拟设备。
SPOOLing系统主要管理外存上的输入井和输出井,以及内存中的输入缓冲区和输出缓冲区。
其管理进程主要有输入和输出进程,负责将输入数据装入到输入井,或者将输出井的数据送出。
它的特点是:提高了I/O操作的速度;将独占设备改造为共享设备;实现了虚拟设备功能。
例6.2.2有关设备管理要领的下列叙述中,( )是不正确的。
A.通道是处理输入、输出的软件B.所有外围设备都由系统统一来管理C.来自通道的I/O中断事件由设备管理负责处理D.编制好的通道程序是存放在主存贮器中的E.由用户给出的设备编号是设备的绝对号解本题的考核要点是设备管理的基本概念。
(1)通道是计算机上配置的一种专门用于输入输出的设备,是硬件的组成部分。
因此A是错误的。
(2)目前常见I/O系统其外部设备的驱动和输入输出都由系统统一管理。
因此B是对的。
(3)设备管理模块中的底层软件中配有专门处理设备中断的处理程序。
通道中断属于设备中断的一种。
因此C是对的。
(4)通道设备自身只配有一个简单的处理装置(CPU),并不配有存储器,它所运行的通道程序全部来自内存。
因此D是对的。
(5)系统在初启时为每台物理设备赋予一个绝对号,设备绝对号是相互独立的。
由用户给出的设备号只能是逻辑编号,由系统将逻辑号映射为绝对号。
因此E是错误的。
0 6. 设备管理112例6.2.3 在关于SPOOLING 的叙述中, 描述是不正确的。
1、基本任务①缓冲区管理②地址转换和设备驱动③I/O调度:为I/O请求分配外设、通道、控制器等④中断管理2、在循环测试方式中,因为外设完全是一个被动的控制对象,CPU必须对之进行连续的监视。
为改变这种局面,首先是增加外设的主动性——每当外设传输结束时,能主动向CPU 报告,此即引入中断的概念。
为了把CPU从繁忙的杂务中解放出来,I/O设备的管理不再依赖于CPU,而应建立起自己的一套管理机构,这就产生了“通道”。
根据信息交换方式,通道可分为以下三种类型:字节多路通道选择通道成组多路通道3、简单地说,缓冲技术主要解决在系统某些位置上信息的到达率与离去率不匹配的问题。
缓冲技术是在这些位置上设置能存贮信息的缓冲区,在速率不匹配的二者之间起平滑作用。
4、常用的设备分配技术有:独占:固定地将设备分给一个用户。
共享:将设备分给若干用户共享使用。
虚拟:用共享设备去模拟独占设备,以达到共享、快速的效果。
5、引入Spooling系统后,就把一个可共享的磁盘装置,改造成为若干台I/O设备(虚拟输入、输出设备)。
当需输入时,输入程序就把输入设备上的作业传输到输入井中,并由作业控制块进行排队等候,再由作业调度程序将输入井中作业调入内存运行。
运行完毕由文件系统将结果组成文件放入输出井中,以后就由Spooling输出程序将结果从相应设备输出。
6、I/O启动与结束当某一进程在CPU上运行而提出I/O请求时,则通过系统调用进入操作系统,操作系统首先为之分配通道和设备,然后按照I/O请求编制通道程序,并存入内存。
然后将通道程序起址CAW(通道地址寄存器),接着启动I/O。
CPU发出启动I/O指令之后,通道工作过程为:首先根据通道地址寄存器(CAW),从内存取出通道命令送入通道控制字寄存器(CCW),同时,修改CAW。
根据CCW中命令进行实际I/O操作。
执行完毕后,如还有命令则转回去继续进行,否则接着往下进行。
最后,发I/O结束中断向CPU汇报工作完成。
操作系统教程第二版课后答案【篇一:《操作系统教程》(第四版)课后答案】目录第一章第二章第三章第四章第五章第六章第七章第八章操作系统概述处理器管理并发进程存储管理设备管理文件管理操作系统的安全与保护网络和分布式操作系统1 7 26 93 103 108113 115【篇二:操作系统教程(第四版)课后习题答案】1、有一台计算机,具有imb 内存,操作系统占用200kb ,每个用户进程各占200kb 。
如果用户进程等待i/o 的时间为80 % ,若增加1mb 内存,则cpu 的利用率提高多少?答:设每个进程等待i/o 的百分比为p ,则n 个进程同时等待刀o的概率是pn ,当n 个进程同时等待i/o 期间cpu 是空闲的,故cpu 的利用率为1-pn。
由题意可知,除去操作系统,内存还能容纳4 个用户进程,由于每个用户进程等待i/o的时间为80 % , 故:cpu利用率=l-(80%)4 = 0.59若再增加1mb 内存,系统中可同时运行9 个用户进程,此时:cpu 利用率=l-(1-80%)9 = 0.87故增加imb 内存使cpu 的利用率提高了47 % :87 %/59 %=147 %147 %-100 % = 47 %2 一个计算机系统,有一台输入机和一台打印机,现有两道程序投入运行,且程序a 先开始做,程序b 后开始运行。
程序a 的运行轨迹为:计算50ms 、打印100ms 、再计算50ms 、打印100ms ,结束。
程序b 的运行轨迹为:计算50ms 、输入80ms 、再计算100ms ,结束。
试说明(1 )两道程序运行时,cpu有无空闲等待?若有,在哪段时间内等待?为什么会等待?( 2 )程序a 、b 有无等待cpu 的情况?若有,指出发生等待的时刻。
答:画出两道程序并发执行图如下:(1)两道程序运行期间,cpu存在空闲等待,时间为100 至150ms 之间(见图中有色部分)(2)程序a 无等待现象,但程序b 有等待。
第四章存储器管理1.在存储管理中,采用覆盖和交换技术的目的是A.节省内存空间B.物理上扩充内存容量C.提高CPU效率D.实现内存共享2.采用不会产生内部碎片A.分页式存储管理B.分段式存储管理C.固定分区式存储管理D.段页式存储管理3.某虚拟存储器系统采用页式内存管理,使用LRU页面替换算法,考虑下面的页面地址访问流:1,8,1,7,8,2,7,2,1,8,3,8,2,1,3,1,7,1,3 假定内存容量为4个页面,开始时是空的,则缺页中断的次数A.4 B.5 C.6 D.74.最佳适应算法的空闲块链表是A.按大小递减顺序连在一起B.按大小递增顺序连在一起C.按地址由小到大排列D.按地址由大到小排列5.在可变分区存储管理中的紧凑技术可以A.集中空闲区B.增加内存容量C.缩短访问周期D.加速地址转换6.在固定分区分配中,每个分区的大小是A.相同B.随作业长度变化C.可以不同但预先固定D.可以不同但根据作业长度固定7.实现虚拟存储管理的目的是A.实现存储保护B.实现程序浮动C.扩充辅存容量D.扩充内存容量8.采用分段存储管理的系统中,若地址是24位表示,其中8位表示段号,则允许每段的最大长度是A.224B.216C.28 D.232 9.把作业地址空间使用的逻辑地址变成内存的物理地址称为A.加载B.重定位C.物理化D.逻辑化10.在段页式存储管理系统中,内存等分成程序按逻辑模块划分成若干A.块B.基址C.分区D.段E.页号F.段长11.虚拟存储管理系统的基础是程序的理论A.局部性B.全局性C.动态性D.虚拟性12.以下存储管理方式中,不适用于多道程序设计系统的是A.单用户连续分配B.固定式分区分配C.可变式分区分配D.页式存储管理13.在可变分区分配方案中,某一道作业完成后,系统收回其在内存空间并与相邻空闲区合并,为此需修改空闲区表,造成空闲区数减1的情况是A.无上邻空闲区也无下邻空闲区B.有上邻空闲区但无下邻空闲区C.无上邻空闲区但有下邻空闲区D.有上邻空闲区也有下邻空闲区14.在一个分页存储管理系统中,页表的内容如表5.4所示,若页面的大小为4K,则地址转换机构将逻辑地址0转换成物理地址为A.8192 B.4096 C.2048 D.102415.如果一个程序为多个进程所共享,那么该程序的代码在执行过程中不能被修改,即程序应该是A.可置换码B.可重入码C.可改变码D.可再现码17. 在分区分配算法中,首次适应算法倾向于优先利用内存中的部分的空闲分区,从而保留了部分的大空闲区18. 设有一页式存储管理系统,向用户提供的逻辑地址空间最大为16页,每页2048字节,内存总共有8个存储块,请问逻辑地址至少应为多少位?内存空间有多大?19.在一个请求分页系统中,假定系统分配给一个作业的物理块数为3,并且此作业的页面走向为2、3、2、1、5、2、4、5、3、2、5、2.试用FIFO和LRU两种算法分别计算出程序访问过程中所发生的缺页次数。
第1章习题参考答案1、操作系统(OS)——是管理计算机系统资源(硬件和软件)的系统软件,它为用户使用计算机提供方便、有效和安全可靠的工作环境。
基本功能:处理器(处理机、CPU)管理、存储器管理、设备管理、文件管理、工作管理(系统交互与界面的有效利用)。
2、一个计算机系统是由硬件和软件两大部分组成。
硬件通常指诸如CPU、存储器、外设等这样一类用以完成计算机功能的各种部件。
计算机软件指为计算机编制的程序,加上执行程序时所需要的数据及说明使用该程序的文档资料。
计算机软件包括应用软件和系统软件两大部分。
3、批处理系统的主要特点是:多道、成批、处理过程中不需要人工干预。
分时系统的主要特点是:同时性、交互性、独立性、及时性。
实时系统的主要特点是:及时性、交互性、安全可靠性、多路性。
4、操作系统的不确定性,不是说操作系统本身的功能不确定,也不是说在操作系统控制下运行的用户程序结果不确定,而是说在操作系统控制下多个作业的执行次序和每个作业的执行时间是不确定的。
具体地说,同一批作业,两次或多次运行的执行序列可能是不同的。
如P1、P2、P3,第一次可能是P1、P2、P3;第二次可能是P2、P1、P3。
5、例如,老师在课堂上给学生讲课就是分时系统。
6、关于文件的所有操作就得到操作系统的服务。
7、网络系统软件中的主要部分是网络操作系统,有人也将它称为网络管理系统,它与传统的单机操作系统有所不同,它是建立在单机操作系统之上的一个开放式的软件系统,它面对的是各种不同的计算机系统的互连操作,面对各种不同的单机操作系统之间的资源共享,用户操作协调和与单机操作系统的交互,从而解决多个网络用户(甚至是全球远程的网络用户)之间争用共享资源的分配与管理。
8、良好的用户界面、树形结构的文件系统、字符流式文件、丰富的核外程序、对现有技术的精选和发展。
9、启动输入设备---接受输入数据---保存到内存---到CPU上运行---启动输出设备---在输出设备输出数据。
操作系统原理答案(总20页)本页仅作为文档封面,使用时可以删除This document is for reference only-rar21year.March第2章习题答案2-9.(1)x<=3 运行顺序为 Px,P3,P5,P6,P9T=(x+(x+3)+(x+3+5)+(x+3+5+6)+(x+3+5+6+9))/5=x+(2)3<x<=5 运行顺序为 P3,Px,P5,P6,P9T=(3+(3+x)+(3+x+5)+(3+x+5+6)+(3+x+5+6+9))/5=+(3)5<x<=6 T=+(4)6<x<=9 T=+(5)9<x T=+2-12.计算采用FCFS、SJN、RHN的平均周转时间和平均带权周转时间:各作业的周转时间Ti和平均周转时间T:T1= T2= T4=各个作业的平均带权周转时间W计算如下:W=(2/2+++=(1+++6)/4=2) SJN 作业运行顺序:1,3,4,2T1= T2==3T3= T4=各个作业的平均带权周转时间W计算如下:W=(2/2+3/+1/+/4=3) HRN 作业运行顺序:1,3,2,4先选择作业1 从。
当作业1完成时,究竟选谁运行,只有通过计算,选择响应比高者运行:作业2的响应比=( +/=作业3的响应比=(+ /=作业4还未到,只能选作业3运行。
作业3运行到结束,再计算剩余的作业2和4:作业2的响应比=(()+)/=作业4的响应比=( /=2 选作业2运行。
作业2到完成。
最后运行作业4。
运行到,全部结束。
各个作业的周转时间计算如下:t1=2 t2== t3= t4==各个作业的平均周转时间计算如下:T==(2++1+/4=各个作业的平均带权周转时间计算如下:W=(2/2++1/+/4=2-13.已知作业A,B,C,D,E需要的运行时间分别为10,6,2,4,8分钟,优先级分别为3,5,2,1,4。
1、管理对象是内存及作为内存的扩展和延伸的后援存储器(外存)。
基本任务:a.按某种算法分配和回收存储空间。
b.实现逻辑地址到物理地址的转换。
c.由软硬件共同实现程序间的相互保护。
2、程序中通过符号名称来调用、访问子程序和数据,这些符号名的集合被称为“名字空
间”,简称名空间。
当程序经过编译或者汇编以后,形成了一种由机器指令组成的集合,被称为目标程序,或者相对目标程序。
这个目标程序指令的顺序都以0为一个参考地址,这些地址被称为相对地址,或者逻辑地址,有的系统也称为虚拟地址。
相对地址的集合称为相对地址空间,也称虚拟地址空间。
目标程序最后要被装入系统内存才能运行。
目标程序被装入的用户存储区的起始地址是一个变动值,与系统对存储器的使用有关,也与分配给用户使用的实际大小有关。
要把以0作为参考地址的目标程序装入一个以某个地址为起点的用户存储区,需要进行一个地址的对应转换,这种转换在操作系统中称为地址重定位。
也就是说将目标地址中以0作为参考点的指令序列,转换为以一个实际的存储器单元地址为基准的指令序列,从而才成为一个可以由CPU调用执行的程序,它被称为绝对目标程序或者执行程序。
这个绝对的地址集合也被称为绝对地址空间,或物理地址空间。
用户程序的装入,是一个从外存空间将用户已经编译好的目标程序,装入内存的过程。
在这个过程中,要进行将相对地址空间的目标程序转换为绝对地址空间的可执行程序,这个地址变换的过程称为地址重定位,也称地址映射,或者地址映象。
覆盖:是利用程序内部结构的特征,以较小的内存空间运行较大程序的技术。
交换:是指内外存之间交换信息。
3、一旦一个区域分配给一个作业后,其剩余空间不能再用(内零头或内碎片),另外当一区域小于当前所有作业的大小时,便整个弃置不用(外零头或外碎片)。
4、(1)2.4us (2)1.5us
5、为了给大作业(其地址空间超过主存可用空间)用户提供方便,使他们摆脱对主存和外存的分配和管理。
由操作系统把多级存储器统一管理起来,实现自动覆盖。
即一个大作业在执行时,其一部分地址空间在主存,另一部分在外存。
当所访问的信息不在主存时,则由操作系统把它从外存调入主存,因此,从效果上来看,这样的计算机系统,好象为用户提供了一个其存储容量比实际主存大得多的存储器。
人们称这个存储器为虚拟存储器。
它的容量取决于主存和外存的容量之和,人们之所以称它为虚拟存储器,是因为这样的存储器实际上并不存在,而只是系统增加了自动覆盖功能后,给用户造成的一种假象,仿佛系统内有了一个很大的主存供他使用。
实现虚存管理的物质基础是二级存储器结构和动态地址转换机构(DAT)。
经过操作系统的改造将内存和外存有机地联系在一起,在用户面前呈现一个足以满足编程需要的特大存储空间,从而把用户地址空间和实际的存储空间区分开来,使得用户可以在虚拟存储器内写自己的程序,而不必关心它在机器上是如何存放和执行的。
6、硬件支持
采用分区法分配内存要有硬件保护机构。
通常用一对寄存器来实现。
这一对寄存器的置值可有两种不同方法:
* 用这一对寄存器分别表示用户程序在内存中的上界值和下界值。
用户程序执行时,对每个地址都要作合法性检查,当满足:
下界寄存器值≤地址<上界寄存器值时为合法。
否则报地址越界中断。
也可用这一对寄存器表示用户程序的基址和限长。
基址表示用户程序的最小物理地址,限长
表示用户程序逻辑地址范围。
7、硬件支持:动态地址转换机构、页表,给出页表起始地址的寄存器。
系统做的工作:由动态地址转换机构自动地将CPU给出的一维逻辑地址LA分成两部分:页号(p)和页内位移量(b);按p的值查找现行进程页表以获得块号(n);将此块号n与LA中的b相拼接,就形成了物理地址PA。
8、页面走向序列:0,2,0,2,0,2,0,0,0,9,0,9,0
9、(1)430+219=649 (2)10+2300=2310 (3)11+2300=2311
(4)段违例(5)400+1327=1727 (6) 段违例
10、段和页是截然不同的两个概念。
页是一维逻辑地址,是信息的物理单位,且大小固定由系统确定,用户是看不见的。
段是二维逻辑地址,是信息的逻辑单位,其大小可变,由用户自己确定,用户是看得见的。
11、到需要调用一模块时,再去链接它,即动态链接法。
在分段管理中,每个段都有自己的段名,且在运行期间能保持原有的逻辑信息结构,因而实现动态链接较容易。
13、不一定!UNIX系统5中就不是!UNIX S-5中的做法:它在fork算法中并未真正为子进程申请存储空间,而是将user结构、栈段、数据段的页表项中置上“复制写位”。
当父、子进程中的任一个进程要对这些页进行写操作时,再为它们申请存储空间,并进行复制,否则父、子进程就是共享相应页面内容。
14、页面淘汰算法:当访问某一页面时,将其访问位置1,同时将年龄位清0;当页面淘汰进程检查某页时,将年龄位加1,同时若发现其访问位为1,则清0;当年龄位值达到一定时,将该页置为可换出状态。
15、所谓工作集WS(Working Set),是在程序执行中离时刻ti最近的Δ次访存所涉及到的那些页面的集合,当Δ确定以后,工作集是时刻ti的函数。
工作集是对程序局部的一个近似模拟,如果我们能找出一进程的各个工作集,并求出其页面数最大者,则可确定该进程所需内存量,并根据此确定系统内并发进程的最大个数。