《计算机操作系统课后题答案(高等教育出版社).doc》由会员分享,可在线阅读,更多相关《计算机操作系统课后题答案(高等教育出版社).doc(36页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、计算机操作系统课后题答案(高等教育出版社)练习题(一) 问答题 1.操作系统的两个主要目标是什么? 答:方便性与有效性。 2.试说明操作系统与硬件、其它系统软件以及用户之间的关系? 答: 与硬件的关系:操作系统是位于硬件层上的第一层软件,它直接管理着计算机的硬件,合理组织计算机工作流程,并提高了硬件的利用率。 与其他系统软件的关系:操作系统是系统软件,但它不同于其它系统软件和应用软件,它为其它系统软件和应用软件提供接口。应用软件要使用操作系统所提供的服务方可方便使用计算机。 与用户之间的关系:操作系统是为改善人机界面、提供各种服务,为用户使用计算机提供良好运行环境的一种系统软件。 3.试论述操
2、作系统是建立在计算机硬件平台上的虚拟计算机系统。 答:没有任何软件支持的计算机称为裸机,即使其硬件功能再强,也必定是难于使用的。而实际呈现在用户面前的计算机系统是经过若干层软件改造的计算机。裸机位于最里层,它的外面是操作系统,经过操作系统提供的资管理功能和方便用户的各种服务功能,将裸机改造成功能更强、使用更方便的机器,通常把覆盖了软件的机器称为扩充机器,又称之为虚拟机(Virtual Machine ),这样的计算机系统是概念上和逻辑上的计算机,不是物理上的真实计算机。 4.什么是操作系统?它有哪些基本功能与基本特征? 答:操作系统是位于硬件层之上,所有其它软件层之下的一种系统软件,它控制和管
3、理计算机系统资、合理组织计算机工作流程、提供用户与计算机系统之间的接口。 操作系统的基本功能有:处理器管理、存储器管理、设备管理、文件管理和提供用户接口。 操作系统的基本特征有:并发性、共享性、虚拟性和不确定性。 5.请叙述并发和并行两个概念的区别? 答:并发性是指两个或多个程序在同一时间段内同时执行,是宏观上的同时。而并行性是从硬件意义上考虑,是不同硬件部件(如与I/O)在同一时刻的并行,即微观上,多个程序也是同时执行的。 6.什么是多道程序设计? 在操作系统中使用这种技术有什么好处? 答:多道程序设计是指在计算机内存中同时存放若干道已开始运行尚未结束的程序,它们交替运行,共享系统中的各种硬
4、、软件资,从而使处理机得到充分利用。 好处: 提高了的利用率。各道程序是轮流占用一个,交替地执行。 改进了系统的吞吐量(系统吞吐量是指计算机系统在单位时间内完成的总工作量)。 充分发挥了系统的并行性,使与I/O并行工作。提高、设备、内存等各种资的利用率,从而提高系统效率。 7.什么是批处理、实时、分时系统?它们各有什么特征?各适用哪些场合? 答: (1)批处理系统 “多道“是指在计算机内存中同时可以存放多道作业:“ 批处理“是指用户与作业之间没有交互作用,用户不能直接控制作业的运行,一般称为“脱机操作.在多道批处理系统中,用户的作业可以随时被接受进入系统,首先存放在外存缓冲存储器中,形成一个作
5、业队列,OS按照一定的调度原则或根据作业的优先程度从作业队列中调出一个或多个作业进入内存,待作业运行完毕,由用户索取运行结果。多道批处理的特点是: 多道。 宏观上并行执行。 微观上串行执行。 (2)分时系统 分时系统是指多个用户分享同一台计算机,它将计算机的中央处理机在时间上分割成很小的时间段,每个时间段称为一个时间片,系统将的时间片轮流分配给多个用户,每个用户通过终端使用同一台计算机,并通过终端直接控制程序运行,进行人与机器之间的交互。分时操作系统的特性: 同时性(多路性)。 独立性(独占性)。 及时性。 交互性 该系统主要用于教育与科研。 (3)实时系统 这类系统要求计算机能对外部发生的随
6、机事件作出及时响应,并对它进行处理。实时系统应当具有如下两个基本特征: (1)实时性。 (2)高可靠性和安全性。 实时系统具有专用性,不同的实时系统用于不同的应用领域。它有三种典型的应用形式,即:过程控制系统(如工业生产自动控制、卫星发射自动控制)、信息查询系统(如仓库管理系统、图书资料查询系统)和事务处理系统(如飞机订票系统、银行管理系统)。 8.在分时系统中响应时间与哪些因素有关? 答:主要与联机的终端数目、时间片的长短、速度、系统调度切换速度等有关。 9.网络操作系统最基本的功能是什么?它最使你感兴趣的是什么? 答:网络通信和网络资管理。 10.分布式操作系统与网络操作系统有什么不同之处
7、? 答:(1)分布性:分布式操作系统是驻留在系统的各个结点上,而网络操作系统的控制功能大部分是集中在服务器上。 (2)并行性:分布式操作系统可将一个用户的多个任务分配到多个计算机上并行执行;而网络环境下,每个用户的一个或多个任务只能在自己的计算机上处理。 (3)透明性:分布式系统能隐藏自己内部的物理位置、并发控制、系统故障等实现细节来使用系统;而网络操作系统计算机之间的通信需要IP地址。 (4)共享性:分布式系统中,所有分布在各个站点的软、硬件资均可供系统中所有用户共享,并能以透明的方式使用它们;而网络操作系统共享的资大多数是设置在服务器中,它机的资一般由本机用户使用。 (5)健壮性:分布式系
8、统任何结点的故障都不会对系统造成太大的影响,某些部件的故障可以通过容错技术实现系统的重构;而网络操作系统的控制功能大部分集中在服务器中,这使得服务器会成为单点故障,它一出故障,就会影响整个系统的可靠性。 11.操作系统发展的动力是什么?你对21世纪的操作系统有什么见解? 答:(1)器件快速更新换代。每隔18个月其性能要翻一翻。 (2)计算机体系结构不断发展。计算机由单处理机系统改进为多处理机系统,操作系统也由单处理机操作系统发展到多处理机操作系统和并行操作系统。 (3)提高计算机系统资利用率的需要。多用户共享一套计算机系统的资,必须提高计算机系统中各种资的利用率,要不断研究和采用各种调度算法和
9、分配策略。 (4)用户使用计算机方便程度的需要。要求操作系统的界面变得更加友善。 (5)满足用户的新要求,提供给用户新服务。 12.计算机系统中“引导程序”的主要功能是什么? 答:完成装入操作系统并开始执行系统。主要完成工作是:把标准设备的驱动程序从BIOS读入内存的固定位置,让所有的标准设备都能开始工作;运行自动检测程序,检测各种设备是否正常工作;读入256个中断处理服务程序。 13.简述主存储器与辅助存储器的作用和特点。 答:主存储器的作用是存放指令和数据,并能由中央处理器直接访问的唯一存储空间,任何程序和数据都必须装入主存后才能执行。内存是易失性存储设备,当掉电或有其它原因时会丢失所有内
10、容。 辅助存储器用它来作为内存的扩充,并能够永久性地存储大量的数据。 14.双重工作模式的思想是什么?为什么要这样设计? 答:为保护操作系统和所有用户程序不受错误用户程序的影响,许多计算机系统提供用户模式和系统模式两种运行模式(两种执行状态)操作,并将指令系统分为特权指令和非特权指令。 只有操作系统才能执行全部指令(特权指令和非特权指令),而一般用户只能执行非特权指令,否则会导致非法执行特权指令而产生保护中断。特权指令的规定既保障了系统的安全,也使得操作系统拥有了对计算机系统中所有软、硬件资的控制权和管理特权。 15.陷入与中断之间的区别是什么?各自有什么用途? 答:陷入与中断之间的主要区别是
11、:陷入的中断头来自的内部,而中断的中断头来自外部。 中断的用途:它能使在运行过程中对外部事件发出的中断请求及时地进行处理,处理完成后又立即返回断点,继续进行原来的工作。 陷入的用途是当程序出现错误(如某数除以0,或非法访问内存等)或用户程序执行非法操作可产生陷入,它属于软件生成中断。 16.系统调用的用途是什么?它与过程调用的主要区别是什么? 答:系统调用是操作系统为了扩充机器功能、增强系统能力、方便用户使用而建立的。用户程序或其它系统程序通过系统调用就可以访问系统资,调用操作系统功能,而不必了解操作系统内部结构和硬件细节,它是用户程序或其它系统程序获得操作系统服务的唯一接口。 系统调用与过程
12、调用的主要区别是: (1)调用形式不同; (2)被调用代码的位置不同; (3)提供方式不同; (4)调用的实现不同 17.采用层次式结构设计操作系统的主要优点是什么? 答:层次结构,即是把操作系统划分为内核和若干模块,这些模块按功能的调用次序排列成若干层次,各层次之间只能是单向依赖或单向调用关系,即低层为高层服务,高层可以调用低层的功能,反之则不能。这样不但系统结构清晰,适应性强,易于扩充和移植,而且不构成循环调用。 18.采用微内核的方法设计操作系统的主要优点是什么? 答:微内核方法是将操作系统所有非基本部分从内核中移走,仅存放那些能实现现代OS最基本的核心功能的部分,使得操作系统核心部分很
13、小,这样可以提高了系统的可扩展性;增强了系统的可靠性,可移植性,提供了对分布式系统的支持。 单项选题 C C B C D BAC C A C B D B B B B D B B 思考题 1.举例写出你最熟悉的操作系统的特征和缺点? 2.请在网上查询或查看有关书籍,列出目前经常使用哪些操作系统?说明它们的应用对象和环境?并比较这些操作系统各有什么特点? 练习题(二) 问答题 1.什么是进程?为什么要引入进程概念?进程都有哪些特征? 答: (1)进程是一个可并发执行的具有独立功能的程序关于某个数据集合的一次执行过程,也是操作系统进行资分配和调度的独立单位。 (2)在多道程序环境下,程序的并发执行代
14、替了程序的顺序执行,资共享和竞争又导致并发程序之间的相互制约性,使得系统中运行的程序是处于走走停停的状态之中,当一个程序获得处理机后向前推进,当它需要某种资而未得到时只好停下来,以后得到所申请资时再继续前进。基于“程序”这个静态概念已不能完整、有效地描述并发程序在内存中的运行状态。因此,为了实现程序在多道程序环境下的并发执行,必须引入一个能确切描述并反映并发过程的新概念进程,以便从变化的角度动态地研究程序的执行。 (3)进程的特征:动态性、并发性、独立性、异步性、结构性。 2.叙述进程和程序的关系? 答:进程与程序的联系是: (1)进程包括一个程序; (2)进程存在的目的就是执行这个程序。 进
15、程与程序的区别是: (1)进程是动态的概念,程序是静态的概念。程序是指令代码的有序集合;进程是程序的一次执行过程,它能动态的被创建、调度执行,执行后消亡。 (2)进程是暂时的,程序是永久的。进程是一个程序执行状态变化的过程,程序是可长久保存。 (3)进程是由程序、数据和进程控制块组成。程序是由若干行代码组成。 (4)通过多次执行,一个程序可对应多个进程;通过调用关系,一个进程可包括多个程序。 (5)进程能够独立运行,可以为其独立分配资,独立接受调度的单位,而程序不能在多道程序设计环境下运行。 3.叙述进程的并发性和制约性。 答:并发性是进程的重要特征。即多道程序中多个进程同时向前推进的过程,每
16、个进程总是与其它进程并发地执行的。进程的制约性是指一个进程的运行受到另一进程的制约(直接制约和间接制约)。如进程在运行过程中,有的进程可能正在等待另一进程的计算结果而无法运行,或者进程所需的资被别的进程占有而无法运行。 4.进程最少应设置几个状态?为什么? 答:一个进程在它的生命期中至少应有如下三种基本状态:就绪、运行和阻塞。这三种状态可以简单的描述每个进程的执行过程,进程任一时刻当且仅当处于上述三种基本状态之一。 5.进程控制块的作用是什么?它是如何描述进程动态性质的? 答:进程控制块是系统占用区中的一个连续区域,存放着操作系统用于描述进程情况和进程运行所需的全部信息,它是OS感知进程的存在
17、,以及管理和控制进程执行的唯一依据。 每个进程在操作系统内用(PCB)来表示,在PCB中记录了与特定进程相关的信息,即描述进程当前情况,以及控制进程运行的全部信息。它主要包含进程描述信息、控制信息和资管理信息三类。进程控制块中有一些信息是专门用来描述进程动态性质的,如进程状态信息,存放该进程的现行状态,是进程调度分配的重要依据。又如处理机现场信息,当执行进程变成其他状态让出处理机时,将处理机的现场信息如程序状态字、通用与专门寄存器、程序计数器等内容必须保留,以便当进程调度程序调度到相应进程时,从现场信息中取出恢复到相关的寄存器中,让进程继续正常执行。又如,进程在整个生命期中,经常处于不同的队列
18、,那末PCB中进程队列链接字的内容,随进程控制块从一个队列移到另一个队列而动态变化。 6.用户进程能否修改或访问自己的进程控制块内容?为什么? 答:不能,因为进程控制块是操作系统中最重要的数据结构,只能由操作系统进行修改和访问。 7.什么是原语操作?一般进程控制原语都有哪些? 答:原语是由若干条机器指令构成的,在管态下执行和完成系统特定功能的程序段。原语和机器指令类似,它在执行过程中不允许被中断,是一个不可分割的基本单位,原语的执行是顺序的而不可能是并发的。 进程控制原语有:进程创建原语、进程撤销原语、进程阻塞原语、进程唤醒原语、进程挂起原语和进程激活原语。 8.试说明引起创建一个进程、撤销一
19、个进程的主要事件? 答:引起进程创建的主要事件有: 用户登录。用户登录时验证是否为合法的用户。若合法,则为他创建一进程。 作业调度。当作业调度程序调度到某作业,应为它创建一进程。 提供服务。运行中的用户程序提出某种请求。如父进程创建子进程。 引起进程撤消的主要事件有: 正常结束。当进程正常完成执行,应终止该进程,并将它删除。 异常结束。当进程执行中遇到越界错误、保护错、特权指令错、非法指令错、算术运算错、I/O故障等应终止该进程,并将它删除。 外界干预。操作员或操作系统干预。 9.请画出流程图说明创建一个新进程的步骤。 入口 答: 返回 创建失败,返回 查PCB链表 有空PCB? 取空PCB(
20、i) 将有关参数填入PCB(i)相应表项 PCB(i)入就绪队列 PCB(i)入进程家族或进程链 无 有 10.操作系统内核都包括哪些内容? 答:内核包括两个方面:一是支撑功能,包括中断处理、时钟管理和原语操作等;二是资管理功能,包括进程管理、存储器管理和设备管理等。内核运行在系统态下,是系统的控制和协调中心,由它来组织、启动及协调系统中各种用户活动和系统活动有条不紊地进行。 11.模式切换和进程切换有什么区别? 答:进程切换是由进程状态的变化引起的,而进程状态的变化又与出现的中断事件有关。用户态到核心态或者核心态到用户态的转变是模式的改变。 模式切换是用户态到核心态或核心态到用户态的转变。
21、12.操作系统中引入进程概念后,为什么又引入线程概念? 答:操作系统中引入进程的目的是为了使多个程序并发执行,改善资的利用率以提高系统的吞吐量。但是,进程给并发程序设计效率带来下列问题:进程切换开销大;进程通信代价大;进程之间的并发性粒度较粗,并发度不够高;不适合并行计算和分布并行计算的要求;不适合客户/服务器计算的要求等。于是引入线程。 引入线程后,把进程的两个属性(“独立分配资”与“被调度分派执行”)分离开来考虑,将进程是作为独立分配资的基本单位,线程是进程的一个实体,是作为系统独立调度和分派处理机的基本单位,以使之轻装运行,而对于拥有资的单位又不必频繁地进行切换。这样可以大大减少程序并发
22、执行时所付出的时间和空间开销,使操作系统具有更好的并发性。 13.试从资分配单位和调度的基本单位两方面对进程和线程进行比较。 答: 资分配单位:进程是作为独立分配资的基本单位,一般地说,线程自己不拥有系统资(只有少量的必不可少的资),但它可以访问其隶属进程的资。 调度的基本单位:线程作为系统独立调度和分派处理机的基本单位。在同一个进程中,线程的切换不会引起进程的切换,只有当从一个进程中的线程切换到另一个进程中的线程时,才会引起进程的切换 14.请指出用户级线程和内核级线程的不同点? 答:用户级线程只存在于用户层,它的管理都在一个进程的用户地址空间中进行,用户级线程的切换也仍在用户态下运行,不需
23、要转换到核心态,这就节省了系统从核心态到用户态或从用户态到核心态转换的时间和空间的开销。同一进程中多个线程不能真正并行。 内核级线程线程管理的所有工作都是由内核来完成的,同一进程内多个线程可以并行执行,即如果进程中的一个线程被阻塞,内核可以调度同一个进程中的另一个就绪线程执行。在多处理机环境中,内核可以同时把同一个进程的多个线程分配到多个处理机上。在同一个进程中把控制权从一个线程切换给另一个线程需要内核的状态转换(即用户态到核心态的转换),所以内核级线程的创建和管理通常要慢于用户级线程的创建和管理。 单项选择题 C D D C C D B C D C C D D A .思考题 1.考虑到图2.
24、6中的状态转换图。假设操作系统正在分派进程,有进程处于就绪状态和就绪挂起状态,并且至少有一个处于就绪挂起状态的进程比处于就绪状态的所有进程的优先级都高。有两种极端的策略: (1)总是分派一个处于就绪状态的进程,以减少交换; (2)总是把机会给具有最高优先级的进程,即使会导致在不需要交换时进行交换。 请给出一种能均衡考虑优先级和性能的中间策略。 答:对于一个就绪挂起态的进程,降低一定数量的优先级,从而保证只有当一个就绪挂起态的进程比就绪态的进程的最高优先级还高出几个优先级时,它才会被选做下一个执行。 2.举两个例子说明多线程比单线程方案提高性能,同时再举两个例子说明多线程不比单线程方案提高性能。
25、 练习题(三) I 问答题 1.处理器调度分哪几种类型?简述各类调度的主要任务。 答:处理器调度分三级调度:高级调度、中级调度和和低级调度。 高级调度主要功能是根据一定的算法,决定把外存上处于后备队列中的作业调入内存,并为它们创建进程和分配必要的资,然后,再将新创建的进程插入到进程就绪队列中,准备执行。在作业完成后负责回收该作业所使用的资。 中级调度主要功能是在内存使用情况紧张时,将一些暂时不运行的进程从内存调出到外存上等待,当以后内存有足够的空闲空间时,再将适合的进程重新调入内存,等待进程调度。 低级调度其主要功能是按照一定的算法决定就绪队列中的哪个进程将获得处理机,然后由分派程序执行把处理
26、机分配给该进程的操作。 2.叙述衡量一个处理器调度算法好坏的主要标准。 答: (1)利用率。使得尽可能的忙。 (2)吞吐率。指一个时间单位内所完成的作业数量。 (3)周转时间。用户作业从提交给系统开始,到作业完成中间的时间间隔称为作业周转时间,应使作业周转时间或平均作业周转时间尽可能短。 (4)等待时间。指作业或进程从进入系统到被调度到并开始执行所经历的时间。等待时间越短越好。 (5)响应时间。交互式系统中定义进程从提交一个请求到产生响应所需的时间间隔称为响应时间。分时系统要求用户的响应时间尽可能短,实时系统要求尽快处理实时任务。 (6)公平性。确保每个用户的每个进程获得合理的 份额或其它资份
27、额,不会出现饿死情况。 上述这些指标不是所有操作系统在设计时都要达到最优,而必须根据操作系统类型的不同进行权衡,以达到较好的效果。一般人们需要使使用率和吞吐量最大化,而使周转时间、等待时间和响应时间最小化。 3.简述作业状态及其转换过程。 答:通常把作业在系统中的状态分为四种:提交、后备、执行和完成。批处理系统中作业的状态及其转换如下图所示。 (1)提交状态。此时作业的信息正在从输入设备上预输入。 (2)后备状态。此时作业预输入结束放在辅存中,但尚未被选中执行。 (3)执行状态。作业已被选中进入主存,并构成进程去竞争处理器资已获得运行。 (4)完成状态。作业已经运行结束(正常或非正常结束),甚
28、至已经撤离,但正在等待缓输出运行结果。 4.叙述作业、进程和程序三者的关系。 答:程序、进程、作业之间的区别与联系 程序与进程之间的区别: (1)进程更能真实地描述并发,而程序不能。 (2)进程由程序和数据两部分组成,进程是竞争计算机系统有限资的基本单位,也是进程处理机调度的基本单位。 (3)程序是静态的概念;进程是程序在处理机上一次执行的过程,是动态的概念。 (4)进程有生存周期,有诞生有消亡。是短暂的;而程序是相对长久的。 (5)一个程序可以作为多个进程的运行程序;一个进程也可以运行多个程序。 (6)进程具有创建其他进程的功能;而程序没有。 作业与进程的区别: 一个进程是一个程序对某个数据
29、集的执行过程,是分配资的基本单位。作业是用户需要计算机完成的某项任务,是要求计算机所做工作的集合。一个作业的完成要经过作业提交、作业收容、作业执行和作业完成4个阶段。而进程是对已提交完毕的程序所执行过程的描述,是资分配的基本单位。 作业、进程和程序之间的联系: 一个作业通常包括程序、数据和操作说明书3部分。每一个进程由PCB、程序和数据集合组成。这说明程序是进程的一部分,是进程的实体。因此,一个作业可划分为若干个进程来完成,而每一个进程有其实体程序和数据集合。 5.何谓响应比最高优先算法?它有何主要特点? 答:响应比最高者优先算法是既要考虑作业的等待时间,又要考虑作业的运行时间,是介于先来先服
30、务算法和最短作业优先算法之间的一种折衷策略。该算法把作业进入系统后的等待时间与估计作业运行时间之和称为作业的响应时间,作业的响应时间除以作业运行时间称为作业响应比,作业响应比Rp定义为: Rp=1+ 6.何谓进程调度中“可抢占”和“非抢占”两种方式?哪一种系统的开销更大?为什么? 答:因为“可抢占”的进程调度方式是一个进程能把处理机资从正在运行的进程哪里抢占过来。它的优点是能保证系统当前运行的进程是所有进程中优先级最高的进程。但由于在处理机调度过程中,处理机资的交换比较频繁,所以引起的系统开销比较大。这也是可抢占调度方法的一大缺点。 7.进程调度功能有哪些?进程调度的时机有哪几种? 答: 进程
31、调度的功能是:记录进程的运行状况;根据一定调度算法从就绪队列中选择一个进程投入运行(处理机的分配);进行进程的上下文切换。 进程调度时机:当发生下述几种情况之一时,引起进程重新调度: (1)当一个进程从运行状态转换到阻塞状态 (2)当一个进程从运行状态转换到就绪状态 (3)当一个进程从阻塞状态转换到就绪状态。 (4)当一个进程终止时。 8.试比较进程调度与作业调度的不同点。 答:作业调度程序的主要功能是审查系统是否能满足用户作业的资要求以及按照一定的算法来选取作业,为该作业创建一进程。 进程调度主要功能是根据一定的算法将分派给就绪队列中的一个进程。进程调度是操作系统中最基本的一种调度,其调度策
32、略的优劣直接影响整个系统的性能。 9.假定有一个支持实时、分时和批处理的操作系统,对该系统应如何设计进程调度策略? 答:调度算法: 在操作系统中调度是指一种自远方分配,因而调度算法是指:根据系统的资分配策略所规定的资分配算法。对于不同的的系统和系统目标,通常采用不同的调度算法,例如,在批处理系统中,为了照顾为数众多的段作业,应采用短作业优先的调度算法;又如在分时系统中,为了保证系统具有合理的响应时间,应当采用轮转法进行调度;又如在实时系统中最好采用基于优先级的抢先式调度策略。对于一个支持实时、分时和批处理的操作系统,最好将批处理作为后台作业,采用短作业优先的调度算法;分时系统和实时系统作为前台
33、作业,采用优先级调度策略。 10.在多级反馈队列系统中设置不同大小的时间片有什么优点? 答:多级反馈队列调度算法是一种处理机调度算法,UNI_操作系统采取的便是这种调度算法。 多级反馈队列调度算法中设置不同大小的时间片,即能使高优先级的作业得到响应又能使短作业(进程)迅速完成。(对比一下FCFS与高优先响应比调度算法的缺陷)。 单项选择题 C B B D A D C C D D A A B B B 应用题 表 进程到达时间 进程 到达就绪队列的时间 (基本时间单位) 运行时间 (基本时间单位) 优先级 P1 0 9 1 P2 1 4 3 P3 2 8 2 P4 3 10 4 1.设有4个进程P
34、l,P2,P3,P4,它们到达就绪队列的时间、运行时间及优先级如表3.10所示。试问: 若采用可剥夺的优先级调度算法,给出各个进程的调度次序以及每个进程的等待时间。 若采用时间片轮换调度算法,且时间片为两个基本时间单位,给出各个进程的调度次序以及平均等待时间。 答: 假设优先数越大,优先级越高 (1) t0时刻:P1到达且投入运行。 t1时刻:P2到达,因为P2的优先级比P1高,P2投入运行,P1进入就绪队列。 t2时刻:P3到达,仍然P2的优先级最高,继续运行。就绪队列有:P1、P3。 t3时刻:P4到达,且P4的优先级最高,投入运行,就绪队列有:P1、P2、P3。 t13时刻:P4结束,此
35、时P2的优先级最高,P2投入运行,就绪队列有:P1、P3。 t15时刻:P2结束,此时P3的优先级最高,P3投入运行,就绪队列有:P1。 T23时刻:P3结束, P1又投入运行。 t31时刻:P1结束。 调度次序:P1P2P4P2P3P1 进程 到达时间 运行时间 开始运行时间 运行结束时间 等待时间 周转时间 P1 0 9 0 31 22 31 P2 1 4 1 15 10 14 P3 2 8 15 23 13 21 P4 3 10 3 13 0 10 平均等待时间=(22+10+13+0)/4=11.25ms 平均周转时间=(31+14+10)/4=19 (2)时间片轮转法 t0时刻:P1
36、就绪切得到时间片开始运行。 t1时刻:P2就绪,等待时间片。 t2时刻:P1时间片完成,P2得到时间片投入运行,同时P3就绪。就绪:P2、P3、P1。 t3时刻:P4就绪。P2时间片未结束,继续运行。就绪:P2、P3、P1、P4。 t4时刻:P2时间片结束,P3得到时间片投入运行,就绪:P3、P1、P4、P2。 t6时刻:P3时间片结束。P1得到时间片,就绪:P1、P4、P2、P3。 t8时刻:P1时间片结束。P4得到时间片,就绪:P4、P2、P3、P1。 t10时刻:P4时间片结束。P2得到时间片,就绪:P2、P3、P1、P4。 t12时刻:P2时间片结束且P2运行结束。P3得到时间片投入运
37、行,就绪:P3、P1、P4。 t14时刻:P3时间片结束,P1得到时间片投入运行,就绪:P1、P4、P3。 t16时刻:P1时间片结束,P4得到时间片投入运行,就绪:P4、P3、P1。 t18时刻:P4时间片结束,P3得到时间片投入运行,就绪:P3、P1、P4。 t20时刻:P3时间片结束,P1得到时间片投入运行,就绪:P1、P4、P3。 t22时刻:P1时间片结束,P4得到时间片投入运行,就绪:P4、P3、P1。 t24时刻:P4时间片结束,P3得到时间片投入运行,就绪:P3、P1、P4。 t26时刻:P3时间片结束,且P3运行结束。P1得到时间片投入运行,就绪有:P1、P4。 t27时刻:
38、P1运行结束。P4得到时间片投入运行。 t31时刻:P4运行结束。 等待时间的计算: P1=4+6+4+4=18 P2=1+6=7 P3=2+6+4+4=16 P4=5+6+4+3=18 练习题(四) I 问答题 1.试说明进程的互斥和同步两个概念,并说明它们之间的异同。 答:进程互斥是解决进程间竞争关系(间接制约关系)的手段。它是指一组并发进程中的一个或多个程序段,因共享同一临界资时,任何时刻不允许两个以上的共享该资的并发进程同时进入临界区。 进程同步指的是两个或多个进程为了合作完成同一个任务,在执行速度或某些确定的时序点上必须相互协调,即一个进程的执行依赖于另一个进程其合作伙伴的消息,当一
39、个进程到达了某一确定点而没有得到合作伙伴发来的“已完成某些操作”的消息时必须等待,直到该消息到达被唤醒后,才能继续向前推进。 进程同步与互斥相似之处是:进程的互斥实际上是进程同步的一种特殊情况,即逐次使用互斥共享资,也是对进程使用资次序上的一种协调。进程的互斥和同步统称为进程同步。 进程同步与互斥的差别是:进程互斥是进程间共享资的使用权,这种竞争没有固定的必然联系,哪个进程竞争到资的使用权,该资就归那个进程使用,直到它不再需要使用时才归还资;而进程同步则涉及共享资的并发进程间有一种必然的联系,当进程必须同步时,即使无进程在使用共享资时,那么尚未得到同步消息的进程也不能去使用该资。 2.进程之间
40、存在哪几种相互制约关系?各是什么原因引起的?请说明下列活动分别属于哪种制约关系? (1)若干同学去图书馆借书; (2)两队举行篮球比赛; (3)流水线生产的各道工序; (4)商品生产和社会消费。 答:进程之间存在直接制约关系(进程间的同步)和间接制约关系(进程间的互斥)。直接制约关系是指两个或多个进程为了合作完成同一个任务,间接制约关系是指两个或多个进程为了竞争临界资。 (1)属于互斥关系 (2)属于互斥关系 (3)属于同步关系 (4)属于同步关系 3.什么是临界区和临界资?对临界区管理的基本原则是什么? 答:把一次只允许一个进程使用的资称为临界资。把每个进程中访问临界资的那段代码从概念上分离
41、出来,将其称为临界区。即临界区是指对临界资实施操作的程序代码段。 对临界区管理的原则是: 互斥。如果某个进程在临界区内执行,则其它进程不能进入临界区。 有空让进。如果没有进程在其临界区内执行,则选择一进程(如有)进入临界区。 有限等待。当有若干个进程同时要求进入临界区时,应在有限时间内使一个进程进入。 4.什么是信号量?在信号量S 上作P、V 操作时,S 的值发生变化,当S0、S=0、S buffer2- -buffer1 V(empty1) V(empty2) V(full1) P(empty2) -buffer2 V(full2) 5.考虑一个共有150个存储单元的系统,如下分配给三个进程
42、,P1 最大需求70,己占有25;P2 最大需求60,己占有40;P3 最大需求60,己占有45。使用银行家算法,以确定下面的任何一个请求是否安全。 (1) P4 进程到达,P4 最大需求60,最初请求25 个。 (2) P4 进程到达,P4 最大需求60,最初请求35。如果安全,找出安全序列;如果不安全,给出结果分配情况。 答:(1) 由于系统目前还有150-25-40-45=40个存储单元,P4进程到达,把25个存储单元分给它。这时系统还余15个单元,可把15个单元分给P3,它执行完后会释放60个单元。于是可供P1(还要45个单元)、P2(20个单元)和P4(还要35个单元)任何一个执行。
43、安全序列有6个序列,分别为: P3, P1, P2, P4 ; P3, P1, P4, P2 ; P3, P2, P1, P4 ; P3, P2, P4, P1 ; P3, P4, P1, P2 ; P3, P4, P2, P1 ; (2)P4进程到达,P4最大需求60,最初请求35。如果把35个单元分给P4,系统还余5个单元,不再能满足任一个进程的需求,系统进入不安全状态。 6.某一游览胜地,有一天然隧道,隧道内只允许一人通过。为使双方游人都有机会,规定当同一方向经过一人后就交替地改变方向,让另一方游人通过,要想进入隧道的人在隧道口排队等待,试用信号量与P、V操作编写游人到达隧道口,通过隧道
44、并从另一端离开隧道口的程序。 答:设隧道一边的信号量为S1和隧道另一边的信号量为S2,它们的初值分别为: S1=1;S2=0; 7.有P1、P2、P3三个进程共享一个表格F,P1对F只读不写,P2对F只写不读,P3对F先读后写。进程可同时读F,但有进程写时,其它进程不能读和写。用信号量和P、V操作编写三进程能正确工作的程序。 答: 有P1、P2、P3三个进程共享一个表格F,P1对F只读不写,P2对F只写不读,P3对F先读后写。进程可同时读F,但有进程写时,其他进程不能读和写。用信号量和P、V操 作。 semaphore read(1),write(1); p1 p(read); 读; v(re
45、ad); p2 p(read); p(write); 写; v(write); v(read); p3 p(write); 读; p(read); 写; v(read); v(write); 练习题(五) 问答题 1.存储管理的主要功能是什么? 答: (1)主存空间的分配与回收。系统按照一定的算法把某一空闲的存储空间分配给作业或进程;用户不需要时,及时回收,以供其它用户程序使用。 (2)地址转换(地址重定位)。把作业地址空间中使用的逻辑地址转换成内存空间中的物理地址。 (3)主存空间的共享和保护。可用的主存空间可由两个或多个进程共享。同时要保护系统程序区不被用户有意或无意的侵犯,不允许用户程序
46、读写不属于自己地址空间的数据,避免各道程序间相互干扰。特别是当一道程序发生错误时,不致于影响其它程序的运行。 (4)主存空间的扩充。使用虚拟存储或自动覆盖技术提供比实际内存更大的空间。 2.指出逻辑地址与物理地址的不同点。 答:用户的程序一旦编译之后,每个目标模块都以0为基地址进行编址,这种地址称为逻辑地址或相对地址。为了便于访问,内存中的每个物理存储单元都有一个编号,这个编号称为内存地址,即物理地址(也称绝对地址)。 3.何谓地址转换(重定位)?有哪些方法可以实现地址转换? 答:当作业运行时,不能用逻辑地址在内存中读取信息,必须把作业地址空间中使用的逻辑地址转换成内存空间中的物理地址,这种转
47、换称为地址转换。 实现地址转换的方法有:静态地址转换和动态地址转换。 4.简述什么是覆盖?什么是交换?覆盖和交换的区别是什么? 答:覆盖技术主要是指同一主存区可以被不同的程序段重复使用。交换,就是系统根据需要把主存中暂时不运行的某个(或某些)作业部分或全部移到外存,而把外存中的某个(或某些)作业移到相应的主存区,并使其投入运行。 交换是由操作系统完成,用户并不知道。操作系统按一定的策略采用“强占”和“礼让”的方法,把内存部分内容暂时放到硬盘交换区中。覆盖是由用户控制,操作系统提供覆盖机制,用户给出该程序的覆盖结构。覆盖机构将整个作业分为常驻和覆盖两部分。子程序不会同时调入内存。用户只要将最大的子程序作为覆盖区告诉系统即可。 5.简述固定分区存储管理和可变分区存储管理的区别。固定式分区中可采用哪几种办法使主存空间的利用率得到改善? 答: (1