操作系统第二章部分答案教学总结

合集下载

计算机操作系统(第四版)课后习题答案第二章

计算机操作系统(第四版)课后习题答案第二章

第二章之五兆芳芳创作1. 什么是前趋图?为什么要引入前趋图?答:前趋图(Precedence Graph)是一个有向无循环图,记为DAG(Directed Acyclic Graph),用于描述进程之间执行的前后关系.2. 画出下面四条诧句的前趋图:S1=a:=x+y;S2=b:=z+1;S3=c:=a-b;S4=w:=c+1;答:其前趋图为:3. 为什么程序并发执行会产生连续性特征?程序在并发执行时,由于它们同享系统资源,以及为完成同一项任务而相互协作,致使在这些并发执行的进程之间,形成了相互制约的关系,从而也就使得进程在执行期间出现连续性. 4. 程序并发执行时为什么会失去封锁性和可再现性?因为程序并发执行时,是多个程序同享系统中的各类资源,因而这些资源的状态是由多个程序来改动,致使程序的运行失去了封锁性.而程序一旦失去了封锁性也会导致其再失去可再现性.5. 在操纵系统中为什么要引入进程概念?它会产生什么样的影响?为了使程序在多道程序情况下能并发执行,并能对并发执行的程序加以控制和描述,从而在操纵系统中引入了进程概念. 影响: 使程序的并发执行得以实行.6. 试从动态性,并发性和独立性上比较进程和程序?a. 动态性是进程最根本的特性,可表示为由创建而产生,由调度而执行,因得不到资源而暂停执行,以及由撤消而消亡,因而进程由一定的生命期;而程序只是一组有序指令的荟萃,是静态实体.b. 并发性是进程的重要特征,同时也是OS的重要特征.引入进程的目的正是为了使其程序能和其它成立了进程的程序并发执行,而程序自己是不克不及并发执行的. c. 独立性是指进程实体是一个能独立运行的根本单位,同时也是系统中独立取得资源和独立调度的根本单位.而对于未成立任何进程的程序,都不克不及作为一个独立的单位来运行.7. 试说明PCB的作用?为什么说PCB是进程存在的唯一标记?a. PCB是进程实体的一部分,是操纵系统中最重要的记实型数据结构.PCB中记实了操纵系统所需的用于描述进程情况及控制进程运行所需的全部信息.因而它的作用是使一个在多道程序情况下不克不及独立运行的程序(含数据),成为一个能独立运行的根本单位,一个能和其它进程并发执行的进程.b. 在进程的整个生命周期中,系统总是通过其PCB对进程进行控制,系统是按照进程的PCB 而不是任何此外什么而感知到该进程的存在的,所以说,PCB是进程存在的唯一标记. 11.试说明进程在三个根本状态之间转换的典型原因. 答:(1)就绪状态→执行状态:进程分派到CPU资源(2)执行状态→就绪状态:时间片用完(3)执行状态→阻塞状态:I/O请求(4)阻塞状态→就绪状态:I/O 完成12.为什么要引入挂起状态?该状态有哪些性质?答:引入挂起状态处于五种不合的需要: 终端用户需要,父进程需要,操纵系统需要,对换需要和负荷调节需要.处于挂起状态的进程不克不及接收处理机调度. 10.在进行进程切换时,所要保管的处理机状态信息有哪些?答:进行进程切换时,所要保管的处理机状态信息有:(1)进程当前暂存信息(2)下一指令地址信息(3)进程状态信息(4)进程和系统调用参数及调用地址信息.13.在进行进程切换时,所要保管的处理机状态信息有哪些?答:进行进程切换时,所要保管的处理机状态信息有:(1)进程当前暂存信息(2)下一指令地址信息(3)进程状态信息(4)进程和系统调用参数及调用地址信息.14.试说明引起进程创建的主要事件. 答:引起进程创建的主要事件有:用户登录、作业调度、提供办事、应用请求.15.试说明引起进程被撤消的主要事件. 答:引起进程被撤消的主要事件有:正常结束、异常结束(越界错误、庇护错、不法指令、特权指令错、运行超时、等待超时、算术运算错、I/O 毛病)、外界干涉(操纵员或操纵系统干涉、父进程请求、父进程终止).16.在创建一个进程时所要完成的主要任务是什么?答:(1)OS 发明请求创建新进程事件后,调用进程创建原语Creat();(2)申请空白PCB;(3)为新进程分派资源;(4)初始化进程控制块;(5)将新进程拔出就绪队列.17.在撤消一个进程时所要完成的主要任务是什么?答:(1)按照被终止进程标识符,从PCB 集中检索出进程PCB,读出该进程状态. (2)若被终止进程处于执行状态,立即终止该进程的执行,臵调度标记真,指示该进程被终止后重新调度. (3)若该进程还有子进程,应将所有子孙进程终止,以防它们成为不成控进程. (4)将被终止进程拥有的全部资源,偿还给父进程,或偿还给系统. (5)将被终止进程PCB 从所在队列或列表中移出,等待其它程序搜集信息.18.试说明引起进程阻塞或被叫醒的主要事件是什么?答:a. 请求系统办事;b. 启动某种操纵;c. 新数据尚未到达;d. 无新任务可做.19. 为什么要在OS中引入线程?在OS中引入进程的目的,是为了使多个程序能并发执行,以提高资源利用率和系统吞吐量.在OS中再引入线程,则是为了削减程序在并发执行时所支出的时空开销,使OS具有更好的并发性.20.试说明线程具有哪些属性?答:(1)轻型实体(2)独立调度和分拨的根本单位(3)可并发执行(4)同享进程资源.21. 试从调度性,并发性,拥有资源及系统开销方面对进程和线程进行比较. a. 调度性.在传统的操纵系统中,拥有资源的根本单位和独立调度、分拨的根本单位都是进程,在引入线程的OS中,则把线程作为调度和分拨的根本单位,而把进程作为资源拥有的根本单位; b. 并发性.在引入线程的OS中,不但进程之间可以并发执行,并且在一个进程中的多个线程之间,亦可并发执行,因而使OS具有更好的并发性; c. 拥有资源.无论是传统的操纵系统,仍是引入了线程的操纵系统,进程始终是拥有资源的一个根本单位,而线程除了拥有一点在运行时必不成少的资源外,自己根本不拥有系统资源,但它可以拜访其隶属进程的资源; d. 开销.由于创建或撤消进程时,系统都要为之分派和收受接管资源,如内存空间等,进程切换时所要保管和设置的现场信息也要明显地多于线程,因此,操纵系统在创建、裁撤和切换进程时所支出的开销将显著地大于线程.。

操作系统第二章课后答案

操作系统第二章课后答案

第二章进程管理2、试画出下面4条语句的前趋图:S2: b:=z+1;S3: c:=a-b;S4: w:=c+1;3、程序在并发执行时,由于它们共享系统资源,以及为完成同一项任务而相互合作,致使在这些并发执行的进程之间,形成了相互制约的关系,从而也就使得进程在执行期间出现间断性。

4、程序并发执行时为什么会失去封闭性与可再现性?因为程序并发执行时,就是多个程序共享系统中的各种资源,因而这些资源的状态就是由多个程序来改变,致使程序的运行失去了封闭性。

而程序一旦失去了封闭性也会导致其再失去可再现性。

5、在操作系统中为什么要引入进程概念?它会产生什么样的影响?为了使程序在多道程序环境下能并发执行,并能对并发执行的程序加以控制与描述,从而在操作系统中引入了进程概念。

影响: 使程序的并发执行得以实行。

6、试从动态性,并发性与独立性上比较进程与程序?a、动态性就是进程最基本的特性,可表现为由创建而产生,由调度而执行,因得不到资源而暂停执行,以及由撤销而消亡,因而进程由一定的生命期;而程序只就是一组有序指令的集合,就是静态实体。

b、并发性就是进程的重要特征,同时也就是OS的重要特征。

引入进程的目的正就是为了使其程序能与其它建立了进程的程序并发执行,而程序本身就是不能并发执行的。

c、独立性就是指进程实体就是一个能独立运行的基本单位,同时也就是系统中独立获得资源与独立调度的基本单位。

而对于未建立任何进程的程序,都不能作为一个独立的单位来运行。

7、试说明PCB的作用?为什么说PCB就是进程存在的唯一标志?a、PCB就是进程实体的一部分,就是操作系统中最重要的记录型数据结构。

PCB中记录了操作系统所需的用于描述进程情况及控制进程运行所需的全部信息。

因而它的作用就是使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能与其它进程并发执行的进程。

b、在进程的整个生命周期中,系统总就是通过其PCB对进程进行控制,系统就是根据进程的PCB而不就是任何别的什么而感知到该进程的存在的,所以说,PCB就是进程存在的唯一标志。

操作系统第二章答案

操作系统第二章答案

一、问答题1. 配置在终端上的终端处理程序主要用于实现人机交互,应具有哪些功能?2、什么是系统调用?系统调用与一般过程调用的区别是什么?3、有I/O频繁、I/O与计算机均衡和计算量大的三个作业,它们同时进入主存并行工作,请给每个作业赋于运行优先数,并说明理由。

4、脱机命令接口和联机命令接口有什么不同?5、简述作业的状态有哪些?作业调度是把什么状态的作业调入到内存?6、系统调用的执行过程大体上分成哪三步?7、命令解释程序有哪两种处理方法?8、解释作业和作业调度,作业调度选择作业的必要条件是什么?9、操作系统提供哪些便于用户控制交互式作业的使用接口?10、一个具有分时兼批处理功能的操作系统应怎样调度和管理作业?为什么?二、计算题和证明1、某系统采用不能移动已在主存储器中作业的可变分区方式管理主存储器,现有供用户使用的主存空间100K,系统配有4台磁带机,有一批作业见表。

表该系统采用多道程序设计技术,对磁带机采用静态分配,忽略设备工作时间和系统进行调度所花的时间,请分别写出采用优先数算法(数字越小优先级别越高),响应比高者优先算法、短作业优先算法、先来先服务算法选中作业执行的次序。

1,2,4,5,32、试证明短作业优先调度算法能达到最短平均周转时间。

证明:假定t个作业的执行时间分别是t1,t2,t3,....,t n,则总的周转时间为T=t1+(t1+t2)+…+(t1+t2+…+t n) (t1<t2<t3<....<tn)=nt1+(n-1)t2+....+t n即t1, t1,......., t1, t2,......., t2, t3,......., t3, t2,......., t n-1, t n-1, t n之和,此序列表示为Xx1,x2,x3,...... ,x n(n+1)/2,若任意其他执行序列,则其周转时间为S=s1+(s1+s2)+…+(s1+s2+…+s n)即s1, s1,......., s1, s2,......., s2, s3,......., s3, s2,......., s n-1, s n-1, s n之和,将此序列按照数大小进行排列,得到序列Y表示为y1,y2,y3,...... ,y n(n+1)/2,因为t1<t2<t3<....<tn,所以在序列X和Y的前n项肯定满足x i≤y i,因为Y 序列中最短的时间值(等于t1的值)不会多于n个,所以从第n+1项开始其值必大于等于t2,因此在序列X和Y的前n+1,2n-1项肯定满足x i≤y i,因为Y序列中最短的时间值和次短值(等于t1或t2的值)不会多于2n-1个,所以从第2n 项开始其值必大于等于t3,因此在序列X和Y的前2n,3n-3项肯定满足x i≤y i,依次类推得到,每项都满足x i≤y i,i=1,2,3,...,n(n+1)/2因此短作业优先调度算法平均周转时间最短3、有一个多道程序设计系统,采用不允许移动的可变分区方式管理主存中的用户空间,设用户空间为100K,主存空间的分配算法为最先适应分配算法,进程调度算法采用先来先服务算法,今有如表所示作业序列:假定所有作业都是计算型作业且忽略系统调度时间,请写出采用"计算时间短的作业优先算法"时作业的装入主存时间、开始执行时间、完成时间、周转时间以及它们的平均周转时间。

操作系统第二章总结

操作系统第二章总结

第二章
多道程序目的:是为了提高系统利用率和增强系统的处理能力。

程序的特点:1)执行并发性(独立程序轮流占用CPU,而且同时处于活动状态)
2) 相互制约性(A—>B,B—>A间接:A—>B—>C直接)
3)状态多变性
并发并行的区别:并发宏观上看同一时间内多个程序一起运行
微观上是多个程序轮流执行
并行:多个程序真正在同一时间内一起运行
进程的定义:指一个程序在给定数据集合上的一次执行过程,是系统进行资源分配和运行调度的一次独立单位
※进程与程序的关系:进程是执行过程,程序是进程的基础;
进程是动态的过程,程序是静态的;
不同进程可以执行同一程序;
进程有生命周期;
进程有并发性;
进程间会相互制约
系统进程与用户进程的区别:1)系统的相互关系由操作系统负责协调,用户则由用户自己
2)系统进程可以管理软,硬件的资源,但用户对某种资源需向系统申请
3)系统优先级高
4)系统进程运行在核心态,用户进程运行在用户态
※进程的状态和状态变迁:创建,运行,就绪,阻塞,撤销
就绪/挂起(进程在外存)阻塞/挂起(进程在外存)
进程控制块PCB:进程的唯一标识标识信息
现场保护区信息
调度信息
管理信息
原语:进程的创建和撤销,进程的阻塞与唤醒,进程的挂起与激活
线程:指进程中实施处理机调度和分配的基本单位
线程优点:1)线程在进程内共享程序和资源,无需进行资源分配。

2)同一进程中的不同线程的切换是在其地址中进行的
3)线程可以在进程中访问该进程的所有资源,不用进行切换
4)同进程的线程可以相互共享资源,不用通过系统内核。

(完整版)操作系统第二章课后答案

(完整版)操作系统第二章课后答案

第二章进程管理2. 试画出下面4条语句的前趋图:S2: b:=z+1;S3: c:=a-b;S4: w:=c+1;3.程序在并发执行时,由于它们共享系统资源,以及为完成同一项任务而相互合作,致使在这些并发执行的进程之间,形成了相互制约的关系,从而也就使得进程在执行期间出现间断性。

4. 程序并发执行时为什么会失去封闭性和可再现性?因为程序并发执行时,是多个程序共享系统中的各种资源,因而这些资源的状态是由多个程序来改变,致使程序的运行失去了封闭性。

而程序一旦失去了封闭性也会导致其再失去可再现性。

5. 在操作系统中为什么要引入进程概念?它会产生什么样的影响?为了使程序在多道程序环境下能并发执行,并能对并发执行的程序加以控制和描述,从而在操作系统中引入了进程概念。

影响: 使程序的并发执行得以实行。

6. 试从动态性,并发性和独立性上比较进程和程序?a. 动态性是进程最基本的特性,可表现为由创建而产生,由调度而执行,因得不到资源而暂停执行,以及由撤销而消亡,因而进程由一定的生命期;而程序只是一组有序指令的集合,是静态实体。

b. 并发性是进程的重要特征,同时也是OS的重要特征。

引入进程的目的正是为了使其程序能和其它建立了进程的程序并发执行,而程序本身是不能并发执行的。

c. 独立性是指进程实体是一个能独立运行的基本单位,同时也是系统中独立获得资源和独立调度的基本单位。

而对于未建立任何进程的程序,都不能作为一个独立的单位来运行。

7. 试说明PCB的作用?为什么说PCB是进程存在的唯一标志?a. PCB是进程实体的一部分,是操作系统中最重要的记录型数据结构。

PCB中记录了操作系统所需的用于描述进程情况及控制进程运行所需的全部信息。

因而它的作用是使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能和其它进程并发执行的进程。

b. 在进程的整个生命周期中,系统总是通过其PCB对进程进行控制,系统是根据进程的PCB而不是任何别的什么而感知到该进程的存在的,所以说,PCB是进程存在的唯一标志。

《现代操作系统第四版》 第二章 答案

《现代操作系统第四版》 第二章 答案

现代操作系统第二章进程与线程习题1. 图2-2中给出了三个进程状态,在理论上,三个状态可以有六种转换,每个状态两个。

但是,图中只给出了四种转换。

有没有可能发生其他两种转换中的一个或两个?A:从阻塞到运行的转换是可以想象的。

假设某个进程在I/O上阻塞,而且I/O 结束,如果此时CPU空闲,该进程就可以从阻塞态直接转到运行态。

而另外一种转换(从阻塞态到就绪态)是不可能的。

一个就绪进程是不可能做任何会产生阻塞的I/O或者别的什么事情。

只有运行的进程才能被阻塞。

2.假设要设计一种先进的计算机体系结构,它使用硬件而不是中断来完成进程切换。

CPU需要哪些信息?请描述用硬件完成进程切换的工作过程。

A:应该有一个寄存器包含当前进程表项的指针。

当I/O结束时,CPU将把当前的机器状态存入到当前进程表项中。

然后,将转到中断设备的中断向量,读取另一个过程表项的指针(服务例程),然后,就可以启动这个进程了。

3.当代计算机中,为什么中断处理程序至少有一部分是用汇编语言编写的?A:通常,高级语言不允许访问CPU硬件,而这种访问是必需的。

例如,中断处理程序可能需要禁用和启用某个特定设备的中断服务,或者处理进程堆栈区的数据。

另外,中断服务例程需要尽快地执行。

(补充)主要是出于效率方面的考量。

中断处理程序需要在尽量短的时间内完成所需的必要处理,尽量减少对线程/程序流造成的影响,因此大部分情况下用汇编直接编写,跳过了通用编译过程中冗余的适配部分。

4.中断或系统调用把控制转给操作系统时,为什么通常会用到与被中断进程的栈分离的内核栈?A:内核使用单独的堆栈有若干的原因。

其中两个原因如下:首先,不希望操作系统崩溃,由于某些用户程序不允许足够的堆栈空间。

第二,如果内核将数据保留在用户空间,然后从系统调用返回,那么恶意的用户可能使用这些数据找出某些关于其它进程的信息。

5.一个计算机系统的内存有足够的空间容纳5个程序。

这些程序有一半的时间处于等待I/O的空闲状态。

计算机操作系统(第四版)课后习题答案第二章

计算机操作系统(第四版)课后习题答案第二章

计算机操作系统(第四版)课后习题答案第二章第二章1. 什么是前趨圖?為什么要引入前趨圖?答:前趨圖(Precedence Graph)是一個有向無循環圖,記為DAG(Directed Acyclic Graph),用于描述進程之間執行的前后關系。

2. 畫出下面四條詫句的前趨圖:S1=a:=x+y;S2=b:=z+1;S3=c:=a-b;S4=w:=c+1;答:其前趨圖為:3. 為什么程序并發執行會產生間斷性特征?程序在并發執行時,由于它們共享系統資源,以及為完成同一項任務而相互合作,致使在這些并發執行的進程之間,形成了相互制約的關系,從而也就使得進程在執行期間出現間斷性。

4. 程序并發執行時為什么會失去封閉性和可再現性?因為程序并發執行時,是多個程序共享系統中的各種資源,因而這些資源的狀態是由多個程序來改變,致使程序的運行失去了封閉性。

而程序一旦失去了封閉性也會導致其再失去可再現性。

GAGGAGAGGAFFFFAFAF5. 在操作系統中為什么要引入進程概念?它會產生什么樣的影響?為了使程序在多道程序環境下能并發執行,并能對并發執行的程序加以控制和描述,從而在操作系統中引入了進程概念。

影響: 使程序的并發執行得以實行。

6. 試從動態性,并發性和獨立性上比較進程和程序?a. 動態性是進程最基本的特性,可表現為由創建而產生,由調度而執行,因得不到資源而暫停執行,以及由撤銷而消亡,因而進程由一定的生命期;而程序只是一組有序指令的集合,是靜態實體。

b. 并發性是進程的重要特征,同時也是OS的重要特征。

引入進程的目的正是為了使其程序能和其它建立了進程的程序并發執行,而程序本身是不能并發執行的。

c. 獨立性是指進程實體是一個能獨立運行的基本單位,同時也是系統中獨立獲得資源和獨立調度的基本單位。

而對于未建立任何進程的程序,都不能作為一個獨立的單位來運行。

7. 試說明PCB的作用?為什么說PCB是進程存在的唯一標志?a. PCB是進程實體的一部分,是操作系統中最重要的記錄型數據結構。

操作系统原理与应用(第2版)清大版第2章习题参考答案

操作系统原理与应用(第2版)清大版第2章习题参考答案

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---所等待事件已发生。

计算机操作系统(第四版)课后习题答案第二章

计算机操作系统(第四版)课后习题答案第二章

第二章1. 什么是前趋图?为什么要引入前趋图?答:前趋图(Precedence Graph)是一个有向无循环图,记为DAG(Directed Acyclic Graph),用于描述进程之间执行的前后关系。

2. 画出下面四条诧句的前趋图:S1=a:=x+y;S2=b:=z+1;S3=c:=a-b;S4=w:=c+1;答:其前趋图为:3. 为什么程序并发执行会产生间断性特征?程序在并发执行时,由于它们共享系统资源,以及为完成同一项任务而相互合作,致使在这些并发执行的进程之间,形成了相互制约的关系,从而也就使得进程在执行期间出现间断性。

4. 程序并发执行时为什么会失去封闭性和可再现性?因为程序并发执行时,是多个程序共享系统中的各种资源,因而这些资源的状态是由多个程序来改变,致使程序的运行失去了封闭性。

而程序一旦失去了封闭性也会导致其再失去可再现性。

5. 在操作系统中为什么要引入进程概念?它会产生什么样的影响?为了使程序在多道程序环境下能并发执行,并能对并发执行的程序加以控制和描述,从而在操作系统中引入了进程概念。

影响: 使程序的并发执行得以实行。

6. 试从动态性,并发性和独立性上比较进程和程序?a. 动态性是进程最基本的特性,可表现为由创建而产生,由调度而执行,因得不到资源而暂停执行,以及由撤销而消亡,因而进程由一定的生命期;而程序只是一组有序指令的集合,是静态实体。

b. 并发性是进程的重要特征,同时也是OS的重要特征。

引入进程的目的正是为了使其程序能和其它建立了进程的程序并发执行,而程序本身是不能并发执行的。

c. 独立性是指进程实体是一个能独立运行的基本单位,同时也是系统中独立获得资源和独立调度的基本单位。

而对于未建立任何进程的程序,都不能作为一个独立的单位来运行。

7. 试说明PCB的作用?为什么说PCB是进程存在的唯一标志?a. PCB是进程实体的一部分,是操作系统中最重要的记录型数据结构。

PCB中记录了操作系统所需的用于描述进程情况及控制进程运行所需的全部信息。

(第2章操作系统的运行基础与结构)习题二答案

(第2章操作系统的运行基础与结构)习题二答案

习题二参考答案(P33)2-1什么是操作系统虚拟机?答:操作系统是最基本的系统软件,它是硬件功能的第一层扩充。

配置了操作系统的计算机称为操作系统虚拟机。

扩充了的计算机除了可以使用原来裸机提供的各种基本硬件指令,还可以使用操作系统增加的许多其它指令。

2-2在设计操作系统时,可以考虑的结构组织有哪几种?答:在设计操作系统时,可以考虑的结构组织有单体系统、层次式系统、微内核、客户机-服务器模式。

2-3什么是处理机的态?为什么要区分处理机的态?答:所谓处理机的态是指处理机当前处于何种状态,正在执行哪类程序。

操作系统是计算机系统中最重要的系统软件,为了能正确地进行管理和控制,其本身是不能被破坏的。

为此,系统应能建立一个保护环境,因此系统必须区分处理机的工作状态。

系统中有两类程序在运行,它们的任务是不同的,系统程序是管理和控制者,用户程序是被管理和被控制的对象,因此应将它们运行时处理机的工作状态区分出来,即系统必须区分二态(核态或管态、用户态)。

2-4什么是管态?什么是用户态?二者有何区别?答:处理器在执行系统程序时所处的状态称为管态;处理器在执行用户程序时所处的状态称为用户态。

处理器在管态和用户态下具有不同的权限:在管态下允许CPU使用全部资源和全部指令,其中包括一组特权指令;在用户态下禁止使用特权指令,不能直接使用系统资源与改变CPU状态,并且只能访问用户程序所在的存储空间。

2-5什么是中断?在计算机系统中为什么要引进中断?答:中断是指某个事件(例如,电源掉电、俘点运算溢出、外部设备传输完成或出错等)发生时,系统中止现运行程序的执行,引出处理事件程序对相应事件进行处理,处理完毕后返回断点继续执行。

为了实现多道程序设计技术、提高资源利用率,在计算机系统中引进中断。

2-6按中断的功能来分,中断有哪几种类型?答:按中断的功能来分,中断有如下五种类型:I/O中断外中断硬件故障中断程序性中断访管中断2-7什么是强迫性中断?什么是自愿中断?试举例说明。

(完整版)操作系统第二章作业答案

(完整版)操作系统第二章作业答案

第二章作业1.操作系统中为什么要引入进程的概念?为了实现并发进程中的合作和协调,以及保证系统的安全,操作系统在进程管理方面要做哪些工作?答:为了从变化角度动态地分析研究可以并发执行的程序,真实的反应系统的独立性、并发性、动态性和相互制约,操作系统中不得不引入进程的概念。

为了防止操作系统及其关键的数据结构如:PCB等,受到用户程序破坏,将处理机分为核心态和用户态。

对进程进行创建、撤销以及在某些进程状态之间的转换控制。

2.试描述当前正在运行的进程状态改变时,操作系统进行进程切换的步骤。

答:分为两种情况:(1):运行状态就绪状态:根据进程的自身的情况插入到就绪队列的适当位置,系统收回处理及转入进程调度程序重新进行调度。

(2):运行状态→阻塞状态:系统会调用进程调度程序重新选择一个进程投入运行。

3.现代操作系统一般都提供多任务的环境,是回答以下问题。

为支持多进程的并发执行,系统必须建立哪些关于进程的数据结构?答:系统必须建立PCB。

为支持进程的状态变迁,系统至少应该供哪些进程控制原语?答:阻塞、唤醒、挂起和激活原语。

当进程的状态变迁时,相应的数据结构发生变化吗?答:会根据状态的变迁发生相应的变化。

例如:将进程PCB中进程的状态从阻塞状态改为就绪状态,并将进程从阻塞队列摘下,投入到就绪队列中。

4.什么是进程控制块?从进程管理、中断处理、进程通信、文件管理、设备管理及存储管理的角度设计进程控制块应该包含的内容。

答:PCB:描述进程本身的特征、状态、调度信息以及对资源占有情况等的数据结构,是进程存在的唯一标识。

进程控制块所包含的内容:①进程信息描述;②CPU信息状态;③进程调度信息;④进程控制和资源占用信息。

5.假设系统就绪队列中有10个进程,这10个进程轮换执行,每隔300ms轮换一次,CPU在进程切换时所花费的时间是10ms,试问系统化在进程切换上的开销占系统整个时间的比例是多少?解:P=(10*10)/[(300+10)*10]=3.2%6.试述线程的特点及其与进程之间的关系。

操作系统第二章知识点总结

操作系统第二章知识点总结

操作系统第二章知识点总结操作系统是计算机系统中最核心的部分之一,它负责管理计算机的资源,并提供用户与计算机硬件之间的接口。

操作系统的设计和实现涉及到多个方面的知识,包括进程管理、内存管理、文件系统、输入输出等。

本文将针对操作系统第二章的知识点进行总结,主要涵盖了进程管理和线程管理、进程同步、死锁以及内存管理等方面的内容。

一、进程管理和线程管理1.1 进程的概念进程是指程序执行时的一次动态过程,是程序在执行过程中的实例。

进程是操作系统中的基本执行单元,每个进程都有自己的地址空间、代码、数据、环境变量等信息。

1.2 进程的状态操作系统中的进程通常具有多种状态,包括运行态、就绪态和阻塞态。

进程在不同的状态之间切换,这些状态的切换由操作系统的调度器完成。

1.3 进程的创建和删除进程的创建是指操作系统根据用户请求或者其他进程的要求,在内存中分配资源以及初始化进程控制块等信息。

进程的删除则是指进程执行完毕或者出现错误时,操作系统释放进程占用的资源,并将进程控制块从系统中移除。

1.4 进程的调度进程的调度是指操作系统根据一定的调度算法将就绪态的进程分配给处理器进行执行。

调度算法可以采用先来先服务、短作业优先、轮转等多种方式。

1.5 线程的概念线程是进程的一部分,是进程中的一个实体,是系统调度的基本单位。

一个进程可以包含多个线程,线程共享进程的资源。

1.6 线程的创建和删除线程的创建包括为线程分配资源、初始化线程控制块等操作。

线程的删除则是将线程控制块从系统中移除,并释放线程占用的资源。

1.7 线程的调度线程的调度是操作系统根据一定的调度算法将就绪态的线程分配给处理器进行执行。

线程调度与进程调度有一些不同之处,例如可以采用抢占式调度的方式。

二、进程同步2.1 进程同步的概念进程同步是指多个进程或者线程在对共享资源进行访问时,保证它们按照某种特定的顺序执行,避免发生竞争条件和数据不一致等问题。

2.2 临界区问题临界区是指一段代码,在同一时刻只能有一个进程或者线程执行。

计算机操作系统(第四版)课后习题答案第二章

计算机操作系统(第四版)课后习题答案第二章

第两章之阳早格格创做1. 什么是前趋图?为什么要引进前趋图?问:前趋图(Precedence Graph)是一个有背无循环图,记为DAG(Directed Acyclic Graph),用于形貌进程之间真止的前后关系.2. 绘出底下四条诧句的前趋图:S1=a:=x+y;S2=b:=z+1;S3=c:=a-b;S4=w:=c+1;问:其前趋图为:3. 为什么步调并收真止会爆收间断性个性?步调正在并收真止时,由于它们共享系统资材,以及为完毕共一项任务而相互合做,以致正在那些并收真止的进程之间,产死了相互约束的关系,进而也便使得进程正在真止功夫出现间断性.4. 步调并收真止时为什么会得去启关性战可再现性?果为步调并收真止时,是多个步调共享系统中的百般资材,果而那些资材的状态是由多个步调去改变,以致步调的运止得去了启关性.而步调一朝得去了启关性也会引导其再得去可再现性.5. 正在支配系统中为什么要引进进程观念?它会爆收什么样的效率?为了使步调正在多讲步调环境下能并收真止,并能对付并收真止的步调加以统造战形貌,进而正在支配系统中引进了进程观念. 效率: 使步调的并收真止得以真止.6. 试从动背性,并收性战独力性上比较进程战步调?a. 动背性是进程最基础的个性,可表示为由创修而爆收,由调动而真止,果得没有到资材而久停真止,以及由撤消而消得,果而进程由一定的死命期;而步调不过一组有序指令的集中,是固态真体. b. 并收性是进程的要害个性,共时也是OS的要害个性.引进进程的手段正是为了使其步调能战其余修坐了进程的步调并收真止,而步调自己是没有克没有及并收真止的. c. 独力性是指进程真体是一个能独力运止的基础单位,共时也是系统中独力赢得资材战独力调动的基础单位.而对付于已修坐所有进程的步调,皆没有克没有及动做一个独力的单位去运止.7. 试证明PCB的效率?为什么道PCB是进程存留的唯一标记?a. PCB是进程真体的一部分,是支配系统中最要害的记录型数据结构.PCB中记录了支配系统所需的用于形貌进程情况及统造进程运止所需的局部疑息.果而它的效率是使一个正在多讲步调环境下没有克没有及独力运止的步调(含数据),成为一个能独力运止的基础单位,一个能战其余进程并收真止的进程.b. 正在进程的所有死命周期中,系统经常通过其PCB对付进程举止统造,系统是根据进程的PCB而没有是所有别的什么而感知到该进程的存留的,所以道,PCB是进程存留的唯一标记.11.试证明进程正在三个基础状态之间变换的典型本果.问:(1)便绪状态→真奇迹态:进程调配到CPU 资材(2)真奇迹态→便绪状态:时间片用完(3)真奇迹态→阻塞状态:I/O哀供(4)阻塞状态→便绪状态:I/O完毕12.为什么要引进挂起状态?该状态有哪些本量?问:引进挂起状态处于五种分歧的需要: 末端用户需要,女进程需要,支配系统需要,对付换需要战背荷安排需要.处于挂起状态的进程没有克没有及交支处理机调动. 10.正在举前进程切换时,所要保存的处理机状态疑息有哪些?问:举前进程切换时,所要保存的处理机状态疑息有:(1)进程目前久存疑息(2)下一指令天面疑息(3)进程状态疑息(4)历程战系统调用参数及调用天面疑息.13.正在举前进程切换时,所要保存的处理机状态疑息有哪些?问:举前进程切换时,所要保存的处理机状态疑息有:(1)进程目前久存疑息(2)下一指令天面疑息(3)进程状态疑息(4)历程战系统调用参数及调用天面疑息.14.试证明引起进程创修的主要事变. 问:引起进程创修的主要事变有:用户登录、做业调动、提供服务、应用哀供.15.试证明引起进程被撤消的主要事变. 问:引起进程被撤消的主要事变有:平常中断、非常十分中断(越界过得、呵护错、非法指令、特权指令错、运止超时、等待超时、算术运算错、I/O 障碍)、中界搞预(支配员或者支配系统搞预、女进程哀供、女进程末止). 16.正在创修一个进程时所要完毕的主要处事是什么?问:(1)OS 创造哀供创修新进程事变后,调用进程创修本语Creat();(2)申请空黑PCB;(3)为新进程调配资材;(4)初初化进程统造块;(5)将新进程拔出便绪行列.17.正在撤消一个进程时所要完毕的主要处事是什么?问:(1)根据被末止进程标记符,从PCB 集结检索出进程PCB,读出该进程状态. (2)若被末止进程处于真奇迹态,坐时末止该进程的真止,臵调动标记真,指示该进程被末止后沉新调动. (3)若该进程另有子进程,应将所有后代进程末止,以防它们成为没有成控进程. (4)将被末止进程拥有的局部资材,送还给女进程,或者送还给系统. (5)将被末止进程PCB 从天圆行列或者列表中移出,等待其余步调支集疑息.18.试证明引起进程阻塞或者被唤醉的主要事变是什么?问:a. 哀供系统服务;b. 开用某种支配;c. 新数据尚已到达;d. 无新处事可搞.19. 为什么要正在OS中引进线程?正在OS中引进进程的手段,是为了使多个步调能并收真止,以普及资材利用率战系统吞吐量.正在OS中再引进线程,则是为了缩小步调正在并收真止时所付出的时空开销,使OS具备更佳的并收性.20.试证明线程具备哪些属性?问:(1)沉型真体(2)独力调动战分派的基础单位(3)可并收真止(4)共享进程资材.21. 试从调动性,并收性,拥有资材及系统开销圆里对付进程战线程举止比较. a. 调动性.正在保守的支配系统中,拥有资材的基础单位战独力调动、分派的基础单位皆是进程,正在引进线程的OS中,则把线程动做调动战分派的基础单位,而把进程动做资材拥有的基础单位; b. 并收性.正在引进线程的OS中,没有但是进程之间不妨并收真止,而且正在一个进程中的多个线程之间,亦可并收真止,果而使OS具备更佳的并收性; c. 拥有资材.无论是保守的支配系统,仍旧引进了线程的支配系统,进程末究是拥有资材的一个基础单位,而线程除了拥有一面正在运止时必没有成少的资材中,自己基础没有拥有系统资材,但是它不妨考察其隶属进程的资材; d. 开销.由于创修或者撤消进程时,系统皆要为之调配战回支资材,如内存空间等,进程切换时所要保存战树坐的现场疑息也要明隐天多于线程,果此,支配系统正在创修、裁撤战切换进程时所付出的开销将隐著天大于线程.。

计算机操作系统(第四版)课后习题答案第二章

计算机操作系统(第四版)课后习题答案第二章

第二章之马矢奏春创作1. 什么是前趋图?为什么要引入前趋图?答:前趋图(Precedence Graph)是一个有向无轮回图,记为DAG(Directed Acyclic Graph),用于描述进程之间实行的前后关系.2. 画出下面四条诧句的前趋图:S1=a:=x+y;S2=b:=z+1;S3=c:=a-b;S4=w:=c+1;答:其前趋图为:3. 为什么程序并发实行会产生间断性特色?程序在并发实行时,因为它们同享系统本钱,以及为完成同一项责任而互相合作,致使在这些并发实行的进程之间,形成了互相制约的关系,从而也就使得进程在实行时期消掉间断性.4. 程序并发实行时为什么会掉落去封闭性和可再现性?因为程序并发实行时,是多个程序同享系统中的各类本钱,因而这些本钱的状态是由多个程序来修改,致使程序的运行掉落去了封闭性.而程序一旦掉落去了封闭性也会导致其再掉落去可再现性.5. 在操纵系统中为什么要引入进程概念?它会产生什么样的影响?为了使程序在多道程序情况下能并发实行,并能对并发实行的程序加以控制和描述,从而在操纵系统中引入了进程概念. 影响: 使程序的并发实行得以时间:二O二一年七月二十九日实行.6. 试从动态性,并发性和自力性上比较进程和程序?a. 动态性是进程最底子的特色,可表示为由创建而产生,由调解而实行,因得不到本钱而暂停实行,以及由撤消而消亡,因而进程由必定的生命期;而程序只是一组有序指令的集合,是静态实体.b. 并发性是进程的主要特色,同时也是OS的主要特色.引入进程的目的恰是为了使其程序能和其它建立了进程的程序并发实行,而程序本身是不克不及并发实行的.c. 自力性是指进程实体是一个能自力运行的底子单位,同时也是系统中自力获得本钱和自力调解的底子单位.而对于未建立任何进程的程序,都不克不及作为一个自力的单位来运行. 7. 试说明PCB的传染感动?为什么说PCB是进程消掉的独一标记?a. PCB是进程实体的一部分,是操纵系统中最主要的记录型数据机关.PCB中记录了操纵系统所需的用于描述进程情况及控制进程运行所需的全部信息.因而它的传染感动是使一个在多道程序情况下不克不及自力运行的程序(含数据),成为一个能自力运行的底子单位,一个能和其它进程并发实行的进程.b. 在进程的全部生命周期中,系统老是经由进程其PCB对进程进行控制,系统是按照进程的PCB而不是任何此外什么而感知到该进程的消掉的,所以说,PCB是进程消掉的独一标记.11.试说明进程在三个底子状态之间转换的范例原因.时间:二O二一年七月二十九日答:(1)就绪状态→实行状态:进程分拨到CPU 本钱(2)实行状态→就绪状态:时间片用完(3)实行状态→壅塞状态:I/O请求(4)壅塞状态→就绪状态:I/O完成12.为什么要引入挂起状态?该状态有哪些性质?答:引入挂起状态处于五种不合的需要: 终端用户需要,父进程需要,操纵系统需要,对换需要和负荷调节需要.处于挂起状态的进程不克不及接收处理机调解. 10.在进行进程切换时,所要保管的处理机状态信息有哪些?答:进行进程切换时,所要保管的处理机状态信息有:(1)进程当前暂存信息(2)下一指令地址信息(3)进程状态信息(4)进程和系统调用参数及调用地址信息.13.在进行进程切换时,所要保管的处理机状态信息有哪些?答:进行进程切换时,所要保管的处理机状态信息有:(1)进程当前暂存信息(2)下一指令地址信息(3)进程状态信息(4)进程和系统调用参数及调用地址信息. 14.试说明引起进程创建的主要事宜. 答:引起进程创建的主要事宜有:用户登录、作业调解、供应办事、应用请求.15.试说明引起进程被撤消的主要事宜. 答:引起进程被撤消的主要事宜有:正常停滞、平凡停滞(越界错误、呵护错、不法指令、特权指令错、运行超时、等待超时、算术运算错、I/O 缺点)、外时间:二O二一年七月二十九日时间:二O 二一年七月二十九日界干与(操纵员或操纵系统干与、父进程请求、父进程终止).16.在创建一个进程时所要完成的主要责任是什么?答: (1)OS 创造请求创建新进程事宜后,调用进程创建原语Creat(); (2)申请空白PCB ; (3)为新进程分拨本钱; (4)初始化进程控制块; (5)将新进程拔出就绪队列.17.在撤消一个进程时所要完成的主要责任是什么?答: (1)按照被终止进程标识符,从PCB 分离检索出进程PCB,读出该进程状态. (2)若被终止进程处于实行状态,连忙终止该进程的实行,臵调解标记真,指点该进程被 终止后从新调解. (3)若该进程还有子进程,应将所有子孙进程终止,以防它们成为不成控进程. (4)将被终止进程掉去的全部本钱,了债给父进程,或了债给系统. (5)将被终止进程PCB 从地点队列或列表中移出,等待其它程序汇集信息.18.试说明引起进程壅塞或被唤醒的主要事宜是什么?答:a. 请求系统办事;b. 启动某种操纵;c. 新数据尚未到达;d. 无新责任可做. 19. 为什么要在OS 中引入线程?在OS 中引入进程的目的,是为了使多个程序能并发实行,以提高本钱应用率和系 统吞吐量.在OS 中再引入线程,则是为了削减程序在并发实行时所支出的时空开销,使OS 具有更好的并发性.20.试说明线程具有哪些属性?答:(1)轻型实体(2)自力调解和分拨的底子单位(3)可并发实行(4)同享进程本钱.21. 试从调解性,并发性,掉去本钱及系统开销方面对进程和线程进行比较. a. 调解性.在传统的操纵系统中,掉去本钱的底子单位和自力调解、分拨的底子单位都是进程,在引入线程的OS中,则把线程作为调解和分拨的底子单位,而把进程作为本钱掉去的底子单位; b. 并发性.在引入线程的OS中,不但进程之间可以并发实行,并且在一个进程中的多个线程之间,亦可并发实行,因而使OS具有更好的并发性; c. 掉去本钱.无论是传统的操纵系统,照样引入了线程的操纵系统,进程始终是掉去本钱的一个底子单位,而线程除了掉去一点在运行时必不成少的本钱外,本身底子不掉去系统本钱,但它可以访问其从属进程的本钱; d. 开销.因为创建或撤消进程时,系统都要为之分拨和收受接收本钱,如内存空间等,进程切换时所要保管和设置的现场信息也要显著地多于线程,是以,操纵系统在创建、裁撤和切换进程时所支出的开销将显著地大于线程.时间:二O二一年七月二十九日。

操作系统第二版第二章课后习题答案

操作系统第二版第二章课后习题答案

第二章进程和线程作业答案1,2,4,6,7,10,11,12,14, 211.在操作系统中为什么要引入进程概念?它与程序的差别和关系是怎样的?答:由于多道程序的并发执行时共享系统资源,共同决定这些资源的状态,因此系统中各程序在执行过程中就出现了相互制约的新关系,程序的执行出现“走走停停”的新状态。

用程序这个静态概念已经不能如实反映程序并发执行过程中的这些特征。

为此,人们引入“进程(Process)”这一概念来描述程序动态执行过程的性质。

进程和程序是两个完全不同的概念。

进程与程序的主要区别:进程和程序之间存在密切的关系:进程的功能是通过程序的运行得以实现的,进程活动的主体是程序,进程不能脱离开具体程序而独立存在。

2.PCB的作用是什么?它是怎样描述进程的动态性质的?答:PCB是进程组成中最关键的部分。

每个进程有惟一的进程控制块;操作系统根据PCB对进程实施控制和管理,进程的动态、并发特征是利用PCB表现出来的;PCB是进程存在的唯一标志。

PCB中有表明进程状态的信息,该进程的状态包括运行态、就绪态和阻塞态,它利用状态信息来描述进程的动态性质。

4. 用如图2-26所示的进程状态转换图能够说明有关处理机的大量容。

试回答:①什么事件引起每次显著的状态变迁?②下述状态变迁因果关系能否发生?为什么?(A)2→1 (B)3→2 (C)4→1答:(1)就绪→运行:CPU空闲,就绪态进程被调度程序选中运行→阻塞:运行态进程因某种条件未满足而放弃CPU的占用。

阻塞→就绪:阻塞态进程所等待的事件发生了。

运行→就绪:正在运行的进程用完了本次分配给它的时间片(2)下述状态变迁(A)2→1,可以。

运行进程用完了本次分配给它的时间片,让出CPU,从就绪队列中选一个进程投入运行。

(B)3→2,不可以。

任何时候一个进程只能处于一种状态,它既然由运行态变为阻塞态,就不能再变为就绪态。

(C)4→1,可以。

某一阻塞态进程等到的事件出现了,而且此时就绪队列为空,该进程进入就绪队列后马上又被调度运行。

操作系统课后习题答案总结

操作系统课后习题答案总结
a. PCB是进程实体的一部分,是操作系统中最重要的记录型数据结构.PCB中记录了操作系统所需的用于
描述进程情况及控制进程运行所需的全部信息.因而它的作用是使一个在多道程序环境下不能独立运行
的程序(含数据),成为一个能独立运行的基本单位,一个能和其它进程并发执行的进程.
b. 在进程的整个生命周期中,系统总是通过其PCB对进程进行控制,系统是根据进程的PCB而不是任何别
第一章os引论
1. 设计现代OS的主要目标是什么?
方便性,有效性,可扩充性和开放性.
2. OS的作用可表现为哪几个方面?
a. OS作为用户与计算机硬件系统之间的接口;
b. OS作为计算机系统资源的管理者;
c. OS作为扩充机器.
3. 试说明推动多道批处理系统形成和发展的主要动力是什么?
不断提高计算机资源利用率和系统吞吐量的需要;
3. 程序并发执行为什么会产生间断性?
因为程序在并发执行过程中存在相互制约性.
4. 程序并发执行为何会失去封闭性和可再现性?
因为程序并发执行时,多个程序共享系统中的各种资源,资源状态需要多个程序来改变,即存在资源共
享性使程序失去封闭性;而失去了封闭性导致程序失去可再现性.
5. 在操作系统中为什么要引入进程概念?它会产生什么样的影响?
Multiprocesing Model).
b. 前者易于实现,但资源利用率低.
---后者优点是允许多个进程同时运行,缺点是必须小心控制I/O,以保证能将数据送至适当的处理器,
同时还必须注意使各CPU的负载平衡.
23 试说明网络OS的主要功能.
a. 网络通信;
b. 资源管理;
c. 网络服务;
d. 网络管理;
19 MS-DOS由哪几部分组成?每部分的主要功能是什么?

计算机操作系统第四版课后习题答案第二章之欧阳道创编

计算机操作系统第四版课后习题答案第二章之欧阳道创编

第二章1. 什么是前趋图?为什么要引入前趋图?答:前趋图(Precedence Graph)是一个有向无循环图,记为DAG(Directed Acyclic Graph),用于描述进程之间执行的前后关系。

2. 画出下面四条诧句的前趋图:S1=a:=x+y;S2=b:=z+1;S3=c:=ab;S4=w:=c+1;答:其前趋图为:3. 为什么法度并发执行会产生间断性特征?法度在并发执行时,由于它们共享系统资源,以及为完成同一项任务而相互合作,致使在这些并发执行的进程之间,形成了相互制约的关系,从而也就使得进程在执行期间呈现间断性。

4. 法度并发执行时为什么会失去封闭性和可再现性?因为法度并发执行时,是多个法度共享系统中的各种资源,因而这些资源的状态是由多个法度来修改,致使法度的运行失去了封闭性。

而法度一旦失去了封闭性也会招致其再失去可再现性。

欧阳道创编2021.03.065. 在操纵系统中为什么要引入进程概念?它会产生什么样的影响?为了使法度在多道法度环境下能并发执行,并能对并发执行的法度加以控制和描述,从而在操纵系统中引入了进程概念。

影响: 使法度的并发执行得以实行。

6. 试从静态性,并发性和自力性上比较进程和法度?a. 静态性是进程最基本的特性,可表示为由创建而产生,由调度而执行,因得不到资源而暂停执行,以及由撤消而消亡,因而进程由一定的生命期;而法度只是一组有序指令的集合,是静态实体。

b. 并发性是进程的重要特征,同时也是OS的重要特征。

引入进程的目的正是为了使其法度能和其它建立了进程的法度并发执行,而法度自己是不克不及并发执行的。

c. 自力性是指进程实体是一个能自力运行的基本单位,同时也是系统中自力获得资源和自力调度的基本单位。

而对未建立任何进程的法度,都不克不及作为一个自力的单位来运行。

7. 试说明PCB的作用?为什么说PCB是进程存在的唯一标记?a. PCB是进程实体的一部分,是操纵系统中最重要的记录型数据结构。

计算机操作系统第四版课后习题答案第二章之欧阳地创编

计算机操作系统第四版课后习题答案第二章之欧阳地创编

第二章1. 什么是前趋图?为什么要引入前趋图?答:前趋图(Precedence Graph)是一个有向无循环图,记为DAG(Directed Acyclic Graph),用于描述进程之间执行的前后关系。

2. 画出下面四条诧句的前趋图:S1=a:=x+y;S2=b:=z+1;S3=c:=ab;S4=w:=c+1;答:其前趋图为:3. 为什么法度并发执行会产生间断性特征?法度在并发执行时,由于它们共享系统资源,以及为完成同一项任务而相互合作,致使在这些并发执行的进程之间,形成了相互制约的关系,从而也就使得进程在执行期间呈现间断性。

4. 法度并发执行时为什么会失去封闭性和可再现性?因为法度并发执行时,是多个法度共享系统中的各种资源,因而这些资源的状态是由多个法度来修改,致使法度的运行失去了封闭性。

而法度一旦失去了封闭性也会招致其再失去可再现性。

欧阳地创编5. 在操纵系统中为什么要引入进程概念?它会产生什么样的影响?为了使法度在多道法度环境下能并发执行,并能对并发执行的法度加以控制和描述,从而在操纵系统中引入了进程概念。

影响: 使法度的并发执行得以实行。

6. 试从静态性,并发性和自力性上比较进程和法度?a. 静态性是进程最基本的特性,可表示为由创建而产生,由调度而执行,因得不到资源而暂停执行,以及由撤消而消亡,因而进程由一定的生命期;而法度只是一组有序指令的集合,是静态实体。

b. 并发性是进程的重要特征,同时也是OS的重要特征。

引入进程的目的正是为了使其法度能和其它建立了进程的法度并发执行,而法度自己是不克不及并发执行的。

c. 自力性是指进程实体是一个能自力运行的基本单位,同时也是系统中自力获得资源和自力调度的基本单位。

而对未建立任何进程的法度,都不克不及作为一个自力的单位来运行。

7. 试说明PCB的作用?为什么说PCB是进程存在的唯一标记?a. PCB是进程实体的一部分,是操纵系统中最重要的记录型数据结构。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

26. 假定有如下独木桥问题:过桥时,同一方向的行人可连续过桥,当某一方向有人过桥时,另一方向的行人必须等待;当某一方向无人过桥时,另一方向的行人可以过桥。

试用信号量机制解决。

答:(1) 将独木桥的两个方向分别标记为A和B。

用整型变量countA和countB分别表示A、B方向上已在独木桥上的行人数,初值都设置为0。

需要设置三个初值都为1的互斥信号量:MA用来实现对countA的互斥访问,MB用来实现对countB的互斥访问,mutex用来实现两个方向的行人对独木桥的互斥使用。

(2)以下使用信号量机制对A方向上的行人过桥和B方向上的行人过桥的算法进行描述:int countA, countB;countA = 0; countB = 0;Semaphore MA,MB,mutex; //定义了三个互斥信号量MA.value=1; MB.value=1; mutex.value=1;cobeginprocess A_direction_cross_bridge_person //A方向上过独木桥的行人进程{P(MA); //实现对临界资源countA的互斥访问//当A方向上没有行人过独木桥时,这时有可能存在B方向上的行人在过独木桥。

if (countA == 0)P(mutex); //如果当前独木桥正在被使用,说明B方向上的行人正在过桥,则A方向上的行人必须等待。

countA=countA+1; //当B方向上没有行人过桥时,则A方向上的行人可以过独木桥。

因此A方向上已在独木桥上的行人数增加1个V(MA); //退出临界区过桥;//A方向上的行人通过独木桥P(MA); //实现对临界资源countA的互斥访问countA=countA-1; //当A方向上的行人已经通过了独木桥时,则A方向上在独木桥上的行人数需要减少1个if(countA==0) //如果A方向上在独木桥上的行人数减少到0,则V(mutex); //需要释放独木桥临界资源,唤醒第一个由于在等待独木桥而处于等待状态的B 方向上过独木桥的行人进程(如果此进程存在)V(MA); //退出临界区}process B_direction_cross_bridge_person //B方向上过独木桥的行人进程{P(MB); //实现对临界资源countB的互斥访问//当B方向上没有行人过独木桥时,这时有可能存在A方向上的行人在过独木桥。

if (countB==0)P(mutex); //如果当前独木桥正在被使用,说明A方向上的行人正在过桥,则B方向上的行人必须等待。

countB=countB+1; //当A方向上没有行人过桥时,则B方向上的行人可以过独木桥。

因此B 方向上已在独木桥上的行人数增加1个V(MB); //退出临界区过桥;//B方向上的行人通过独木桥P(MB); //实现对临界资源countB的互斥访问countB=countB-1; //当B方向上的行人已经通过了独木桥时,则B方向上在独木桥上的行人数需要减少1个if(countB==0) //如果B方向上在独木桥上的行人数减少到0,则V(mutex); //需要释放独木桥临界资源,唤醒第一个由于在等待独木桥而处于等待状态的A 方向上过独木桥的行人进程(如果此进程存在)V(MB); //退出临界区}coend27.有7个并发执行的进程Pi(i=1,2, …,7),若希望它们按照如下图所示的次序执行,试写出进程并发执行的算法。

Semaphore S[8]; //定义一个大小等于8的结构型信号量数组for(int i=0;i<8;i++) S[i].V alue=0;process PP(){cobegin //伪代码cobegin和coend表示夹在它们之间的语句可以并发执行{P1; V(S[1]);}{P2; V(S[0]);}{P(S[0]); P(S[1]); P3; V(S[2]); V(S[3]); V(S[4]);}{P(S[2]); P4; V(S[5]);}{P(S[4]); P5; V(S[6]);}{P(S[5]); P(S[3]); P6; V(S[7]);}{P(S[7]); P(S[6]); P7;}coend}29.在公共汽车上,司机的活动描述为:启动汽车、正常行车、到站停车;售票员的活动描述为:关车门、售票、开车门;试写出司机与售票员之间的同步算法。

答:在汽车行驶过程中,司机活动与售票员活动之间的同步关系为:售票员关车门后,向司机发开车信号,司机接到开车信号后启动汽车,在汽车正常行驶过程中售票员售票,到站时司机停车,售票员在车停后开车门让乘客上下车。

因此司机启动汽车的动作必须与售票员关车门的动作取得同步,而售票员开车门的动作也必须与司机到站停车的动作取得同步。

在本题中,应设置两个信号量S1和S2。

S1表示是否允许司机启动汽车(或表示售票员是否已经关好车门),其初值为0;S2表示是否允许售票员开门(或表示司机是否已经到站停车了),其初值为0.采用信号量机制描述司机与售票员之间的同步算法如下:Semaphore S1,S2; //首先定义两个信号量S1和S2S1.value=0; S2.value=0;cobeginprocess driver() process conductor(){ {while(1) while(1){ {P(S1); 关车门;启动汽车; V(S1);正常行车; 售票;到站停车; P(S2);V(S2); 开车门;} 上下乘客;}} }coend我们来分析这个过程,首先将信号量S1和S2的初值都设为0.然后进行以下分析:1.P(S1) :S1.value = S1.value - 1 = -1 < 0 ,那么司机进程就自己阻塞起来,等待售票员进程,售票员关车门。

2.V(S1) :S1.value = S1.value + 1 = 0 <= 0,唤醒司机进程,那么司机就开始启动汽车、正常行车;在此期间,售票员也可以同时进行售票。

3.P(S2) :S2.value = S2.value - 1 = -1 < 0 ,那么售票员在售完票后,售票员进程就会自己阻塞起来,等待司机进程。

这样就能避免当司机还没到站停车时,售票员就已经将车门打开了。

而这是不允许的。

4.V(S2) :S2.value = S2.value + 1 = 0 <= 0,司机到站停车之后,就唤醒售票员进程,那么售票员就开启车门让乘客上下车。

那么这个进程就完成了。

30.一个阅览室共有100个座位,用一张表来管理,每个表目记录座位号和读者姓名。

读者进入时要先在表上登记,离开时要注销登记。

试写出读者“进入”和“注销”之间的同步算法。

答:读者的动作有两个,一是填表进入阅览室读书,这时要考虑阅览室里是否有座位;二是读者阅读完毕,需要注销登记再离开阅览室,这时的操作要考虑阅览室里是否有读者存在。

读者在阅览室读书时,由于没有引起资源的变动,不算动作变化。

因此,设置算法所涉及的三个信号量:empty资源信号量——表示阅览室里的空座位的数目,初值为100;full资源信号量——表示阅览室里有人的座位的数目(或表示阅览室里的读者的数目),初值为0;mutex互斥信号量——表示对登记表这个临界资源的互斥访问,初值设为1。

使用信号量机制对读者“进入”阅览室和“注销”登记之间的同步算法描述如下:Semaphore empty,full,mutex; //首先定义两个资源信号量empty、full和一个互斥信号量mutex empty.value=100; full.value=0;mutex.value=1;cobeginprocess getin() //读者“进入”阅览室的进程{while(1){P (empty); //没有座位则离开P (mutex); //进入临界区填写登记表;进入阅览室读书;V (mutex); //离开临界区V (full); //释放一个读者资源}}process getout () //读者“注销”登记、离开阅览室的进程{while(1){P(full); //阅览室是否有人在读书(是否存在有人的座位)P(mutex); //进入临界区注销登记;离开阅览室;V(mutex); //离开临界区V(empty); //释放一个座位资源}}coend32.假定有3个进程R、W1、W2共享一个缓冲区B,B中每次只能存放一个整数。

进程R 从输入设备读入一个数进缓冲区B。

若读入的是奇数,则由进程W1取出打印;若读入的是偶数,则由进程W2取出打印。

规定不能重复从B中取数打印。

试写出同步算法。

答:需要设置3个信号量:(1)信号量empty用于表示进程R可向缓冲区B中读入的整数个数,初值为1,表示进程R能读入一个整数到缓冲区B中。

(2)信号量SW1的初值为0,表示开始时缓冲区B中没有奇数可供进程W1读取。

SW1控制R 与W1之间的同步。

(3)信号量SW2的初值为0,表示开始时缓冲区B中没有偶数可供进程W2读取。

SW2控制R 与W2之间的同步。

使用信号量机制对这三个进程的同步算法描述如下:Semaphore empty,SW1,SW2; //首先定义3个信号量empty.value=1;SW1.value=0;SW2.value=0;cobeginprocess R(){int x;while(1){从输入设备上读一个整数到x;P(empty); //判断进程R能否向缓冲区B中读入一个整数。

如果不可以,则R进程阻塞起来等待。

否则,继续向下执行。

B=x; //把读入到变量x中的整数赋值给缓冲区Bif(x%2==1)V(SW1); //如果读入的是奇数,则向进程W1发出信号elseV(SW2); //如果读入的是偶数,则向进程W2发出信号}}process W1(){int y;while(1){P(SW1); //收到R发过来的信号,已产生一个奇数y=B; //取出缓冲区B中的奇数到变量y中打印y中的数;V(empty); //向R发出信号,使进程R又可以向缓冲区B读入一个整数}}process W2(){int z;while(1){P(SW2); //收到进程R发过来的信号,已产生一个偶数z=B; //取出缓冲区B中的偶数到变量z中打印z中的数;V(empty); //向R发出信号,使进程R又可以向缓冲区B读入一个整数}}coend。

相关文档
最新文档