版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第1章教材习题解答1 基本概念和术语计算机系统、多道程序设计、操作系统、系统调用、分时一个完整的计算机系统是由硬件和软件两大部分组成的。通常硬件是指计算机物理装置本身;而软件是相对硬件而言的,简单地说,软件是计算机执行的程序。在多道程序设计技术下,内存中能同时存放多道程序,在管理程序的控制下交替地执行。这些作业共享CPU和系统中的其他资源。操作系统是控制和管理计算机系统内各种硬件和软件资源、有效地组织多道程序运行的系统软件(或程序集合),是用户与计算机之间的接口。系统调用是操作系统内核与用户程序、应用程序之间的接口。分时主要是指若干并发程序对CPU时间的共享。2 基本原理和技术(1)操作系统的
2、基本特征是什么?操作系统的基本特征是:并发、共享和异步性。并发是指两个或多个活动在同一给定的时间间隔中进行。共享是指计算机系统中的资源被多个任务所共用。异步性是指在多道程序环境下,各程序的执行过程有着“走走停停”的性质。(2)操作系统的主要功能是什么?操作系统的主要功能包括:存储管理,进程和处理机管理,文件管理,设备管理以及用户接口管理。(3)操作系统一般为用户提供了哪三种界面?各有什么特点?操作系统一般为用户提供的三种界面是:图形用户接口、命令行接口和程序接口。图形用户接口:用户利用鼠标、窗口、菜单、图标等图形界面工具,可以直观、方便、有效地使用系统服务和各种应用程序及实用工具。命令行接口:
3、在提示符之后用户从键盘上输入命令,命令解释程序接收并解释这些命令,然后把它们传递给操作系统内部的程序,执行相应的功能。程序接口:也称系统调用接口。系统调用是操作系统内核与用户程序、应用程序之间的接口。在UNIX/Linux系统中,系统调用以C函数的形式出现。(4)操作系统主要有哪三种基本类型?各有什么特点?操作系统主要有以下三种基本类型:多道批处理系统、分时系统和实时系统。多道批处理系统的特点是多道和成批。分时系统的特点是同时性、交互性、独立性和及时性。实时系统一般为具有特殊用途的专用系统,其特点是交互能力较弱、响应时间更严格、对可靠性要求更高。(5)操作系统主要有哪些类型的体系结构?UNIX
4、、Linux系统各采用哪种结构?一般说来,操作系统有如下四种结构:整体结构,层次结构,虚拟机结构和客户机-服务器结构。UNIX系统采用的是层次结构,Linux系统采用的是整体结构。(6)Linux系统有什么特点?Linux系统的主要特点有:与UNIX兼容。自由软件,源码公开。性能高,安全性强。便于定制和再开发。互操作性高。全面的多任务和真正的32位操作系统。3 思考题(1)在计算机系统中操作系统处于什么地位?操作系统是裸机之上的第一层软件,与硬件关系尤为密切。它不仅对硬件资源直接实施控制、管理,而且其很多功能的完成是与硬件动作配合实现的,如中断系统。操作系统的运行需要有良好的硬件环境。这种硬件
5、配置环境往往称作硬件平台。操作系统是整个计算机系统的控制管理中心,其他所有软件都建立在操作系统之上。操作系统对它们既具有支配权力,又为其运行建造必备环境。因此,在裸机之上每加一层软件后,用户看到的就是一台功能更强的机器,通常把经过软件扩充功能后的机器称为“虚拟机”。在裸机上安装了操作系统后,就为其他软件的运行和用户使用提供了工作环境。往往把这种工作环境称作软件平台。(2)你熟悉哪些操作系统?想一想你在使用计算机过程中,操作系统如何提供服务?我们最熟悉的一般为Windows操作系统,它是由微软(Microsoft)公司推出的一个功能强大的图形界面操作系统。常用的操作系统还有Linux,UNIX操
6、作系统。我们在使用计算机时,首先接触的是用户界面,我们可以通过键盘上输入命令,在桌面上点击鼠标完成操作,这时系统就知道执行相应的功能。然后,我们要在磁盘上建立新文件,打开已存储的文件,对文件进行读、写和修改等操作,这是由操作系统的文件管理来帮助实现的。我们要把程序装入内存,系统中只有一个内存,操作系统的存储管理功能需要为用户程序来分配内存空间,并进行数据的保护。我们从键盘上输入数据或命令,运行结果在屏幕上显示出来或者在打印机上打印出来。当我们需要用到外部设备的时候,操作系统的设备管理可以解决设备分配和驱动的问题。最后,我们来了解一下计算机的关键部件CPU,每个程序都要在上面运行。让谁的程序运行
7、、什么时候开始运行、运行多长时间呢?程序在活动过程中如何与其他活动实体联系呢?等等,这是进程和处理机管理问题。(3)使用虚拟机,有什么优势和不足?采用虚拟机的优点主要有:在一台机器上可同时运行多个操作系统,方便用户使用。系统安全,有效地保护了系统资源。为软件的研制、开发和调试提供了良好的环境。组建虚拟网络,可以创造出多个理想的工作环境。缺点是:对硬件的要求比较高,主要是CPU、硬盘和内存。本身非常复杂,另外,执行任务时的速度会受到一些影响。第2章 进程管理“练习与思考”解答1 基本概念和术语进程、进程互斥、进程同步、临界资源、临界区、死锁进程是程序在并发环境中的执行过程。进程互斥:各个进程彼此
8、不知道对方的存在,逻辑上没有关系,由于竞争同一资源(如打印机、文件等)而发生相互制约。 进程同步:各个进程不知对方的名字,但通过对某些对象(如I/O缓冲区)的共同存取来协同完成一项任务。临界资源:一次仅允许一个进程使用的资源。 临界区:在每个进程中访问临界资源的那段程序。死锁是指在一个进程集合中的每个进程都在等待仅由该集合中的另一个进程才能引发的事件而无限期地僵持下去的局面。2 基本原理和技术(1) 在操作系统中为什么要引入进程概念?它与程序的区别和联系是什么?在操作系统中,由于多道程序并发执行时共享系统资源,共同决定这些资源的状态,因此系统中各程序在执行过程中就出现了相互制约的新关系,程序的
9、执行出现“走走停停”的新状态。这些都是在程序的动态过程中发生的。用程序这个静态概念已不能如实反映程序并发执行过程中的这些特征。为此,人们引入“进程”这一概念来描述程序动态执行过程的性质。 进程与程序的主要区别是: 进程是动态的;程序是静态的。 进程有独立性,能并发执行;程序不能并发执行。 二者无一一对应关系。 进程异步运行,会相互制约;程序不具备此特征。但进程与程序又有密切的联系:进程不能脱离具体程序而虚设,程序规定了相应进程所要完成的动作。(2) 进程的基本状态有哪几种?通常在操作系统中,进程至少要有三种基本状态。这三种基本状态是:运行态、就绪态和阻塞态(或等待态)。图3-23 进程状态转换
10、图(3) 用如图3-23所示的进程状态转换图能够说明有关处理机管理的大量内容。试回答: 什么事件引起每次显著的状态变迁? 下述状态变迁因果关系能否发生?为什么? (A)21 (B)32 (C)41就绪运行:CPU空闲,就绪态进程被调度程序选中。运行就绪:正在运行的进程用完了本次分配给它的CPU时间片。运行阻塞:运行态进程因某种条件未满足而放弃对CPU的占用,如等待读文件。阻塞就绪:阻塞态进程所等待的事件发生了,例如读数据的操作完成。 下述状态变迁:(A)21:可以。运行进程用完了本次分配给它的时间片,让出CPU,从就绪队列中选一个进程投入运行。(B)32:不可以。任何时候一个进程只能处于一种状
11、态,它既然由运行态变为阻塞态,就不能再变为就绪态。(C)41:可以。某一阻塞态进程等待的事件出现了,而且此时就绪队列为空,该进程进入就绪队列后马上又被调度运行。(4) PCB的作用是什么?它是怎样描述进程的动态性质的?进程控制块PCB是进程组成中最关键的部分。每个进程有唯一的进程控制块;操作系统根据PCB对进程实施控制和管理,进程的动态、并发等特征是利用PCB表现出来的;PCB是进程存在的唯一标志。PCB中有表明进程状态的信息:该进程的状态是运行态、就绪态还是阻塞态,利用状态信息来描述进程的动态性质。(5) PCB表的组织方式主要有哪几种?分别简要说明。PCB表的组织方式主要有:线性方式、链接
12、方式和索引方式。 线性方式是把所有进程的PCB都放在一个表中。 链接方式按照进程的不同状态把它们分别放在不同的队列中。 索引方式是利用索引表记载相应状态进程的PCB地址。(6) 进程进入临界区的调度原则是什么? 一个进程进入临界区的调度原则是: 如果有若干进程要求进入空闲的临界区,一次仅允许一个进程进入。 任何时候,处于临界区内的进程不可多于一个。如已有进程进入自己的临界区,则其它所有试图进入临界区的进程必须等待。 进入临界区的进程要在有限时间内退出,以便其它进程能及时进入自己的临界区。 如果进程不能进入自己的临界区,则应让出CPU,避免进程出现“忙等”现象。(7) 简述信号量的定义和作用。P
13、、V操作原语是如何定义的?信号量一般是由两个成员组成的数据结构,其中一个成员是整型变量,表示该信号量的值,它是与相应资源的使用情况有关的;另一个是指向PCB的指针。当多个进程都等待同一信号量时,它们就排成一个队列,由信号量的指针项指出该队列的头。信号量通常可以简单反映出相应资源的使用情况,它与P、V操作原语一起使用可实现进程的同步和互斥。 P、V操作原语的定义: P(S):顺序执行下述两个动作:信号量的值减1,即S=S-1;如果S0,则该进程继续执行;如果S0,则把该进程的状态置为阻塞态,把相应的PCB连入该信号量队列的末尾,并放弃处理机,进行等待(直至其它进程在S上执行V操作,把它释放出来为
14、止)。 V(S):顺序执行下述两个动作:S值加1,即S=S+1;如果S0,则该进程继续运行; 如果S0,则释放信号量队列上的第一个PCB(即信号量指针项所指向的PCB)所对应的进程(把阻塞态改为就绪态),执行V操作的进程继续运行。(8) 计算机系统中产生死锁的根本原因是什么?计算机系统中产生死锁的根本原因是:资源有限且操作不当。此外,进程推进顺序不合适也可以引发的死锁。(9) 发生死锁的四个必要条件是什么?发生死锁的四个必要条件是:互斥条件,不可抢占条件,占有且申请条件,循环等待条件。(10) 一般解决死锁的方法有哪三种?一般解决死锁的方法有:死锁的预防、死锁的避免、死锁的检测与恢复。3 思考
15、题(1) 是否所有的共享资源都是临界资源?为什么?不是所有的共享资源都是临界资源。因为临界资源是一次仅允许一个进程使用的资源,而系统中有很多资源可以让多个进程同时使用,例如硬盘、正文段等。(2) 系统中只有一台打印机,有三个用户的程序在执行过程中都要使用打印机输出计算结果。设每个用户程序对应一个进程。问:这三个进程间有什么样的制约关系?试用P、V操作写出这些进程使用打印机的算法。因为打印机是一种临界资源,所以这三个进程只能互斥使用这台打印机,即一个用户的计算结果打印完之后,另一个用户再打印。 设三个进程分别为A、B和C。 设一个互斥信号量mutex,其初值为1。 进程A 进程B 进程C P(m
16、utex) P(mutex) P(mutex) 使用打印机 使用打印机 使用打印机 V(mutex) V(mutex) V(mutex) (3) 判断下列同步问题的算法是否正确?若有错,请指出错误原因并予以改正。 设A,B两个进程共用一个缓冲区Q,A向Q写入信息,B从Q读出信息,算法框图如图3-24所示。 设A,B为两个并发进程,它们共享一个临界资源。其运行临界区的算法框图如图3-25所示。 图3-24 进程A, B的算法框图 图3-25 两个并发进程临界区的算法框图 这个算法不对。因为A、B两个进程共用一个缓冲区Q,如果A先运行,且信息数量足够多,那么缓冲区Q中的信息就会发生后面的冲掉前面的
17、,造成信息丢失,B就不能从Q中读出完整的信息。改正:A、B两进程要同步使用缓冲区Q。为此,设立两个信号量:empty表示缓冲区Q为空,初值为1;full表示缓冲区Q为满,初值为0。 算法框图如图1所示。 这个算法不对。因为A、B两个进程是并发的,它们共享一个临界资源,所以二者应互斥地使用该临界资源,在进入临界区时不存在先A后B的时序关系,而是哪个进程先到一步就先进入自己的临界区。改正:A、B两个进程应互斥地进入临界区。为此,设立一个信号量:互斥信号量mutex,其初值为1。 算法框图如图2所示。 A进程 B进程 A进程 B进程 P(empty) P(full) P(mutex) P(mutex
18、) 向Q写入信息 从Q中读出信息 临界区代码CSa 临界区代码CSb V(full) V(empty) V(mutex) V(mutex) 图1 图 2 (4) 设有一台计算机,有两条I/O通道,分别接一台卡片输入机和一台打印机。卡片机把一叠卡片逐一输入到缓冲区B1中,加工处理后再搬到缓冲区B2中,并在打印机上打印结果。问: 系统要设几个进程来完成这个任务?各自的工作是什么? 这些进程间有什么样的相互制约关系? 用P、V操作写出这些进程的同步算法。系统可设三个进程来完成这个任务:R进程负责从卡片输入机上读入卡片信息,输入到缓冲区B1中;C进程负责从缓冲区B1中取出信息,进行加工处理,之后将结果
19、送到缓冲区B2中;P进程负责从缓冲区B2中取出信息,并在打印机上印出。R进程受C进程影响,B1放满信息后R进程要等待等C进程将其中信息全部取走,才能继续读入信息;C进程受R进程和P进程的约束:B1中信息放满后C进程才可从中取出它们,且B2被取空后,C进程才可将加工结果送入其中;P进程受C进程的约束:B2中信息放满后P进程才可从中取出它们,进行打印。信号量含义及初值:B1full 缓冲区B1满,初值为0;B1empty缓冲区B1空,初值为0;B2full 缓冲区B2满,初值为0;B2empty缓冲区B2空,初值为0; R进程 C进程 P进程 输入信息写入缓冲区B1 P(B1full) P(B2f
20、ull) V(B1full) 从B1中取出信息 从B2中取出信息进行打印 P(B1empty) 加工信息 V(B2empty) 结果送入B2 V(B1empty) V(B2full) P(B2empty) (5) 设有无穷多个信息,输入进程把信息逐个写入缓冲区,输出进程逐个从缓冲区中取出信息。针对下述两种情况: 缓冲区是环形的,最多可容纳n个信息; 缓冲区是无穷大的。试分别回答下列问题: 输入、输出两组进程读/写缓冲区需要什么条件? 用P、V操作写出输入、输出两组进程的同步算法,并给出信号量含义及初值。 针对容量为n的环形缓冲区,输入、输出两组进程读/写缓冲区需要的条件为: 输入进程和输出进程
21、需同步执行,即输入进程写缓冲区后,输出进程才可以读; 由于缓冲区容量有限,因此任一时刻所有输入进程存放信息的单元数不能超过缓冲区的总容量(n); 同理,所有输出进程取出信息的总量不能超过所有输入进程当前写入信息的总数。设缓冲区的编号为0n-1,in和out分别是输入进程和输出进程使用的指针,指向下面可用的缓冲区,初值都是0。为使两类进程实行同步操作,应设置三个信号量:两个计数信号量full和empty,一个互斥信号量mutex。full:表示放有信息的缓冲区数,其初值为0。empty:表示可供使用的缓冲区数,其初值为n。mutex:互斥信号量,初值为1,表示各进程互斥进入临界区,保证任何时候只
22、有一个进程使用缓冲区。下面是解决这个问题的算法描述。输入进程Input: while (TRUE) P(empty); P(mutex); 信息送往buffer(in); in=(in+1)mod N; /*以N为模*/ V(mutex); V(full); 输出进程Output:while (TRUE) P(full); P(mutex);从buffer(out)中取出信息; out=(out+1)mod N; /*以N为模*/V(mutex);V(empty); 当缓冲区是无穷大时,输入进程存放信息的单元数不再受缓冲区总容量的限制,因此,可以不设信号量empty。另外,算法中的in=(in
23、+1)mod N; 和out=(out+1)mod N; 修改为in=in+1;和out=out+1;即可,其余的算法不变。输入进程Input: while (TRUE) P(mutex); 信息送往buffer(in); in=in+1; V(mutex); V(full); 输出进程Output:while (TRUE) P(full); P(mutex);从buffer(out)中取出信息; out=out+1; V(mutex); 第3章 处理机调度“练习与思考”解答4 基本概念和术语调度、作业调度、进程调度、吞吐量、周转时间、带权周转时间、中断调度就是选出待分派的作业或进程。作业调度
24、就是根据一定的算法,从输入的一批作业中选出若干个作业,分配必要的资源,如内存、外设等,为它建立相应的用户作业进程和为其服务的系统进程(如输入、输出进程),最后把它们的程序和数据调入内存,等待进程调度程序对其执行调度,并在作业完成后作善后处理工作。进程调度就是根据一定的算法将CPU分派给就绪队列中的一个进程。吞吐量:单位时间内CPU完成作业的数量。周转时间:从作业提交到作业完成的时间间隔。带权周转时间:定义为作业的周转时间除以其实际运行时间。中断是指CPU对系统发生的某个事件做出的一种反应,它使CPU暂停正在执行的程序,保留现场后自动执行相应的处理程序,处理该事件后,如被中断进程的优先级最高,则
25、返回断点继续执行被“打断”的程序。5 基本原理和技术(1) 处理机调度的主要目的是什么?处理机调度的主要目的就是为了分配处理机。(2) 高级调度与低级调度的主要功能是什么?为什么要引入中级调度?高级调度的主要功能是根据一定的算法,从输入的一批作业中选出若干个作业,分配必要的资源,如内存、外设等,为它建立相应的用户作业进程和为其服务的系统进程(如输入、输出进程),最后把它们的程序和数据调入内存,等待进程调度程序对其执行调度,并在作业完成后作善后处理工作。低级调度的主要功能是根据一定的算法将CPU分派给就绪队列中的一个进程。为了使内存中同时存放的进程数目不至于太多,有时就需要把某些进程从内存中移到
26、外存上,以减少多道程序的数目,为此设立了中级调度。(3) 作业在其存在过程中分为哪四种状态?作业在其存在过程中分为提交、后备、执行和完成四种状态。(4) 在操作系统中,引起进程调度的主要因素有哪些?在操作系统中,引起进程调度的主要因素有:正在运行的进程完成任务,或等待资源,或运行到时;核心处理完中断或陷入事件后,发现系统中“重新调度”标志被置上。(5) 作业调度与进程调度二者间如何协调工作?作业调度和进程调度是CPU主要的两级调度。作业调度是宏观调度,它所选择的作业只是具有获得处理机的资格,但尚未占有处理机,不能立即在其上实际运行。而进程调度是微观调度,它根据一定的算法,动态地把处理机实际地分
27、配给所选择的进程,使之真正活动起来。(6) 在确定调度方式和调度算法时,常用的评价准则有哪些?在确定调度方式和调度算法时,常用的评价准则有:CPU利用率,吞吐量,周转时间,就绪等待时间和响应时间。(7) 简述先来先服务法、时间片轮转法和优先级调度算法的实现思想。先来先服务调度算法(FCFS)的实现思想:按作业(或进程)到来的先后次序进行调度,即先来的先得到执行。时间片轮转法(RR)的实现思想:系统把所有就绪进程按先入先出的原则排成一个队列。新来的进程加到就绪队列末尾。每当执行进程调度时,进程调度程序总是选出就绪队列的队首进程,让它在CPU上运行一个时间片的时间。当进程用完分给它的时间片后,调度
28、程序便停止该进程的运行,并把它放入就绪队列的末尾;然后,把CPU分给就绪队列的队首进程。优先级调度算法的实现思想:是从就绪队列中选出优先级最高的进程,把CPU分给它使用。又分为非抢占式优先级法和抢占式优先级法。前者是:当前占用CPU的进程一直运行下去,直到完成任务或者因等待某事件而主动让出CPU时,系统才让另一个优先级高的进程占用CPU。后者是:当前进程在运行过程中,一旦有另一个优先级更高的进程出现在就绪队列中,进程调度程序就停止当前进程的运行,强行将CPU分给那个进程。(8) 中断响应主要做哪些工作?由谁来做?中断响应主要做的工作是:中止当前程序的执行;保存原程序的断点信息(主要是程序计数器
29、PC和程序状态寄存器PS的内容);转到相应的处理程序。中断响应由硬件实施。(9) 一般中断处理的主要步骤是什么?一般中断处理的主要步骤是:保存被中断程序的现场,分析中断原因,转入相应处理程序进行处理,恢复被中断程序现场(即中断返回)。(10) 简述一条shell命令在Linux系统中的实现过程。一条shell命令在Linux系统中的执行过程基本上按照如下步骤: 读取用户由键盘输入的命令行。 分析命令,以命令名作为文件名,其他参数改造为系统调用execve( )内部处理所要求的形式。 终端进程调用fork( )建立一个子进程。 终端进程本身用系统调用wait4( )来等待子进程完成(如果是后台命
30、令,则不等待)。当子进程运行时调用execve( ),子进程根据文件名(即命令名)到目录中查找有关文件(这是命令解释程序构成的文件),调入内存,执行这个程序(即执行这条命令)。 如果命令末尾有&号(后台命令符号),则终端进程不用执行系统调用wait4( ),而是立即发提示符,让用户输入下一个命令,转步骤(1)。如果命令末尾没有&号,则终端进程要一直等待,当子进程(即运行命令的进程)完成工作后要终止,向父进程(终端进程)报告,此时终端进程醒来,在做必要的判别等工作后,终端进程发提示符,让用户输入新的命令,重复上述处理过程。(11) Linux系统中,进程调度的方式和策略是什么?对用户进程和核心进
31、程如何调度?Linux系统的调度方式基本上采用“抢占式优先级”方式。Linux系统针对不同类别的进程提供了三种不同的调度策略,即适合于短实时进程的FIFO,适合于每次运行需要较长时间实时进程的时间片轮转法,适合于交互式的分时进程传统的UNIX调度策略。Linux系统核心为每个进程计算出一个优先级,高优先级的进程优先得到运行。在运行过程中,当前进程的优先级随时间递减,这样就实现了“负反馈”作用,即经过一段时间之后,原来级别较低的进程就相对“提升”了级别,从而有机会得到运行。Linux系统的调度方式基本上采用“抢占式优先级”方式,当进程在用户模式下运行时,不管它是否自愿,核心在一定条件下(如该进程
32、的时间片用完或等待I/O)可以暂时中止其运行,而调度其他进程运行。一旦进程切换到内核模式下运行时,就不受以上限制,而一直运行下去,仅在重新回到用户模式之前才会发生进程调度。6 思考题(1) 处理机调度一般可分为哪三级?其中哪一级调度必不可少?为什么?处理机调度一般可分为高级调度(作业调度)、中级调度和低级调度(进程调度)。其中进程调度必不可少。进程只有在得到CPU之后才能真正活动起来,所有就绪进程经由进程调度才能获得CPU的控制权;实际上,进程调度完成一台物理的CPU转变成多台虚拟(或逻辑)的CPU的工作;进程调度的实现策略往往决定了操作系统的类型,其算法优劣直接影响整个系统的性能。(2) 作
33、业提交后是否马上放在内存中?为什么?在批处理系统中,作业提交后并不是马上放在内存中。其原因是:内存容量有限,而提交的作业数量可能很多,无法把它们都放入内存;即使都放入内存,当内存中可以同时运行的作业太多时,会影响系统的性能,如使周转时间太长;另外,大量作业被收容在输入井(磁盘)中,可以选择对资源需求不同的作业进行合理搭配,再放在内存中,从而使得系统中各部分资源都得到均衡利用。(3) 假定在单CPU条件下有下列要执行的作业:作业运行时间优先级1103211323414552 作业到来的时间是按作业编号顺序进行的(即后面作业依次比前一个作业迟到一个时间单位)。 用一个执行时间图描述在下列算法时各自
34、执行这些作业的情况:先来先服务法FCFS、时间片轮转法RR(时间片1)和非抢占式优先级。 对于上述每种算法,各个作业的周转时间是多少?平均周转时间是多少? 对于上述每种算法,各个作业的带权周转时间是多少?平均带权周转时间是多少? 先来先服务法(FCFS) 作业1 作业2 作业3 作业4 作业5 0 10 11 13 14 19 t 时间片轮转法(RR) 作业 1 2 1 3 4 1 5 3 1 5 1 5 1 5 1 5 1 1 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 t 非抢占式优先级: 作业1 作业4 作业3 作业5 作业2
35、0 10 11 13 18 19 t和 先来先服务法(FCFS) 作业到达时间运行时间完成时间周转时间带权周转时间101010101.0211111010.032213115.5431141111.054519153.0平均周转时间11.4平均带权周转时间6.1 时间片轮转法(RR)作业到达时间运行时间完成时间周转时间带权周转时间101019191.9211211.0322863.0431522.054516122.4平均周转时间8.0平均带权周转时间2.06 非抢占式优先级作业到达时间运行时间完成时间周转时间带权周转时间101010101.0211191818.032213115.54311
36、188.054518142.8平均周转时间12.2平均带权周转时间7.06 注意:本教材按照Linux系统的约定,优先数小的优先级高。本试题给出的条件中直接给出的是优先级,数大的则优先级高。如果试题给出的是优先数,则数小的优先级高。如果将本试题改为:作业运行时间优先数1102214322411553 则作业2-5优先级从高到低次序为:作业4、作业3、作业5、作业2。上面的解答仍然正确。第4章 教材习题解答1 基本概念和术语逻辑地址、物理地址、逻辑地址空间、内存空间、重定位、静态重定位、动态重定位、碎片、碎片紧缩、虚拟存储器、快表、页面抖动用户程序经编译之后的每个目标模块都以0为基地址顺序编址,
37、这种地址称为相对地址或逻辑地址。内存中各物理存储单元的地址是从统一的基地址开始顺序编址的,这种地址称为绝对地址或物理地址。由程序中逻辑地址组成的地址范围叫做逻辑地址空间,或简称为地址空间。由内存中一系列存储单元所限定的地址范围称作内存空间,也称物理空间或绝对空间。程序和数据装入内存时,需对目标程序中的地址进行修改。这种把逻辑地址转变为内存物理地址的过程称作重定位。静态重定位是在目标程序装入内存时,由装入程序对目标程序中的指令和数据的地址进行修改,即把程序的逻辑地址都改成实际的内存地址。动态重定位是在程序执行期间,每次访问内存之前进行重定位。这种变换是靠硬件地址转换机构实现的。内存中这种容量太小
38、、无法被利用的小分区称作“碎片”或“零头”。为解决碎片问题,移动某些已分配区的内容,使所有进程的分区紧挨在一起,而把空闲区留在另一端。这种技术称为紧缩(或叫拼凑)。虚拟存储器是用户能作为可编址内存对待的虚拟存储空间,它使用户逻辑存储器与物理存储器分离,是操作系统给用户提供的一个比真实内存空间大得多的地址空间。为了解决在内存中放置页表带来存取速度下降的矛盾,可以使用专用的、高速小容量的联想存储器,也称作快表。若采用的置换算法不合适,可能出现这样的现象:刚被换出的页,很快又被访问,为把它调入而换出另一页,之后又访问刚被换出的页,如此频繁地更换页面,以致系统的大部分时间花费在页面的调度和传输上。此时
39、,系统好像很忙,但实际效率却很低。这种现象称为“抖动”。2 基本原理和技术 (1) 存储器一般分为哪些层次?各有何特性?存储器一般分为寄存器、高速缓存、内存、磁盘和磁带。CPU内部寄存器,其速度与CPU一样快,但它的成本高,容量小。高速缓存(Cache),它们大多由硬件控制。Cache的速度很快,它们放在CPU内部或非常靠近CPU的地方。但Cache的成本很高,容量较小。内存(或称主存),它是存储器系统的主力,也称作RAM(随机存取存储器)。CPU可以直接存取内存及寄存器和Cache中的信息。然而,内存中存放的信息是易变的,当机器电源被关闭后,内存中的信息就全部丢失了。磁盘(即硬盘),称做辅助
40、存储器(简称辅存或外存),它是对内存的扩展,但是CPU不能直接存取磁盘上的数据。磁盘上可以永久保留数据,而且容量特别大。磁盘上数据的存取速度低于内存存取速度。磁带保存的数据更持久,容量更大,但它的存取速度很慢,而且不适宜进行随机存取。所以,磁带设备一般不能用做辅存。它的主要用途是作为文件系统的后备,存放不常用的信息或用做系统间传送信息的介质。 (2) 装入程序的功能是什么?常用的装入方式有哪几种?装入程序的功能是根据内存的使用情况和分配策略,将装入模块放入分配到的内存区中。程序装入内存的方式有三种,分别是绝对装入方式、可重定位装入方式和动态运行时装入方式。 (3) 对程序进行重定位的方式分为哪
41、两种?简述各自的实现方式。对程序进行重定位的方式分为静态重定位和动态重定位。静态重定位是在目标程序装入内存时,由装入程序对目标程序中的指令和数据的地址进行修改,即把程序的逻辑地址都改成实际的内存地址。对每个程序来说,这种地址变换只是在装入时一次完成,在程序运行期间不再进行重定位。动态重定位是在程序执行期间,每次访问内存之前进行重定位。这种变换是靠硬件地址转换机构实现的。通常,采用一个重定位寄存器,其中放有当前正在执行的程序在内存空间中的起始地址,而地址空间中的代码在装入过程中不发生变化。 (4) 对换技术如何解决内存不足的问题?在多道程序环境中可以采用对换技术。此时,内存中保留多个进程。当内存
42、空间不足以容纳要求进入内存的进程时,系统就把内存中暂时不能运行的进程(包括程序和数据)换出到外存上,腾出内存空间,把具备运行条件的进程从外存换到内存中。 (5) 解释固定分区法和动态分区法的基本原理。固定分区法内存中分区的个数固定不变,各个分区的大小也固定不变,但不同分区的大小可以不同。每个分区只可装入一道作业。动态分区法各个分区是在相应作业要进入内存时才建立的,使其大小恰好适应作业的大小。 (6) 动态重定位分区管理方式中如何实现虚-实地址映射?进程装入内存时,是将该其程序和数据原封不动地装入到内存中。当调度该进程在CPU上执行时,操作系统就自动将该进程在内存的起始地址装入基址寄存器,将进程
43、的大小装入限长寄存器。当执行指令时,如果地址合法,则将相对地址与基址寄存器中的地址相加,所得结果就是真正访问内存的地址;如果地址越界,则发出相应中断,进行处理。 (7) 分页存储管理的基本方法是什么? 分页存储管理的基本方法是:逻辑空间分页,内存空间分块,块与页的大小相等。页连续而块离散,用页号查页表,由硬件作转换。 (8) 在分页系统中页面大小由谁决定?页表的作用是什么?如何将逻辑地址转换成物理地址?在分页系统中页面大小由硬件决定。页表的作用是实现从页号到物理块号的地址映射。 逻辑地址转换成物理地址的过程是:用页号p去检索页表,从页表中得到该页的物理块号f,把它装入物理地址寄存器中。同时,将
44、页内地址d直接送入物理地址寄存器的块内地址字段中。这样,物理地址寄存器中的内容就是由二者拼接成的实际访问内存的地址,从而完成了从逻辑地址到物理地址的转换。 (9) 虚拟存储器有哪些基本特征?虚拟存储器的基本特征是:虚拟扩充不是物理上,而是逻辑上扩充了内存容量;部分装入每个进程不是全部一次性地装入内存,而是只装入一部分;离散分配不必占用连续的内存空间,而是“见缝插针”;多次对换所需的全部程序和数据要分成多次调入内存。 (10) 页面抖动与什么有关?好的页面置换算法能够适当降低页面更换频率,减少缺页率,尽量避免系统“抖动”。此外,一般来说,随着可用内存块数的增加,缺页数也将减少。3 思考题 (1)
45、 为了提高内存的利用率,在可重定位分区分配方式中可通过什么技术来减少内存碎片? 在可重定位分区分配方式中采用紧缩技术来减少内存碎片。 (2) 请求分页技术与简单分页技术之间的根本区别是什么?请求分页技术与简单分页技术之间的根本区别是:请求分页提供虚拟存储器,而简单分页系统并未提供虚拟存储器。 (3) 某虚拟存储器的用户编程空间共32个页面,每页为1KB,内存为16KB。假定某时刻一用户页表中已调入内存的页面的页号和物理块号的对照表如下:页号物理块号051102437计算逻辑地址0A5C(H)所对应的物理地址。解:页式存储管理的逻辑地址分为两部分:页号和页内地址。由已知条件“用户编程空间共32个
46、页面”,可知页号部分占5位;由“每页为1KB”,1K=210,可知内页地址占10位。由“内存为16KB”,可知有16块,块号为4位。逻辑地址0A5C(H)所对应的二进制表示形式是:000 1010 0101 1100 ,根据上面的分析,下划线部分为页内地址,编码“000 10”为页号,表示该逻辑地址对应的页号为2。查页表,得到物理块号是4(十进制),即物理块地址为:01 00 ,拼接块内地址10 0101 1100,得01 0010 0101 1100,即125C(H)。 (4) 考虑下述页面走向: 1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6当内存块数量分别
47、为3,5时,试问LRU、FIFO、OPT这三种置换算法的缺页次数各是多少?(注意,所有内存块最初都是空的,所以,凡第一次用到的页面都产生一次缺页。)内存块数淘 汰 算 法LRUFIFOOPT315161158107 (5) 考虑下面存储访问序列,该程序大小为460字: 10,11,104,170,73,309,185,245,246,434,458,364设页面大小是100字,请给出该访问序列的页面走向。又设该程序基本可用内存是200字,采用FIFO置换算法,求出其缺页率。如果采用LRU置换算法,缺页率是多少?如果采用最优淘汰算法,其缺页率又是多少?(注:缺页率缺页次数/访问页面总数)解:根据
48、已知条件页面大小是100字,将页面访问序列简化为:0,0,1,1,0,3,1,2,2,4,4,3又因为该程序基本可用内存是200字,可知内存块数为2。采用先进先出置换算法(FIFO),总共有6次缺页,缺页率为6/12=50%,具体算法如下:页面走向001103122443块1003344块211223缺页缺缺缺缺缺缺采用最近最少使用置换算法(LRU),总共有6次缺页,缺页率为6/12=50%,具体算法如下:页面走向001103122443块10001144块2133223缺页缺缺缺缺缺缺缺采用最佳置换算法(OPT),总共有5次缺页,缺页率为5/12=41.6%,具体算法如下:页面走向001103122443块100333块21124缺页缺缺缺缺缺第5章教材习题解答1 基本概念和术语(1) 解释下列概念:文件、文件系统、文件的逻辑组织、文件的物理组织、目录项、目录文件、路径、当前目录。文件是被命名的相关信息的集合体。通常存放在外存上,可以作为一个独立单位存放和实施相应的操作。文件系统是操作系统中负责操纵和管理文件的一整套机制,它实现文件的共享和保护,方便用户“按名存取”。文件的逻辑组
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年新生儿院感知识培训
- 2026年外卖员招聘笔试模拟题
- 广东省深圳市宝安区2025-2026学年中考语文二模试卷
- 2026年翻译专业资格笔译模拟题集
- 2026年幼儿教师招聘模拟题集
- 2026年教师资格证考试模拟卷
- 2026年小学六年级下册语文阅读理解答题技巧集训卷含答案
- 重庆市九校2025-2026学年高一下学期5月期中考试数学试卷
- 项目11 部署企业NAT服务
- 教师招聘公共基础知识
- 倾斜摄影测量技术方案
- 2026【中考考前】九年级主题班会:最后一课班会中考冲刺决战中考 教学课件
- 2026年四川绵阳科技城新区社区工作者招聘考试试卷1(含答案解析)
- 2026广东阳江市事业单位招聘高校毕业生87人考试备考试题及答案解析
- 【2026春】苏科版(新教材)小学信息技术五年级下册《问题规模与算法步骤的执行次数》同步练习及答案
- 2026年安全生产月经典事故警示案例汇编(全行业)
- 2026重庆兴渝投资有限责任公司招聘3人笔试历年参考题库附带答案详解
- 2026新疆能源(集团)有限责任公司财务系统人员招聘6人笔试历年参考题库附带答案详解
- 2026欧洲保险科技行业市场系统优化及产品创新与市场竞争策略分析报告
- 统编版小学语文一年级下册期末复习课教案
- 工会主席接待日工作制度
评论
0/150
提交评论