操作系统课后题答案
操作系统第五版费祥林-课后习题答案参考

操作系统第五版费祥林-课后习题答案参考1. 习题一a) 内容描述:- 系统调用是操作系统提供给用户程序的一组接口,用于访问操作系统的功能和服务。
- 系统调用是以进程的方式运行的,通过软中断或硬中断触发,并返回一个状态值,表示系统调用的执行结果。
b) 答案:系统调用的主要目的是提供一种安全的方式,让用户程序能够访问操作系统的特权功能。
通过系统调用,用户程序可以进行文件操作、网络通信、进程管理等功能。
2. 习题二a) 内容描述:- 进程是计算机中正在运行的程序的实例。
- 进程由程序代码、相关数据和执行上下文组成。
- 进程拥有自己的虚拟内存空间、寄存器状态和资源。
- 进程可以通过操作系统的调度机制进行切换和调度。
b) 答案:进程的主要特征包括并发性、独立性和随机性。
并发性指的是多个进程可以同时存在和执行;独立性指的是进程拥有独立的资源和执行上下文;随机性指的是进程的执行顺序和时间不确定。
3. 习题三a) 内容描述:- 死锁是指两个或多个进程因为竞争有限的资源而无法继续执行的状态。
- 死锁发生的原因包括互斥、占有且等待、不可抢占和循环等待。
b) 答案:死锁的预防和避免是操作系统中重要的问题。
预防死锁的方法包括破坏死锁产生的条件,如破坏互斥条件、破坏占有且等待条件等;避免死锁的方法包括资源分配图和银行家算法。
4. 习题四a) 内容描述:- 页面置换算法是操作系统中用于管理虚拟内存的重要手段。
- 页面置换算法的目标是在有限的物理内存空间中有效地管理大量的进程和页面。
- 常见的页面置换算法有FIFO、LRU和LFU等。
b) 答案:页面置换算法的选择依赖于系统的具体需求和资源限制。
FIFO算法是最简单的页面置换算法,它总是选择最先进入内存的页面进行置换;LRU算法则是根据页面最近被访问的频率进行置换;LFU算法是根据页面被访问的次数进行置换。
5. 习题五a) 内容描述:- 文件系统是操作系统中负责管理文件和目录的一组服务和数据结构。
计算机操作系统课后题答案(高等教育出版社)

练习题(一)Ⅰ问答题1. 操作系统的两个主要目标是什么?答:方便性与有效性。
2. 试说明操作系统与硬件、其它系统软件以及用户之间的关系?答:与硬件的关系:操作系统是位于硬件层上的第一层软件,它直接管理着计算机的硬件,合理组织计算机工作流程,并提高了硬件的利用率。
与其他系统软件的关系:操作系统是系统软件,但它不同于其它系统软件和应用软件,它为其它系统软件和应用软件提供接口。
应用软件要使用操作系统所提供的服务方可方便使用计算机。
与用户之间的关系:操作系统是为改善人机界面、提供各种服务,为用户使用计算机提供良好运行环境的一种系统软件。
3. 试论述操作系统是建立在计算机硬件平台上的虚拟计算机系统。
答:没有任何软件支持的计算机称为裸机,即使其硬件功能再强,也必定是难于使用的。
而实际呈现在用户面前的计算机系统是经过若干层软件改造的计算机。
裸机位于最里层,它的外面是操作系统,经过操作系统提供的资源管理功能和方便用户的各种服务功能,将裸机改造成功能更强、使用更方便的机器,通常把覆盖了软件的机器称为扩充机器,又称之为虚拟机(Virtual Machine ),这样的计算机系统是概念上和逻辑上的计算机,不是物理上的真实计算机。
4. 什么是操作系统?它有哪些基本功能与基本特征?答:操作系统是位于硬件层之上,所有其它软件层之下的一种系统软件,它控制和管理计算机系统资源、合理组织计算机工作流程、提供用户与计算机系统之间的接口。
操作系统的基本功能有:处理器管理、存储器管理、设备管理、文件管理和提供用户接口。
操作系统的基本特征有:并发性、共享性、虚拟性和不确定性。
5. 请叙述并发和并行两个概念的区别?答:并发性是指两个或多个程序在同一时间段内同时执行,是宏观上的同时。
而并行性是从硬件意义上考虑,是不同硬件部件(如CPU与I/O)在同一时刻的并行,即微观上,多个程序也是同时执行的。
6. 什么是多道程序设计? 在操作系统中使用这种技术有什么好处?答:多道程序设计是指在计算机内存中同时存放若干道已开始运行尚未结束的程序,它们交替运行,共享系统中的各种硬、软件资源,从而使处理机得到充分利用。
操作系统课后部分习题及答案

第2章操作系统的运行环境2.2 现代计算机为什么设置目态/管态这两种不同的机器状态?现在的lntel80386设置了四级不同的机器状态(把管态又分为三个特权级),你能说出自己的理解吗?答:现在的Intel 80386把执行全部指令的管态分为三个特权级,再加之只能执行非特权指令的目态,这四级不同的机器状态,按照系统处理器工作状态这四级不同的机器状态也被划分管态和目态,这也完全符合处理器的工作状态。
2.6 什么是程序状态字?主要包括什么内容?答:如何知道处理器当前处于什么工作状态,它能否执行特权指令,以及处理器何以知道它下次要执行哪条指令呢?为了解决这些问题,所有的计算机都有若干的特殊寄存器,如用一个专门的寄存器来指示一条要执行的指令称程序计数器PC,同时还有一个专门的寄存器用来指示处理器状态的,称为程序状态字PSW。
主要内容包括所谓处理器的状态通常包括条件码--反映指令执行后的结果特征;中断屏蔽码--指出是否允许中断,有些机器如PDP-11使用中断优先级;CPU的工作状态--管态还是目态,用来说明当前在CPU上执行的是操作系统还是一般用户,从而决定其是否可以使用特权指令或拥有其它的特殊权力。
2.11 CPU如何发现中断事件?发现中断事件后应做什么工作?答:处理器的控制部件中增设一个能检测中断的机构,称为中断扫描机构。
通常在每条指令执行周期内的最后时刻中扫描中断寄存器,询为是否有中断信号到来。
若无中断信号,就继续执行下一条指令。
若有中断到来,则中断硬件将该中断触发器内容按规定的编码送入程序状态字PSW的相应位(IBM-PC中是第16~31位),称为中断码。
发现中断事件后应执行相中断处理程序,先由硬件进行如下操作:1、将处理器的程序状态字PSW压入堆栈2、将指令指针IP(相当于程序代码段落的段内相对地址)和程序代码段基地址寄存器CS的内容压入堆栈,以保存被子中断程序的返回地址。
3、取来被接受的中断请求的中断向量地址(其中包含有中断处理程序的IP,CS的内容),以便转入中断处理程序。
操作系统课后习题及答案

第一章1.下面不属于操作系统的是(C )A、OS/2B、UCDOSC、WPSD、FEDORA2.操作系统的功能不包括(B )A、CPU管理B、用户管理C、作业管理D、文件管理3.在分时系统中,当时间片一定时,(B ),响应越快。
A、内存越大B、用户越少C、用户越多D、内存越小4.分时操作系统的及时性是指( B )A、周转时间B、响应时间C、延迟时间D、A、B和C5.用户在程序设计的过程中,若要得到系统功能,必须通过(D )A、进程调度B、作业调度C、键盘命令D、系统调用6.批处理系统的主要缺点是( C )A、CPU使用效率低B、无并发性C、无交互性D、都不是第二章1、若信号量的初值为2,当前值为-3,则表示有(C )个进程在等待。
A、1B、2C、3D、52、在操作系统中,要对并发进程进行同步的原因是(B )A、进程必须在有限的时间内完成B、进程具有动态性C、并发进程是异步的D、进程具有结构性3、下列选项中,导致创进新进程的操作是(C )I用户成功登陆II设备分配III启动程序执行A、仅I和IIB、仅II和IIIC、仅I和IIID、I,II,III4、在多进程系统中,为了保证公共变量的完整性,各进程应互斥进入临界区。
所谓的临界区是指(D )A、一个缓冲区B、一个数据区C、一种同步机构D、一段程序5、进程和程序的本质区别是(B )A、内存和外存B、动态和静态特征C、共享和独占计算机资源D、顺序和非顺序执行计算机指令6、下列进程的状态变化中,(A )的变化是不可能发生的。
A、等待->运行B、运行->等待C、运行->就绪D、等待->就绪7、能从1种状态变为3种状态的是(D )A、就绪B、阻塞C、完成D、执行8、下列关于进程的描述正确的是(A )A、进程获得CPU是通过调度B、优先级是进程调度的重要依据,一旦确定就不能改变C、在单CPU系统中,任何时刻都有一个进程处于执行状态D、进程申请CPU得不到满足时,其状态变为阻塞9、CPU分配给进程的时间片用完而强迫进程让出CPU,此时进程的状态为(C )。
操作系统课后复习题答案

操作系统课后复习题答案第一章一、简答题3.什么是操作系统?操作系统在计算机系统中的主要作用是什么?操作系统是管理系统资源、控制程序执行、改善人机界面、提供各种服务,并合理组织计算机工作流程和为用户有效地使用计算机提供良好运行环境的一种系统软件.主要作用(1)服务用户—操作系统作为用户接口和公共服务程序(2)进程交互—操作系统作为进程执行的控制者和协调者(3)系统实现—操作系统作为扩展机或虚拟机(4)资源管理—操作系统作为资源的管理者和控制者15.什么是多道程序设计?多道程序设计有什么特点?多道程序设计是指允许多个作业(程序)同时进入计算机系统内存并执行交替计算的方法。
从宏观上看是并行的,在一个时间段,它们都在同时执行,都处于执行的开始点和结束点之间;从微观上看是串行的,在某一时刻,他们在同一台计算机上交替、轮流、穿插地执行。
(1)可以提高CPU、内存和设备的利用率;(2)可以提高系统的吞吐率,使单位时间内完成的作业数目增加;(3)可以充分发挥系统的并行性,使设备和设备之间,设备和CPU 之间均可并行工作。
19.分时系统中,什么是响应时间?它与哪些因素有关?分时系统的响应时间是指用户从终端发出一个命令到系统处理完这个命令并做出回答所需要的时间。
这个时间受时间片长度、终端用户个数、命令本身功能、硬件特性、主存与辅存的交换速度等影响。
23.现代操作系统具有哪些基本功能?请简单叙述之。
(1)处理器管理;(2)存储管理;(3)设备管理;(4)文件管理;(5)联网与通信管理。
/某tip某/简述操作系统资源管理的资源复用技术。
系统中相应地有多个进程竞争使用资源,由于计算机系统的物理资源是宝贵和稀有的,操作系统让众多进程共享物理资源,这种共享称为资源复用。
(1)时分复用共享资源从时间上分割成更小的单位供进程使用;(2)空分复用共享资源从空间上分割成更小的单位供进程使用。
二、应用题2、答:画出两道程序并发执行图如下:(1)两道程序运行期间,CPU存在空闲等待,时间为100至150m之间(见图中有色部分)。
课后练习题及答案

一、填空练习1.程序的执行是现代操作系统的基本特征之一,为了更好地描述这一特征而引入了这一概念。
2.进程存在的标志是。
3.进程的静态实体由、和三部分组成。
4.用于进程控制的原语主要有、、和。
5.进程被创建后,最初处于状态,然后经选中后进入状态。
6.进程创建工作主要完成的是创建进程控制块(PCB),并把它挂到队列中。
7.如果系统中有n个进程,则在就绪队列中进程的个数最多。
8.进程的同步和互斥反映了进程间和的关系。
9.死锁产生的四个必要条件是、、和四种。
10.操作系统中信号量的值与的使用情况有关,它的值仅能由来改变。
11.进程至少有三种基本状态:、和。
12.每执行一次P操作,信号量的数值S减1。
若S>0,则该进程;若S<0,则该进程。
13.每执行一次V操作,信号量的数值S加1。
若,则该进程继续执行;否则从对应的队列中移出一个进程并将状态赋予该进程。
14.利用信号量实现进程的,应为临界区设置一个信号量mutex,其初值为1,表示该资源尚未使用,临界区应置于和原语之间。
15. Windows NT是采用结构的操作系统,它的进程的功能发生了变化,它只是资源分配的单位,不是的单位,后者的功能由完成。
16. 通常,线程的定义是____________________________________。
在现代操作系统中,资源的分配单位是__________________,而处理机的调度单位是________________,一个进程可以有___________线程。
17. 计算机系统一般都设计有两种运行状态,和。
18. 目前,在操作系统设计中采用的结构模型主要有四种:、、和。
参考答案:1、并发,进程2、进程控制块PCB3、程序,数据集合,进程控制块PCB4、建立原语、撤消原语,挂起原语,激活原语5、就绪,进程调度程序,执行6、就绪7、n-18、直接制约,间接制约9、互斥使用,保持和等待,非剥夺性,循环等待10、相应资源,P、V操作11、执行态,就绪态,等待态12、继续执行,等待13、S>0,等待,就绪14、互斥,P(mutex),V(mutex)15、微内核,调度运行,线程16、是进程中执行运算的最小单位,进程,线程,多个17、用户态,核心态18、层次模块模型,整体内核模型,进程模型,对象模型二、选择练习1. 操作系统中,可以并行工作的基本单位是[1],[1]也是系统核心调度及资源分配的基本单位,它是由[2]组成的,它与程序的主要区别是[3]。
操作系统课后习题答案

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操作,写出能够正确执行的程序。
操作系统(1~8章的课后习题答案)

1.1:存储程序式计算机的主要特点是:集中顺序过程控制(1)过程性:模拟人们手工操作(2)集中控制:由CPU集中管理(3)顺序性:程序计数器1.2:a:批处理系统的特点:早期批处理有个监督程序,作业自动过渡直到全部处理完,而脱机批处理的特点:主机与卫星机并行操作。
b:分时系统的特点:(1):并行性。
共享一台计算机的众多联机用户可以在各自的终端上同时处理自己的程序。
(2):独占性。
分时操作系统采用时间片轮转的方法使一台计算机同时为许多终端上同时为许多终端用户服务,每个用户的感觉是自己独占计算机。
操作系统通过分时技术将一台计算机改造为多台虚拟计算机。
(3):交互性。
用户与计算机之间可以进行“交互会话”,用户从终端输入命令,系统通过屏幕(或打印机)将信息反馈给用户,用户与系统这样一问一答,直到全部工作完成。
c:分时系统的响应比较快的原因:因为批量操作系统的作业周转时间较长,而分时操作系统一般采用时间片轮转的方法,一台计算机与许多终端设备连接,使一台计算机同时为多个终端用户服务,该系统对每个用户都能保证足够快的响应时间,并提供交互会话功能。
1.3:实时信息处理系统和分时系统的本质区别:实时操作系统要追求的目标是:对外部请求在严格时间范围内做出反应,有高可靠性和完整性。
其主要特点是资源的分配和调度首先要考虑实时性然后才是效率。
此外,实时操作系统应有较强的容错能力,分时操作系统的工作方式是:一台主机连接了若干个终端,每个终端有一个用户在使用。
用户交互式地向系统提出命令请求,系统接受每个用户的命令,采用时间片轮转方式处理服务请求,并通过交互方式在终端上向用户显示结果。
用户根据上步结果发出下道命。
分时操作系统将CPU 的时间划分成若干个片段,称为时间片。
操作系统以时间片为单位,轮流为每个终端用户服务。
每个用户轮流使用一个时间片而使每个用户并不感到有别的用户存在。
分时系统具有多路性、交互性、“独占”性和及时性的特征。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.1 一类操作系统服务提供对用户很有用的函数,主要包括用户界面、程序执行、I/O操作、文件系统操作、通信、错误检测等。
另一类操作系统函数不是帮助用户而是确保系统本身高效运行,包括资源分配、统计、保护和安全等。
这两类服务的区别在于服务的对象不同,一类是针对用户,另一类是针对系统本身。
2.6 优点:采用同样的系统调用界面,可以使用户的程序代码用相同的方式被写入设备和文件,利于用户程序的开发。
还利于设备驱动程序代码,可以支持规范定义的API。
缺点:系统调用为所需要的服务提供最小的系统接口来实现所需要的功能,由于设备和文件读写速度不同,若是同一接口的话可能会处理不过来。
2.9 策略决定做什么,机制决定如何做。
他们两个的区分对于灵活性来说很重要。
策略可能会随时间或位置而有所改变。
在最坏的情况下,每次策略改变都可能需要底层机制的改变。
系统更需要通用机制,这样策略的改变只需要重定义一些系统参数,而不需要改变机制,提高了系统灵活性。
3.1、短期调度:从准备执行的进程中选择进程,并为之分配CPU;中期调度:在分时系统中使用,进程能从内存中移出,之后,进程能被重新调入内存,并从中断处继续执行,采用了交换的方案。
长期调度:从缓冲池中选择进程,并装入内存以准备执行。
它们的主要区别是它们执行的频率。
短期调度必须频繁地为CPU选择新进程,而长期调度程序执行地并不频繁,只有当进程离开系统后,才可能需要调度长期调度程序。
3.4、当控制返回到父进程时,value值不变,A行将输出:PARENT:value=5。
4.1、对于顺序结构的程序来说,单线程要比多线程的功能好,比如(1)输入三角形的三边长,求三角形面积;(2)从键盘输入一个大写字母,将它改为小写字母输出。
4.4、在多线程程序中各线程共享堆内存和全局变量,而寄存值和栈内存是每个线程所独有的。
4.7、C行输出:CHILD:value=5;P行输出:PARENT:value=05.4、SJF调度算法和Priority调度算法会导致饥饿。
5.10、FCFS:最先到达的进程最先完成,若某个长进程先到达,则之后的任一短进程都会有较长的等待时间。
RR:将就绪队列作为循环队列,CPU调度程序循环就绪队列,为每个进程分配不超过一个时间片的时间,所以只要短进程可以先完成,它们可以很快的离开系统。
多级反馈队列调度算法:并不会特意的区分短进程并优先选择它,对待短进程上和RR调度算法相似。
6.1、(1)互斥条件通过flag和turn变量的使用实现。
如果两个进程将flag设为真,那么只有轮到的那个进程会成功进行。
只有当一个进程更新turn值时,等待的那个进程才能进入它的临界区域。
(2)前进也是通过flag和turn实现的。
如果一个进程想要进入它们的临界区域,它可以将它的flag设为真,然后进入临界区域。
当退出它的临界区域,将turn设置为转向其他进程的值。
如果这个进程想要在其他进程之前再次进入临界区域,它会不断重复进入临界区域,在退出时将turn置为转向另一个进程的过程。
(3)有限等待通过turn的使用来实现。
假设两个进程想要进入临界区域,它们都将flag的值设为真,而只有轮到的那个线程可以执行,其他的线程处于等待状态。
如果有限等待没有实现,那么当第一个进程重复“进入-退出”临界区域这一过程时,其他进程则必须无限等待下去。
Dekker算法要求一个进程将turn 设置为转向另一个进程的值,从而保证另一个进程接下来进入临界区域。
6.4、自旋锁不适合在单处理器系统是因为从自旋锁中打破一个进程的条件只有在执行一个不同的进程时才能获得。
如果这个进程没有闲置处理器,其他进程不能够得到这个机会去设定第一个进程进展需要的程序条件。
在一个多处理器系统中,其他进程在其他处理器上执行,从而可以修改程序状态使得第一个进程从自旋锁中释放。
6.5、如果一个用户级程序具有停止中断的能力,那么它能够停止计时器中断,防止上下文切换的发生,从而允许它使用处理器而不让其他进程执行。
6.6、因为停止中断仅仅能够防止其他进程在一个中断不能实现的处理器上执行,而在其他处理器上能执行什么进程是没有限制的,所以进程停止中断并不能保证互斥进入程序状态,即中断在多处理器系统中是不够的。
6.16、当执行管程的signal操作时,如果没有等待线程,那么系统会忽略signal 操作,认为signal操作没有发生过。
如果随后执行wait操作,那么相关的线程就会被阻塞。
然而在信号量中,即使没有等待线程,每个signal操作都会导致相应的信号量值的增加,那么接下来的wait操作就会因为之前的信号量值的增加而马上成功进行.7.1a、死锁的四个必要条件:互斥;占有并等待;非抢占;循环等待。
互斥的条件是只有一辆车占据道路上的一个空间位置。
占有并等待表示一辆车占据道路上的位置并且等待前进。
一辆车不能从道路上当前的位置移动开(就是非抢占)。
最后就是循环等待,因为每个车正等待着随后的汽车向前发展。
循环等待的条件也很容易从图形中观察到。
b、一个简单的方法是,汽车不得进入一个十字路口,这样就不会产生相交。
7.5 a、增加可用资源:这个在任何情况下都是安全的;b、减少可用资源:这可能会影响到系统,并导致可能性死锁因为系统的安全性假定其拥有一定数量的可用资源;c、增加一个进程的Max(进程需要更多的资源,超过所允许给予的资源):这可能会影响到系统,并可能导致死锁;d、减少一个进程的Max(进程不再需要那么多资源):这个在任何情况下都是安全的;e、增加进程的数量:如果允许分配资源给新进程,那么该系统并没有进入一个不安全的状态;f、减少进程的数量:这个在任何情况下都是安全的。
7.8、当一个哲学家发出一个需要第一根筷子的请求时,如果没有别的哲学家有两根筷子或者只留有一根筷子时,这个请求就不被允许。
7.11、a、.Need矩阵的内容是P0(0 0 0 0) P1(0 7 5 0) P2(1 0 0 2)P3(0 0 2 0) P4(0 6 4 0)b、系统处于安全状态,因为Available矩阵等于(1 5 2 0),进程P0和P3都可以运行,当进程P3运行完时,它释放它的资源,而允许其它进程运行。
c、可以被满足,满足以后,Available矩阵等于(1 1 0 0),当以次序P0,P2, P3, P1 ,P4运行时候,可以完成运行。
8.5、连续内存分配会产生外部碎片,因为地址空间是被连续分配的,当旧进程结束,新进程初始化的时候,碎片会扩大。
连续内存分配也不允许进程共享代码,因为一个进程的虚拟内存段是不被允许闯入不连续的段的。
纯段式分配也会产生外部碎片,因为在物理内存中,一个进程的段是被连续放置的,以及当死进程的段被新进程的段所替代时,碎片也将会产生。
然而,段式分配可以使进程共享代码;比如,两个不同的进程可以共享一个代码段,但是有不同的数据段。
纯页式分配不会产生外部碎片,但会产生内部碎片。
进程可以采用页式分配,如果一页没有被完全利用,它就会产生内部碎片并且会产生一个相当的空间浪费。
页式分配也允许进程共享代码。
8.6、逻辑地址在页式分配系统上包括逻辑页号和偏移量。
在逻辑页号的基础上产生一个物理页号,物理页号通过页表被找到。
因为操作系统控制这张表的内容,所以操作系统只允许进程访问那些分配到该进程的物理页。
一个进程想要访问一个它所不拥有的页是不可能的,因为这一页在页表中不存在。
为了允许这样的进入,操作系统只需要简单的允许非本进程内存的条目被加到该进程的页表中。
当两个或多个进程需要交换数据时,这是十分有用的。
在进程内通信时,这是十分高效的。
8.9、a.400ms:200ms进入页表查询页框号,200ms进入内存中找到所需的数据b.有效进入时间为0.75*200+0.25*400=250ms8.10、段式存储与页式存储经常结合在一起以提高它们每一个存储方式的性能。
当页变的十分大时,分段的页式存储是十分有用的。
一大段连续的未用页表可折叠成一个以页表地址0为入口的单一段表。
分页的段式存储适用于段非常大需要很长时间来进行分配的时候。
通过把段分页,我们降低了由于外部碎片而造成的内存浪费,而且也简化了分配。
9.2 答:对于每一个内存访问操作,页表需要检查相应的页表条目存在与否,程序对该访问页面有读权限还是写权限,这些核对都需要硬件实现。
一个TLB可以作为高速缓存提高查询操作的效率。
9.10 答:该系统显然花费了许多时间进行分页,显示过度分配的内存,如果多级程序水平降低,页面错误将变少,CPU利用率也会提高。
另一种提高利用率的方式是获得更多的物理内存或更快的分页磁盘。
ABC都不行,D可以E.可能提高CPU利用率,因为更多页面能存放在内存中,而不需要从磁盘请求页面。
F.另一个改进,因为磁盘的瓶颈被更快的响应和更大的磁盘吞吐量所删除,CPU 将会更快的获得更多的数据G.CPU将会更快的获得更多的数据,所以更多地被使用。
如果分页服从预调(即一些访问顺序)这只是一个方面。
H.如果数据被顺序访问,那么增加页面大小将导致缺页率降低。
如果数据访问是随机的,就需要更多的页面操作,因为较少页面可保存在内存上,在每次缺页时,更多的数据被转移,所以这种变化既可以减少CPU利用率也可以增加CPU利用率。
9.15 答:分配的页数少于进程所需的最小页数时发生抖动,并迫使它不断地页错误。
系统可通过对比多道程序的水平和CPU利用率的程度,以此来检测抖动。
降低多道程序的水平可以消除抖动。
9.16 答:可以,事实上,许多处理器因为这个原因提供两个TLB。
举个例子,一个进程访问的代码可长时间地保留同样的工作集合。
然而,代码访问的数据可能改变,这样为工作集合的数据访问产生了一个改变。
10.1 答:令旧的文件为F1,新文件为F2。
用户希望通过存在的链接进入F1,实际上将进入F2。
注意,使用的是文件F1的访问保护,而不是F2的。
这个问题可以通过确保所有被删除文件的链接也被删除来避免。
可从几个方面完成:a.保存一份文件所有链接的列表,删除文件时,删除每一个链接b.保留链接,当试图访问一个已删除文件时删除他们c.保存一个文件引用清单(或计数器),只有在文件所有链接或引用被删除后,删除该文件10.3 答:在许多情况下,单独的程序可能愿意容忍同时访问一个文件,而不需要获得锁,从而确保文件的相互排斥。
其他程序结构也可以确保相互排斥,如内存锁,或其他同步的形式。
在这种情况下,强制锁将限制访问文件的灵活性,也可能增加与访问文件相关的开销。
10.11 答:UNIX的一致性语义需要更新文件立即提供给其他进程。
支持这种语义的共享文件远程文件系统可能会导致以下的低效率: 一个用户产生的所有更新,必须立即上报文件服务器,而不是批处理(如果更新到一个临时文件将会被忽略), 而且更新必须立刻通过文件服务器跟高速缓存数据的客户进行交流,造成更多的联系。