Linux操作系统课后答案.doc_第1页
Linux操作系统课后答案.doc_第2页
Linux操作系统课后答案.doc_第3页
Linux操作系统课后答案.doc_第4页
Linux操作系统课后答案.doc_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

习题一 参考答案1-1 存储程序式计算机的主要特点是什么?答:存储程序式计算机(即冯诺依曼型计算机)的主要特点是集中顺序过程控制。它模拟手工操作过程,由CPU集中管理,通过程序计数器控制指令的顺序执行每一个指令。1-2 批处理系统和分时系统各具有什么特点?为什么分时系统的响应比较快?答:批处理系统中操作人员将作业成批装入计算机并由计算机管理运行,在程序的运行期间用户不能干预,因此批处理系统的特点是:用户脱机使用计算机,作业成批处理,系统内多道程序并发执行以及交互能力差。分时系统中不同用户通过各自的终端以交互方式共同使用一台计算机,计算机以“分时”的方法轮流为每个用户服务。分时系统的主要特点是:多个用户同时使用计算机的同时性,人机问答方式的交互性,每个用户独立使用计算机的独占性以及系统响应的及时性。分时系统一般采用时间片轮转的方法,使一台计算机同时为多个终端用户服务,因此分时系统的响应比较快。1-3 实时信息处理系统和分时系统从外表看来很相似,它们有什么本质的区别呢?答:实时信息处理系统是指用计算机对实时数据进行处理的系统。它要求必须在规定的时间内做出响应,一般要求响应时间为秒级、毫秒级甚至微秒级,比分时系统要求严格。实时系统要求高可靠性和安全性,不要求很强的会话功能。而分时系统只要求系统及时做出响应,具有很强的会话功能。1-4 什么是多道程序设计技术?试述多道程序运行的特征?答:多道程序设计技术是指同时把多个作业(程序)放入内存并允许它们交替执行和共享系统中的各类资源;当一道程序因某种原因(如 I/O 请求)而暂停执行时,CPU 立即转去执行另一道程序。多道程序运行具有如下特征: 多道:计算机内存中同时存放几道相互独立的程序。 宏观上并行:同时进入系统的几道程序都处于运行过程中,它们先后开始了各自的运行,但都未运行完毕。 微观上串行:从微观上看,内存中的多道程序轮流或分时地占有处理机,交替执行。1-5 什么是分时技术?答:把处理机时间分成若于个大小相等(或不相等)的时间单位,称为时间片,每个终端用户获得CPU,就等于获得一个时间片,该用户程序开始运行,当时间片到(用完),用户程序暂停运行,等待下一次运行。1-6 什么是操作系统?操作系统的主要特征是什么?答:操作系统是一个大型的程序系统,它负责计算机系统软、硬件资源的分配与回收;控制和协调并发活动;实现信息的存取和保护;提供用户接口,使用户获得良好的工作环境,为用户扩展新的系统功能提供软件平台。操作系统使整个计算机系统实现了高效率和高度自动化。操作系统的主要特征有:并发性,共享性,不确定性。1-7 操作系统的管理功能有哪些?其中,哪些功能与计算机系统的硬部件相关?答:操作系统的管理功能有进程管理、存储管理、设备管理和文件系统。上述管理功能均与计算机系统的硬部件相关,进程管理与处理机相关,存储管理与内存相关,设备管理与各种外部设备相关,文件管理与辅存相关。1-8 设一个计算机系统有输入机一台、打印机两台,现有A、B两道程序同时投入运行,且程序A先运行,程序B后运行。程序A的运行轨迹为:计算50ms,打印信息100ms,再计算50ms,打印信息100ms,结束。程序B运行的轨迹为:计算50ms,输入数据80ms,再计算100ms,结束。回答如下问题:(1) 用图画出这两道程序并发执行时的工作情况。答:(2) 说明在两道程序运行时,CPU有无空闲等待?若有,在哪段时间内等待?为什么会空闲等待?答:在两道程序运行时,CPU有空闲等待。当程序A进入打印操作后,程序B计算50ms后也进入输入操作,而程序A打印操作尚未结束,且无其它用户程序需要计算,此时CPU有空闲。(3) 程序A、B运行时有无等待现象?在什么时候会发生等待现象?答:程序A运行时无等待现象,程序B运行时有等待现象。当程序B在50ms计算后进入80ms的输入操作,在输入操作执行50ms时CPU被程序A强占,而当程序B输入操作完成后程序A仍未释放CPU,此时程序B处于等待状态。习题二 参考答案2-1 什么是操作系统虚拟机?答:操作系统是最基本的系统软件,它是硬件功能的第一层扩充。配置了操作系统的计算机称为操作系统虚拟机。扩充了的计算机除了可以使用原来裸机提供的各种基本硬件指令,还可以使用操作系统增加的许多其它指令。2-2 在设计操作系统时,可以考虑的结构组织有哪几种?答:在设计操作系统时,可以考虑的结构组织有单体系统、层次式系统、微内核、客户机-服务器模式。2-3 什么是处理机的态?为什么要区分处理机的态?答:所谓处理机的态是指处理机当前处于何种状态,正在执行哪类程序。操作系统是计算机系统中最重要的系统软件,为了能正确地进行管理和控制,其本身是不能被破坏的。为此,系统应能建立一个保护环境,因此系统必须区分处理机的工作状态。系统中主要分为系统程序和用户程序两类程序在运行,它们的任务是不同的。系统程序是管理和控制者,将它们运行时处理机的工作状态称为管态;用户程序是被管理和被控制的对象,将它们运行时处理机的工作状态称为用户态。2-4 什么是管态?什么是用户态?二者有何区别?答:处理器在执行系统程序时所处的状态称为管态;处理器在执行用户程序时所处的状态称为用户态。处理器在管态和用户态下具有不同的权限:在管态下允许 CPU 使用全部资源和全部指令,其中包括一组特权指令;在用户态下禁止使用特权指令,不能直接使用系统资源与改变 CPU 状态,并且只能访问用户程序所在的存储空间。2-5 什么是中断?在计算机系统中为什么要引进中断?答:中断是指某个事件(例如,电源掉电、俘点运算溢出、外部设备传输完成或出错等)发生时,系统中止现运行程序的执行,引出处理事件程序对相应事件进行处理,处理完毕后返回断点继续执行。为了实现多道程序设计技术、提高资源利用率,在计算机系统中引进中断。2-6 按中断的功能来分,中断有哪几种类型?答:按中断的功能来分,中断有如下五种类型: I/O 中断 外中断 硬件故障中断 程序性中断 访管中断2-7 什么是强迫性中断?什么是自愿中断?试举例说明。答:强迫性中断的中断事件不是正在运行的程序所期待的,而是由某种事故或外部请求信号所引起的。如 I/O 中断、外中断、机器故障中断、程序性中断属于这类中断。自愿性中断的中断事件是运行程序所期待的,这种事件由运行程序请求操作系统服务而引起的。访管中断属于这类中断。2-8 中断和俘获有什么不同?答:中断和俘获是按中断事件的来源不同划分的。中断也叫外中断,指中断事件来源于处理机的外部,如 I/O 中断、外中断;俘获也叫内中断,指中断事件来源于处理机的内部,如硬件故障中断、程序性中断、访管中断。2-9 什么是中断响应?其实质是什么?答:中断响应是处理机发现有中断请求时,暂停现运行程序的执行,并自动引出中断处理程序的过程。其实质是交换指令执行地址和处理机的状态信息。2-10 试用图画出中断响应的过程。答:如下所示。2-11 什么是程序状态字?在微机中它一般由哪两个部分组成?答:程序状态字是指反映程序执行时机器所处的现行状态的代码,并存放在特定的寄存器中。在微机中它一般由指令计数器(PC)和处理机状态寄存器(PS)两部分组成。2-12 什么是向量中断?什么是中断向量?答:向量中断是指当中断发生时,由中断源自己引导处理机进入中断服务程序的中断过程。中断向量就是存储该类型中断服务例行程序的入口地址和处理器状态字的存储单元。2-13 软件的中断处理过程主要分为哪几个阶段?试用图画出软件的中断处理过程。答:软件的中断处理过程主要分为三个阶段:保护现场、执行中断处理程序和恢复现场。2-14 试说明 Linux 系统的核心结构。答:Linux 系统的核心结构如下图所示。习题三 参考答案3-1 什么是系统生成?答:系统生成是指在一台裸机上(或者安装新的操作系统)安装操作系统的过程。3-2 系统引导的主要任务是什么?答:系统引导(或系统初启)的任务是:将操作系统的必要部分装入主存并使系统运行,最终处于命令接收状态。3-3 什么是作业?什么是作业步?答:作业是要求计算机系统按指定步骤对初始数据进行处理并得到计算结果的加工过程。加工工作中的一个步骤称为作业步。3-4 处理应用程序分哪几个作业步?这些步骤之间有什么关系?答:计算机对用户算题任务的加工过程一般分四个作业步:编辑、编译、连接和运行。各作业步之间的关系如下: 前一个作业步的结果是下一个作业步的操作对象; 一个作业步的成功完成依赖于上一个作业步的成功完成。3-5 静态连接和动态连接有什么区别?答:在静态链接中,链接程序将需要的外部函数代码从静态链接库中拷贝到执行文件中,因此得到的可执行文件比较大,而且执行文件在不存在库函数的环境下也能执行(因为执行文件本身已经包含了它所需要的库函数的完整拷贝),换句话说,静态库不需要与可执行文件一起发行。在动态链接中,链接程序不没有将需要的外部函数代码拷贝到可执行程序中,而是在可执行程序中需要调用外部函数的地方做标记,从而形成一个函数调用链表;在执行文件执行过程中根据调用的需要动态的加载或卸载 DLL 文件,换句话说,DLL 文件需要与不包含它的可执行文件一起发行(因为包含 DLL 文件,所以动态链接方式产生的可执行文件比较小)。3-6 用户与操作系统的界面是什么?一个分时系统提供什么界面?一个批处理系统又提供什么界面?答:用户与操作系统的界面是操作系统提供给用户与计算机打交道的外部机制,用户能够借助这种机制和系统提供的手段来控制用户所在的系统。操作系统的用户界面分为操作界面和程序界面。任何一类操作系统都必须同时提供操作界面和程序界面。一个分时系统提供的界面是键盘命令(或图形化的用户界面)和系统调用。一个批处理系统提供的界面是作业控制语言和系统调用。3-7 Windows 提供什么样的用户界面?答:Windows 提供的操作界面是图形化的用户界面;提供的程序界面是系统调用(如 Windows Win32 API)。3-8 UNIX、Linux 系统的用户界面是什么?答:UNIX、Linux 系统提供的操作界面是 Shell(基于文本命令行界面)和图形用户界面(X Windows);提供的程序界面是系统调用,如 fork、open 等。3-9 什么是系统调用?对操作系统的服务请求与一般的子程序调用有什么区别?答:系统调用是操作系统提供给编程人员的唯一接口。编程人员利用系统调用,在源程序一级动态请求和释放系统资源,调用系统中已有的系统功能来完成那些与机器硬件部分相关的工作以及控制程序的执行速度等。因此,系统调用像一个黑箱子那样,对用户屏蔽了操作系统的具体动作而只提供有关的功能。系统调用与一般过程调用的主要区别如下:系统调用程序是在核心态执行,调用它们需要一个类似于硬件中断处理的中断处理机制来提供系统服务。3-10 假定某系统提供硬件的访管指令(如形式为“svc n”),为了实现系统调用,系统设计者应做哪些工作?用户又如何请求操作系统服务?答:系统设计者应该编写相应的访管中断处理程序,该程序的功能是根据指令中的功能号 n 将 CPU 切换到用户需要的服务例程。用户必须提供所需服务例程对应的功能号 n。3-11 简述系统调用的执行过程。答:系统调用命令的具体格式因系统而异,但由用户程序进入系统调用的步骤及执行过程大体相同:首先,将系统调用命令所需的参数(如功能号)或参数区首址装入指定寄存器;然后,在用户程序中适当的位置安排一条调用系统功能指令。至于系统调用命令的功能号,有的系统直接在调用指令中给出,有的系统则把它作为系统调用命令的参数,在调用时放入指定寄存器。当用户程序执行到调用系统功能的指令时,就转到系统调用的处理程序执行。其过程如下:(1)为执行系统调用命令做准备,即将用户程序的“现场”保存起来,同时把系统调用命令的编号等参数放入约定的存储单元。(2)根据系统调用命令的编号查找系统调用入口表,找到相应系统功能调用子程序的入口地址,然后转到该子程序执行。当系统调用命令执行完毕,相应的结果通常返回给参数,这些参数放在约定的存储单元里。(3)系统调用命令执行完毕后的处理,包括恢复用户程序执行的“现场”信息,同时把系统调用命令的返回参数或参数区首址放入指定的寄存器中,以供用户程序使用。习题四 参考答案4-1 试解释下列名词:程序的顺序执行、程序的并发执行。答:一个程序由若干个程序段组成,而这些程序段的执行必须是顺序的,这种程序执行的方式就称为程序的顺序执行。若干个程序段同时在系统中运行,这些程序的执行在时间上是重迭的,一个程序段的执行尚未结束,另一个程序段的执行已经开始,即使这种重迭是很小的,也称这几个程序段是并发执行的。4-2 什么是与时间有关的错误?试举例说明。答:当程序并发执行时,系统处于一个复杂的动态组合状态,各程序执行的相对速度不确定,这使得(即使初始条件相同)这些程序多次并发执行得到的结果不同,其中有一个结果是正确的,而其他的是错误的。这些错误与并发程序执行的相对速度有关,是与时间有关的错误。例如,三个并发执行程序的誊抄。其中,get 程序负责从输入序列 f 中读取字符,并送到缓冲区 s 中;copy 程序把缓冲区 s 中的数据复制到缓冲区 t 中去;put 程序从缓冲区 t 中取出数据打印。若程序写出:while(誊抄未完成)cobegincopy;put;get;coendcopy、put、get 三个程序段并发执行,就有六种组合: 假设此时的状态为:f=(r1,r2, .,rn);s=r2,t=r1,g=(r1))1、copy; put; get2、copy; get; put3、put; copy; get4、put; get; copy5、get; copy; put6、get; put; copy易知,如果按照 1 和 2 的执行顺序可以得到正确的誊抄结果,而 3、4、5、6 的执行顺序都会到错误的誊抄结果(即产生了与时间相关的错误)。4-3 什么是进程?进程与程序的主要区别是什么?答:进程即是一个具有一定独立功能的程序关于某个数据集合的一次活动。进程与程序的主要区别是:(1)程序是指令的有序集合,是一个静态概念,其本身没有任何运行的含义,进程是程序在处理机上的一次执行过程,是一个动态概念。(2)程序作为软件资料可长期保存,而进程是有生命期的,因创建而产生、因调度而执行、因得不到资源而暂停、因撤消而消亡。(3)程序是记录在介质上指令的有序集合,而进程则由程序、数据和进程控制块 3 部分组成。(4)进程与程序之间无一一对应关系。不同的进程可以包含同一程序,同一程序在执行中也可以产生多个进程。(5)进程是一个独立的运行单位,也是系统进行资源分配和调度的独立单位。而程序无此概念。4-4 图 4-2 标明程序段执行的先后次序。其中 I 表示输入操作、C 表示计算操作、P 表示打印操作,下角标说明是对哪个作业进行上述操作。请指明:(1)哪些操作必须有先后次序,其原因是什么?(2)哪些操作可以并发执行,其原因又是什么?答:(1)Ii 必须先于 Ci 执行,Ci 必须先于 Pi 执行,这是因为同一个作业的这三个操作之间具有逻辑上的严格的先后执行次序;Ii 必须先于 Ii+1 执行,Ci 必须先于 Ci+1 执行,Pi 必须先于 Pi+1 执行,这是因为 Ii 和 Ii+1 共享输入设备、Ci 和 Ci+1共享 CPU、Pi 和 Pi+1 共享输出设备。(2)Ii+1 和 Ci、Pi-1 可以并发执行,因为这三个进程分属于不同的作业,且它们占据的是不同的资源。4-5 如下图所示,设一誊抄程序,将 f 中记录的序列正确誊抄到 g 中,这一程序由 get、copy、put 三个程序段组成,它们分别负责获得记录、复制记录、输出记录。请指出这三个程序段对 f 中的 m 个记录进行处理时各种操作的先后次序,并画出誊抄此记录序列的先后次序图。(假设 f 中有 1,2,m 个记录,s,t为设置在主存中的软件缓冲区,每次只能装一个记录。)答:(不是很明白题目的要求,所以给出三个程序段正确完成誊抄的算法)。输入:f输出:gif (f 不为空) thenget(s, f); /从 f 中读入一个字符放入缓冲区 swhile(1)if (s 中的字符不是结束符)thencopy(t, s);cobeginget(s, f); put(g, t);coendelsecopy(t, s);put(g, t);break;/while4-6 进程有哪几个基本状态?在一个系统中为什么必须区分出这几种状态。答:进程有三个基本状态:运行状态、就绪状态和等待状态(又称阻塞、挂起、睡眠)。因为多道程序设计技术的引入,使得多个进程可以并发执行。并发执行的进程之间由于合作具有直接制约关系或由于共享资源具有间接制约关系,使得它们的执行过程具有“执行暂停执行暂停执行”的动态特征,因此需要对进程在其生命周期内所处于的不同状态进行区分,以便对进程进行分析、管理和控制。4-7 试用图画出批处理系统的进程状态变迁图。答:如下所示。4-8 试用图画出分时系统的进程状态变迁图。答:如下所示4-9 某系统进程状态变迁图如下图所示,请回答下列问题:(1)什么原因会导致发现变迁 2、3、4?(2)当观察系统中进程时,可能看到某一进程产生的一次状态变迁将引起另一进程作一次状态变迁,这两个变迁称为因果变迁。在什么情况,一个进程的变迁 3 能立即引起另一个进程的变迁 1?(3)下述因果变迁是否可能发生?如果可能的话,在什么情况下发生?a. 2-1 b. 3-2 c. 4-1答:(1)如图中所示。(2)正在运行的进程因请求资源未得到满足而变为等待状态的变迁 3,必然引起一个就绪进程被调度执行的变迁 1(只要就绪队列不为空)。(3)a.正运行的进程因时间片到变为就绪状态的变迁 2,必然引起一个就绪进程被调度执行的变迁 1。b. 3-2 不可能。c.当一进程从等待状态变为就绪状态的变迁 4,在该进程的优先级最高且系统采用抢占式调度时,就会引起该进程又被调度执行的变迁 1。4-10 某系统进程状态除了三个基本状态外,又增加了创建状态、完成状态两种新的状态,试用图画出增加新状态后的进程状态变迁图,并说明发生每一种变迁的原因。答:如下图所示:4-11 什么是进程控制块?它有什么作用?答:存放进程的管理和控制信息的数据结构称为进程控制块。它是进程管理和控制的最重要的数据结构,系统通过它感知进程的存在。4-12 什么是线程?线程和进程有什么区别?答:线程有时也称为轻量级进程,它是比进程更小的活动单位,它是进程中的一个执行路径。一个进程可以有多个执行路径即线程。线程和进程的主要区别如下:(1)线程是进程的一个组成部分。一个进程可以有多个线程,而且至少有一个可执行的线程。(2)进程是资源分配的基本单位,它拥有自己的地址空间和各种资源。线程是处理机调度的基本单位,它只能和其他线程共享进程的资源,而本身并不具有任何资源。(3)进程的多个线程都在进程的地址空间内活动。这样,在以线程为单位进行处理机调度和切换时,由于不发生资源变化特别是地址空间的变化,因此切换时间较短。而以进程为单位进行处理机调度和切换时,由于涉及到资源转移及现场保护等问题,将导致切换时间变长和资源利用率降低。(4)线程和进程一样,都有自己的状态和相应的同步机制。但是,由于线程没有自己单独的程序和数据空间,因而不能像进程的程序和数据那样交换到外存去。(5)因为同一进程内的线程共享内存和文件,因此它们之间相互通信无须调用内核。(6)进程的调度和控制大多由操作系统的内核完成,而线程的控制既可以由操作系统内核完成,也可以由用户控制完成。4-13 试说明进程创建的主要功能是什么?答:进程创建的主要功能是形成被创建进程所对应的进程控制块 PCB。4-14 用于进程控制的原语主要有哪几个?每种原语的执行将使进程的状态发生什么变化?答:(1)创建原语,创建一个就绪状态的进程,使进程从创建状态变迁为就绪状态;(2)撤销原语,使进程从执行状态变迁为完成状态;(3)阻塞原语,使进程从运行状态变迁为阻塞状态;(4)唤醒原语,使进程从阻塞状态变迁为就绪状态。4-15n 个并发进程共用一个公共变量 Q,写出用记录型信号量实现 n 个进程互斥时的程序描述,给出信号量的取值范围,请说明每个取值的物理意义。答:如下所示。var mutex:=1;begincobeginprocess i:begin /i=1,2,nrepeatP(mutex);对公共变量Q的访问V(mutex);remainder sectionuntil false;endcoend信号量 mutex 的取值范围为:mutex.value 1, - (n-1)。值为 1 时,表示没有进程访问公共变量 Q; 值为 0 时,表示有一个进程正在访问公共变量 Q;值t1)时刻,进程P1请求打印机,P1将被阻塞,进入等待打印机的等待队列中,等待P2释放打印机。在t3(t3t2)时刻,进程P2请求输入机,P2将被阻塞,进入等待输入机的等待队列中,等待P1释放输入机。此时,P1和P2进入了永久的互等状态,即P1和P2成为死锁进程,出现了死锁现象。5-5 产生死锁的原因是什么?产生死锁的必要条件是什么?答:产生死锁的原因主要有:(1)竞争有限的系统资源。多个进程所共享的资源不足,引起它们对资源的竞争而产生死锁。 (2)并发执行的顺序不当。进程运行过程中,请求和释放资源的顺序不当而导致进程死锁。 产生死锁的必要条件是:(1)互斥(Mutualexclusion)。任一时刻只允许一个进程使用资源,即进程对它所需的资源进行排它性控制。(2)部分分配(Requestandhold)。进程每次申请它所需的一部分资源。进程在请求其余资源时,不主动释放已经占用的资源。(3)非剥夺(Non-preemptive)。进程已经占用的资源,不会被强制剥夺。(4)环路等待(CircularWait)。存在一个等待进程集合p0,p1,pn,p0在等待p1占有的资源,p1等待一个p2占有的资源,pn正在等待p0占有的一个资源。由这些进程以及请求(分配)的资源构成了一个”进程资源”有向循环图。5-6 试举出一种避免死锁的方法,并说明为什么能避免死锁的发生?答:银行家算法是一种死锁避免的方法。银行家算法在系统运行过程中对进程发出的每一个系统能够满足的资源申请进行动态检查,并根据检查结果决定是否分配资源,若分配后系统可能发生死锁,则不予分配,否则予以分配。因此它能避免死锁的发生。5-7 三个进程共享四个同类资源,这些资源的分配与释放只能一次一个。已知每一进程最多需要两个资源,试问:该系统会发生死锁吗?为什么?答:该系统不会发生死锁。因为最坏情况是每个进程都占有一个资源,申请第二个资源,而此时系统中剩下一个资源,不管这个资源分给哪个进程,都能满足它的资源要求,因此它能在有限时间内运行结束从而释放它所占有的两个资源,这两个资源又可以分配给另外两个进程,使它们能够运行结束,所以系统不会发生死锁。5-8某系统进程调度状态变迁图如图 5-53 所示(设系统的进程调度方式为非剥夺方式)。(1)说明一个进程发生变迁3的原因是什么?发生变迁 2、变迁 4的原因是什么?(2)下述因果变迁是否可能发生?如果可能的话,在什么情况下发生?(a)2-5;(b)2-1;(c)4-5;()4-2;()3-5(3)根据此进程状态变迁图叙述该系统的调度策略、调度效果。答:(1)当运行进程在执行过程中,需要等待某事件的发生才能继续向下执行,此时会发生变迁 3;当运行进程在分得的时间片内未完成,时间片到将发生变迁 2;当等待进程等待的事件发生了,将会发生变迁 4。(2) a.2-5 的因果变迁可能发生。当正在运行的进程因时间片用完而进入低优先就绪队列的变迁2,只要高优先就绪队列不为空,则必然引起一个高优先级就绪进程被调度执行的变迁5。b.2-1的因果变迁可能发生。当正在运行的进程因时间片用完而进入低优先就绪队列的变迁2,只要高优先就绪队列为空而低优先级非空,则必然引起一个低优先级就绪进程被调度执行的变迁1。c.4-5的因果变迁可能发生。因为当CPU处于空闲状态时,若某个进程等待I/O操作完成时,发生变迁4,进入高优先级就绪队列,从而引起变迁5而执行进程调度。d.4-2的因果变迁不可能发生。e.3-5的因果变迁可能发生。当正在运行的进程因等待I/O服务而发生变迁2,进入阻塞状态时,只要高优先就绪队列不为空,则必然引起一个高优先级就绪进程被调度执行的变迁5。(3)调度策略:首先调度高就绪队列中的进程(一般由 I/O 型进程或短进程组成)投入运行(给高优先就绪队列中的进程分配的时间片大小为100ms),只有当高就绪队列中的所有进程全部运行完毕或因等待某事件发生处于阻塞状态,高就绪队列中没有进程可运行时,才调度低优先就绪队列中的进程(一般由计算型进程或长进程组成)(给低优先就绪队列中的进程分配的时间片大小为500ms)。若一个运行进程时间片(100ms 或 500ms)到还未完成就进入低优先就绪队列。若某进程在运行期间因等待某事件发生而进入阻塞队列,则当其所等待事件完成后,它将进入高优先就绪队列。调度效果: 优先照顾IO量大的进程;适当照顾计算量大的进程。5-9某系统的设计目标是优先照顾I/O的进程,试画出满足该设计目标的进程状态变迁图。5-10在单道批处理系统中,有下列四个作业用先来先服务调度算法和最短作业调度算法进行调度,哪一种算法调度性能好些?请按表5-9的格式,分别用两张表正确填补表中未填写的各项。 (单位:小时,并以十进制计)作业提交时间执行时间开始时间完成时间周转时间(分钟)代权周转时间(分钟)110.002.00210.101.00310.250.25410.500.20平均周转时间 t=平均代权周转时间 w=作业提交时间执行时间开始时间完成时间周转时间(分钟)代权周转时间(分钟)110.002.0010.0012.002.001210.101.0012.0013.002.902.9310.250.2513.0013.25312410.500.2013.2513.452.9514.75平均周转时间 t=2.715平均代权周转时间 w=7.6625答:(1)先来先服务调度算法(2)最短作业优先调度算法作业提交时间执行时间开始时间完成时间周转时间(分钟)代权周转时间(分钟)110.002.0010.0012.002.001210.101.0012.4513.453.353.35310.250.2512.2012.452.28.8410.500.2012.0012.201.78.5平均周转时间 t=2.315平均代权周转时间 w=5.4125从上面两个表中可以看出,最短作业优先调度算法的性能好些。5-11什么是逻辑地址?什么是物理地址?为什么要进行二者的转换工作?答:逻辑地址是程序指令中使用的地址,因为它不是实际要访问的主存物理地址,所以又称为虚地址。物理地址是指主存中实际存储单元的地址,又称为实地址或绝对地址。5-12什么是动态地址重定位?它需要什么支持?答:动态地址重定位是指在程序执行期间进行的逻辑地址到物理地址的转换。它需要硬件的支持,通常采用一个重定位寄存器(重定位寄存器的内容是程序装入内存的起始地址),在每次进行存储访问时,对取出的逻辑地址加上重定位寄存器的内容,形成正确的内存地址。5-13静态地址重定位与动态地址重定位的区别是什么?答:静态地址重低位与动态地址重定位的区别主要体现在: (1)地址转换的时机不同。静态地址重定位是在作业装入过程中进行地址转换,而动态地址重定位在作业装入过程中不进行地址转换,它是在程序执行期间进行转换。 (2)需要的支持不同。静态地址重定位需要软件(重定位装入程序)的支持,而动态地址重定位需要硬件的(重定位寄存器)的支持。 (3)转换的速度不同。静态地址重定位是运行重定位装入程序来完成地址转换的,它需要花费较多的CPU时间;而动态地址重地址是在硬件的帮助下完成转换的,所以转换速度快。(4)灵活度不同。静态地址重定位在装入时就完成了所有的地址转换工作,因此程序装入内存后不能移动、通常也需要占用连续的内存空间、并且不利于共享的实现。动态地址重定位是在程序的执行期间完成地址转换,重定位寄存器存放的是被访问的逻辑地址所在的页或段在内存中的起始地址,因此一个程序可以分散存放于不连续的内存空间,可以部分地装入程序运行,可以移动程序,有利于实现程序的共享(通过改变重定位寄存器中存放的起始地址来达到上述效果)。因此动态地址重定位更灵活,而且它也是实现虚拟存储器的必备条件。5-14假定某程序装入主存后的首地址为36000,某时刻该程序执行了一条传送指令“MOV AX,1000”,其功能是将1000号单元内的数据送AX寄存器。试用图画出该指令执行时的地址重定位过程,并给出数据所在的物理地址(题中数字为十进制数)。5-15用上、下界防护方法如何实现界地址保护?在硬件上需要什么支持?答:上、下界防护方法是通过判断被访问的地址是否在规定的存储空间内来实现越界地址保护。在硬件上需要两个寄存器的支持:上界寄存器(用来存放规定空间的上界地址)和下界寄存器(用来存放规定空间的下界地址)。如果被访问地址介于两个寄存器存放的地址之间,则是合法访问,否则将产生越界中断。5-16什么是首次适应算法?该算法的特点是什么?答:将按空闲区首址递增的次序组织空闲区表的方式称为首次适应法。这种策略尽可能地利用低地址空间,保证在高地址空间有较大的空闲区。5-17什么是最佳适应算法?该算法的特点是什么?答:将按空闲区大小的递增的次序组织空闲区表的方式称为最佳适应法。这种策略分配给作业的分区大小总是与作业大小最接近。5-18如图5-54所示,主存中有两个空闲区(阴影部分)。现有如下作业序列:作业1要求50KB,作业2要求60KB,作业3要求70KB。若用首次适应算法和最佳适应算法来处理这个作业序列,试问:哪一种算法可以分配得下,简要说明分配过程(假

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论