操作系统课后习题答案 2 进程答案
- 格式:doc
- 大小:19.50 KB
- 文档页数:7
第二章进程管理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. 习题一a) 内容描述:- 系统调用是操作系统提供给用户程序的一组接口,用于访问操作系统的功能和服务。
- 系统调用是以进程的方式运行的,通过软中断或硬中断触发,并返回一个状态值,表示系统调用的执行结果。
b) 答案:系统调用的主要目的是提供一种安全的方式,让用户程序能够访问操作系统的特权功能。
通过系统调用,用户程序可以进行文件操作、网络通信、进程管理等功能。
2. 习题二a) 内容描述:- 进程是计算机中正在运行的程序的实例。
- 进程由程序代码、相关数据和执行上下文组成。
- 进程拥有自己的虚拟内存空间、寄存器状态和资源。
- 进程可以通过操作系统的调度机制进行切换和调度。
b) 答案:进程的主要特征包括并发性、独立性和随机性。
并发性指的是多个进程可以同时存在和执行;独立性指的是进程拥有独立的资源和执行上下文;随机性指的是进程的执行顺序和时间不确定。
3. 习题三a) 内容描述:- 死锁是指两个或多个进程因为竞争有限的资源而无法继续执行的状态。
- 死锁发生的原因包括互斥、占有且等待、不可抢占和循环等待。
b) 答案:死锁的预防和避免是操作系统中重要的问题。
预防死锁的方法包括破坏死锁产生的条件,如破坏互斥条件、破坏占有且等待条件等;避免死锁的方法包括资源分配图和银行家算法。
4. 习题四a) 内容描述:- 页面置换算法是操作系统中用于管理虚拟内存的重要手段。
- 页面置换算法的目标是在有限的物理内存空间中有效地管理大量的进程和页面。
- 常见的页面置换算法有FIFO、LRU和LFU等。
b) 答案:页面置换算法的选择依赖于系统的具体需求和资源限制。
FIFO算法是最简单的页面置换算法,它总是选择最先进入内存的页面进行置换;LRU算法则是根据页面最近被访问的频率进行置换;LFU算法是根据页面被访问的次数进行置换。
5. 习题五a) 内容描述:- 文件系统是操作系统中负责管理文件和目录的一组服务和数据结构。
操作系统第⼆章进程的描述与控制题⽬1-1. 下⾯对进程的描述中,错误的是。
A.进程是动态的概念B. 进程执⾏需要处理机C.进程是有⽣命周期的D. 进程是指令的集合【答案】D动态的,有⽣命周期的。
【解析】【解析】程序是指令的集合。
⽽进程是程序的⼀次执⾏,是动态的,有⽣命周期的。
1-2. 分配到必要的资源并获得处理机时的进程状态是 ()A. 就绪状态B. 执⾏状态C. 阻塞状态D. 撤消状态【答案】B【解析】分配到必要地资源获得处理机时的进程状态是执⾏状态。
1-3.程序的顺序执⾏通常在①的⼯作环境中,具有以下特征②。
程序的并发执⾏在③的⼯作环境中,具有如下特征④。
A. 单道程序B.多道程序C. 程序的可再现性D. 资源共享【答案】①A ②C ③B ④D。
【解析】程序的顺序执⾏通常在单道程序的⼯作环境中,具有程序结果的可再现性特征;程序的并发执⾏在多道程序的⼯作环境中,具有共享资源的特征。
1-4. 下列进程状态变化中,变化是不可能发⽣的A. 运⾏——就绪B.运⾏—— 等待C. 等待——运⾏D. 等待——就绪【答案】C【解析】当调度程序为某就绪状态的进程分配了处理机时,该进程便由就绪状态变为执⾏状态;正在执⾏的进程因等待发⽣某事件⽽⽆法执⾏时,该进程由执⾏状态变为等待状态;当处于等待状态的进程所等待的事件发⽣时,该进程由等待状态变为就绪状态;正在执⾏的进程如因时间⽚⽤完⽽暂停执⾏,该进程由执⾏状态变为就绪状态。
等待——运⾏不可能发⽣,就绪—— 等待不可能发⽣。
运⾏不可能发⽣,就绪唯⼀的双向箭头是运⾏运⾏——就绪,就绪——运⾏唯⼀的双向箭头是1-5. 当时,进程从执⾏状态转变为就绪状态。
A. 进程被调度程序选中B. 时间⽚到C. 等待某⼀事件D.等待的事件发⽣【答案】B。
【解析】正在执⾏的进程,如因时间⽚⽤完⽽暂停执⾏,则该进程由执⾏状态转变为就绪状态。
就绪——运⾏ C. 等待某⼀事件运⾏—— 阻塞 D.等待的事件发⽣等待——就绪A. 进程被调度程序选中,进程被调度程序选中,就绪1-6. 如果系统中有n个进程,则就绪队列中进程的个数最多为。
第一章操作系统概述课后习题1. 硬件将处理机划分为两种状态,即管态和目态,这样做给操作系统设计带来什么好处 ? 答:便于设计安全可靠的操作系统。
管态和目态是计算机硬件为保护操作系统免受用户程序的干扰和破坏而引入的两种状态。
通常操作系统在管态下运行,可以执行所有机器指令;而用户程序在目态下运行,只能执行非特权指令。
如果用户程序企图在目态下执行特权指令,将会引起保护性中断,由操作系统终止该程序的执行,从而保护了操作系统。
2. 何为特权指令?举例说明之。
如果允许用户执行特权指令,会带来什么后果?答:只能在态下才能执行的指令称为特权指令。
如开关中断、置程序状态寄存器等。
如果允许用户执行特权指令,它将不仅影响当前运行的程序,而且还有可能影响操作系统的正常运行,甚至整个系统。
3. 中断向量在机器中的存储位置是由硬件确定的,还是由软件确定的 ? 答:中断向量在机器中的位置是由硬件确定的。
例如,在 INTEL 80x86 CPU 中,内存空间0x00000——0x003ff为中断向量空间。
4. 中断向量的内容是由操作系统程序确定的还是由用户程序确定的?答:中断向量的内容是由操作系统程序确定的。
向量的内容包括中断处理程序的入口地址和程序状态字(中断处理程序运行环境),中断处理程序是由操作系统装入内存的,操作系统将根据装入的实际地址和该中断处理程序的运行环境来填写中断向量。
5. 中断向量内的处理机状态位应当标明是管态还是目态 ? 为什么? 答:应当标明是管态。
该状态由系统初试化程序设置,这样才能保证中断发生后进入操作系统规定的中断处理程序。
6. 中断和程序并发之间的关系是什么?答:中断是程序并发的必要条件。
如果没有中断,操作系统不能获得系统控制权,无法按调度算法对处机进行重新分配,一个程序将一直运行到结束而不会被打断。
7. 说明“栈”和“堆”的差别.答:栈是一块按后进先出(FIFO)规则访问的存储区域,用来实现中断嵌套和子程序调用的参数和返回断点。
计算机操作系统课后习题答案第四版计算机操作系统课后习题答案(第四版)计算机操作系统是计算机系统中至关重要的组成部分,它负责管理和控制计算机的硬件和软件资源,为用户提供一个方便、高效、可靠的工作环境。
下面是对计算机操作系统第四版课后习题的答案解析。
一、操作系统的概念1、什么是操作系统?它的主要功能有哪些?操作系统是管理计算机硬件与软件资源的程序,是计算机系统的内核与基石。
它的主要功能包括处理机管理、存储器管理、设备管理、文件管理和用户接口管理等。
处理机管理负责合理分配和调度 CPU 资源,提高 CPU 利用率;存储器管理负责管理内存空间的分配、回收和保护;设备管理负责对外部设备进行有效管理和控制;文件管理负责对文件的存储、检索、共享和保护;用户接口管理则为用户提供了方便的操作界面。
2、操作系统有哪些分类?操作系统可以按照不同的标准进行分类。
按照用户数量,可分为单用户操作系统和多用户操作系统;按照任务数,可分为单任务操作系统和多任务操作系统;按照系统功能,可分为批处理操作系统、分时操作系统、实时操作系统、网络操作系统和分布式操作系统等。
1、什么是进程?进程和程序有什么区别?进程是程序在一个数据集合上的一次执行过程,是系统进行资源分配和调度的基本单位。
进程与程序的区别在于:程序是静态的指令集合,而进程是动态的执行过程;程序可以长期保存,进程具有生命周期;进程具有并发性,而程序没有;进程由程序、数据和进程控制块(PCB)组成。
2、进程的三种基本状态是什么?它们之间是如何转换的?进程的三种基本状态是就绪状态、执行状态和阻塞状态。
当进程已获得除CPU 以外的所有必要资源,只要再获得CPU 便可立即执行时,处于就绪状态;当进程正在 CPU 上运行时,处于执行状态;当进程因等待某一事件而暂时无法继续执行时,处于阻塞状态。
就绪状态到执行状态是通过进程调度实现的;执行状态到就绪状态是时间片用完或出现更高优先级的进程;执行状态到阻塞状态是进程因等待某事件而主动放弃 CPU;阻塞状态到就绪状态是等待的事件发生。
2. 进程和线程的管理例题解析例试说明进程和程序之间的区别和联系。
解进程和程序是既有区别又有联系的两个概念。
进程是动态的,程序是静态的。
程序是一组有序的指令集合,是一个静态的概念;进程则是程序及其数据在计算机上的一次执行,是一个动态的集合。
离开了程序,进程就失去了存在的意义,但同一程序在计算机上的每次运行将构成不同的进程。
程序可看作是电影的胶片,进程可以看作电影院放电影的过程。
一个进程可以执行多个程序,如同一个电影院的一场电影可放映多部影片。
一个程序可被多个进程执行,如同多个影院同时利用一个电影的胶片放映同一部电影。
程序可以长期保存,进程只能存在于一段时间。
程序是永久存在的,而进程有从被创建到消亡的生命周期。
例举例说明多道程序系统失去了封闭性和再现性。
解例如,有两个循环程序A和B,共享一个变量N。
程序A每执行一次时,都要做N:=N+1操作;程序B则每执行一次时,都要执行print(N)操作,然后再将N的值置成“0”。
程序A 和B在多道程序系统中同时运行。
假定某时刻变量N的值为n,可能出现下述三种情况:N:=N+1 在print(N)和N:=0之前,此时得到N值变化过程为n+1、n+1、0;N:=N+1 在print(N)和N:=0之后,此时得到N值变化过程为n 、0 、1;N:=N+1 在print(N)之后和N:=0之前,此时得到N值变化过程为n、n+1、0。
所以,在A、B程序多次执行过程中,虽然其每次执行时的环境和初始条件都相同,但每次得到的结果却不一定相同。
例为什么将进程划分成执行、就绪和阻塞三个基本状态解根据多道程序执行的特点,进程的运行是走走停停的。
因此进程的初级状态应该是执行和等待状态。
处于执行状态的进程占用处理机执行程序,处于等待状态的进程正在等待处理机或者等待其它某种事件的发生。
但是,当处理机空闲时,并不是所有处于等待状态的进程都能放到处理机上执行,有的进程即使分配给它处理机,它也不能执行,因为它的执行的条件没有得到满足。
现代操作系统第四版第二章答案现代操作系统第二章进程与线程习题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的空闲状态。
C.DCT D.FCB5.一个进程被唤醒,意味着该进程 D 。
A.重新占有CPU B.优先级变为最大C.移至等待队列之首 D.变为就绪状态6.由各作业JCB形成的队列称为 C 。
A.就绪作业队列 B.阻塞作业队列C.后备作业队列 D.运行作业队列7.既考虑作业等待时间,又考虑作业执行时间的作业调度算法是 A 。
A.响应比高者优先B.短作业优先C.优先级调度D.先来先服务8.作业调度程序从处于 D 状态的队列中选取适当的作业投入运行。
A.就绪 B.提交C.等待 D.后备9. A 是指从作业提交系统到作业完成的时间间隔。
A.周转时间 B.响应时间C.等待时间 D.运行时间10.计算机系统在执行 C 时,会自动从目态变换到管态。
A.P操作 B.V操作C.系统调用 D.I/O指令三、问答1.在多道程序设计系统中,如何理解“内存中的多个程序的执行过程交织在一起,大家都在走走停停”这样一个现象?答:在多道程序设计系统中,内存中存放多个程序,它们以交替的方式使用CPU。
因此,从宏观上看,这些程序都开始了自己的工作。
但由于CPU只有一个,在任何时刻CPU只能执行一个进程程序。
所以这些进程程序的执行过程是交织在一起的。
也就是说,从微观上看,每一个进程一会儿在向前走,一会儿又停步不前,处于一种“走走停停”的状态之中。
2.什么是“原语”、“特权指令”、“系统调用命令”和“访管指令”?它们之间有无一定的联系?答:特权指令和访管指令都是CPU指令系统中的指令,只是前者是一些只能在管态下执行的指令,后者是一条只能在目态下执行的指令。
原语和系统调用命令都是操作系统中的功能程序,只是前者执行时不能被其他程序所打断,后者没有这个要求。
操作系统中有些系统调用命令是以原语的形式出现的,例如创建进程就是一条原语式的系统调用命令。
但并不是所有系统调用命令都是原语。
因为如果那样的话,整个系统的并发性就不可能得到充分地发挥。
3.操作系统是如何处理源程序中出现的系统调用命令的?答:编译程序总是把源程序中的系统调用命令改写成为一条访管指令和相应的参数。
1.P、V操作是 A 。
A.两条低级进程通信原语B.两组不同的机器指令C.两条系统调用命令D.两条高级进程通信原语2.设系统中有n(n>2)个进程,且当前不在执行进程调度程序,试考虑下述4种情况,不可能发生的情况是 A 。
A.没有运行进程,有2个就绪进程,n个进程处于等待状态。
B.有1个运行进程,没有就绪进程,n-1个进程处于等待状态。
C.有1个运行进程,有1个就绪进程,n-2个进程处理等待状态。
D.有1个运行进程,n-1个就绪进程,没有进程处于等待状态。
3.若P、V操作的信号量S初值为2,当前值为-1,则表示有 B 等待进程。
A. 0个 B. 1个 C. 2个 D. 3个4.用V操作唤醒一个等待进程时,被唤醒进程的状态变为 B 。
A.等待B.就绪C.运行D.完成5.用P、V操作可以解决 A互斥问题。
A.一切B.某些C.正确D.错误6.多道程序环境下,操作系统分配资源以C 为基本单位。
A.程序B.指令C.进程D.作业7.从下面对临界区的论述中,选出一条正确的论述。
(1)临界区是指进程中用于实现进程互斥的那段代码。
(2)临界区是指进程中用于实现进程同步的那段代码。
(3)临界区是指进程中用于实现进程通信的那段代码。
(4)临界区是指进程中用于访问共享资源的那段代码。
(5)临界区是指进程中访问临界资源的那段代码。
8.(A)是一种只能由wait和signal操作所改变的整型变量,(A)可用于实现进程的(B)和(C),(B)是排他性访问临界资源。
A:(1)控制变量;(2)锁;(3)整型信号量;(4)记录型信号量。
B:(1)同步;(2)通信;(3)调度;(4)互斥。
C:(1)同步;(2)通信;(3)调度;(4)互斥。
9.对于记录型信号量,在执行一次wait操作时,信号量的值应当(A),当其值为(B)时,进程阻塞。
在执行signal操作时,信号量的值应当为(C),当其值为(D)时,应唤醒阻塞队列中的进程。
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---所等待事件已发生。
第2 章1)选择题( 1)分配到必要的资源并获得处理机时的进程状态是A. 就绪状态B. 执行状态C. 阻塞状态D. 撤消状态_B__ 。
( 2)对进程的管理和控制使用A. 指令C. 信箱_D__ 。
B. 信号量D. 原语( 3)程序的顺序执行通常在A 执行在B的工作环境中,具有如下特征的工作环境中,具有以下特征D。
C;程序的并发A. 单道程序C. 程序的可再现性B. 多道程序D. 资源共享( 4)下列进程状态变化中,__C__变化是不可能发生的。
A. 运行→就绪B. 运行→等待C. 等待→运行D. 等待→就绪( 5)当 __D__ 时,进程从执行状态转变为就绪状态。
A. 进程被调度程序选中B. 等待的事件发生C. 等待某一事件( 6)下面对进程的描述中,错误的是D. 时间片到__D___。
A. 进程是动态的概念C. 进程是有生命期的B. 进程执行需要处理机D. 进程是指令的集合( 7)操作系统通过__C__对进程进行管理。
A. JCBC. PCB( 8)下面所述步骤中,B. DCTD. CHCT__A__ 不是创建进程所必需的。
A. 由调度程序为进程分配CPUC. 将进程控制块链入就绪队列( 9)多道程序环境下,操作系统分配资源以B. 建立一个进程控制块D. 为进程分配内存__C__为基本单位。
A. 程序B. 指令C. 进程D. 作业( 10)如果系统中有n 个进程,则就绪队列中进程的个数最多为__B__ 。
A. n+1B. n-1C. 1D. n( 11)原语的主要特点是_D__ 。
A. 并发性C. 共享性B. 异步性D. 不可分割性( 12)下面对父进程和子进程的叙述不正确的是__A__ 。
A.父进程创建了子进程,因此父进程执行完了子进程才能运行B. 父进程和子进程之间可以并发C.父进程可以等待所有子进程结束后再执行D.撤消父进程之时,可以同时撤消其子进程( 13)下列关于进程的叙述中,最不符合操作系统对进程理解的是_A__ 。
第二章进程管理1.操作系统主要是对计算机系统全部 (1) 进行管理,以方便用户、提高计算机使用效率的一种系统软件。
它的主要功能有:处理机管理、存储管理、文件管理、 (2) 管理和设备管理等。
Windows和Unix是最常用的两类操作系统。
前者是一个具有图形界面的窗口式的 (3) 系统软件,后者是一个基本上采用 (4) 语言编制而成的的系统软件。
在 (5) 操作系统控制下,计算机能及时处理由过程控制反馈的信息并作出响应。
供选答案:(1): A. 应用软件 B. 系统软硬件C. 资源D. 设备(2): A. 数据 B. 作业C. 中断D. I/O(3): A. 分时 B. 多任务C. 多用户D. 实时(4): A. PASCAL B. 宏C. 汇编D. C(5): A. 网络 B. 分时C. 批处理D. 实时答案:CBBDD2.操作系统是对计算机资源进行的 (1) 系统软件,是 (2) 的接口。
在处理机管理中,进程是一个重要的概念,它由程序块、 (3) 和数据块三部分组成,它有3种基本状态,不可能发生的状态转换是 (4) 。
虚拟存储器的作用是允许程序直接访问比内存更大的地址空间,它通常使用 (5) 作为它的一个主要组成部分。
供选答案:(1): A. 输入和输出 B. 键盘操作C. 管理和控制D. 汇编和执行(2): A. 软件和硬件 B. 主机和外设C. 高级语言和机器语言D. 用户和计算机(3): A. 进程控制块 B. 作业控制块C. 文件控制块D. 设备控制块(4): A. 运行态转换为就绪态 B. 就绪态转换为运行态C. 运行态转换为等待态D. 等待态转换为运行态(5): A. 软盘 B. 硬盘C. CDROMD. 寄存器答案:CDADB3.在计算机系统中,允许多个程序同时进入内存并运行,这种方法称为 D。
A. Spodling技术B. 虚拟存储技术C. 缓冲技术D. 多道程序设计技术4.分时系统追求的目标是 C。
第两章之阳早格格创做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. 用P、V操作管理临界区时,信号量的初值一般应定义为()。
A.–1B.0C.1D.任意值2. 有m个进程共享同一临界资源,若使用信号量机制实现对一临界资源的互斥访问,则信号量的变化范围是()。
A.1至–(m-1)B.1至m-1C.1至–mD.1至m3. 在下面的叙述中,正确的是()。
A.临界资源是非共享资源B.临界资源是任意共享资源C.临界资源是互斥共享资源D.临界资源是同时共享资源4. 对进程间互斥地使用临界资源,进程可以()A.互斥地进入临界区B.互斥地进入各自的临界区C.互斥地进入同一临界区D.互斥地进入各自的同类资源的临界区5. 设两个进程共用一个临界资源的互斥信号量mutex,当mutex=1时表示()。
A.一个进程进入了临界区,另一个进程等待B.没有一个进程进入临界区C.两个进程都进入了临界区D.两个进程都在等待6. 设两个进程共用一个临界资源的互斥信号量mutex,当mutex=-1时表示()。
A.一个进程进入了临界区,另一个进程等待B.没有一个进程进入临界区C.两个进程都进入了临界区D.两个进程都在等待7.当一进程因在记录型信号量S上执行P(S)操作而被阻塞后,S的值为()。
A.>0B.<0C.≥0D.≤08.当一进程因在记录型信号量S上执行V(S)操作而导致唤醒另一进程后,S的值为()。
A.>0B.<0C.≥0D.≤09.如果信号量的当前值为-4,则表示系统中在该信号量上有()个进程等待。
A.4B.3C.5D.010.若有4个进程共享同一程序段,而且每次最多允许3个进程进入该程序段,则信号量的变化范围是()。
A. 3,2,1,0B. 3,2,1,0,-1C. 4,3,2,1,0D. 2,1,0,-1,-211.若信号S的初值为2,当前值为-1,则表示有( )个等待进程?A.0B.1C.2D.312.如果有三个进程共享同一互斥段,而且每次最多允许两个进程进入该互斥段,则信号量的初值应设置为()。
第二章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中记录了操作系统所需的用于描述进程情况及控制进程运行所需的全部信息。
操作系统教程第5版课后答案费祥林、骆斌编著第一章操作系统概论习题一一、思考题1.简述现代计算机系统的组成及层次结构。
答:现代计算机系统由硬件和软件两个部分组成。
是硬件和软件相互交织形成的集合体,构成一个解决计算问题的工具。
硬件层提供基本可计算的资源,包括处理器、寄存器、内存、外存及I/O设备。
软件层由包括系统软件、支撑软件和应用软件。
其中系统软件是最靠近硬件的。
2、计算机系统的资源可分成哪几类?试举例说明。
答:包括两大类,硬件资源和信息资源。
硬件资源分为处理器、I/O设备、存储器等;信息资源分为程序和数据等。
3.什么是操作系统?操作系统在计算机系统中的主要作用是什么?答:操作系统是一组控制和管理计算机硬件和软件资源,合理地对各类作业进行调度,以及方便用户使用的程序的集合。
操作系统在计算机系统中主要起4个方面的作用。
(1)服务用户观点——操作系统提供用户接口和公共服务程序(2)进程交互观点——操作系统是进程执行的控制者和协调者(3)系统实现观点——操作系统作为扩展机或虚拟机(4)资源管理观点——操作系统作为资源的管理者和控制者4.操作系统如何实现计算与操作过程的自动化?答:大致可以把操作系统分为以下几类:批处理操作系统、分时操作系统、实时操作系统、网络操作系统和分布式操作系统。
其中批处理操作系统能按照用户预先规定好的步骤控制作业的执行,实现计算机操作的自动化。
又可分为批处理单道系统和批处理多道系统。
单道系统每次只有一个作业装入计算机系统的主存储器运行,多个作业可自动、顺序地被装入运行。
批处理多道系统则允许多个作业同时装入主存储器,中央处理器轮流地执行各个作业,各个作业可以同时使用各自所需的外围设备,这样可以充分利用计算机系统的资源,缩短作业时间,提高系统的吞吐率5.操作系统要为用户提供哪些基本的和共性的服务?答:(1)创建程序和执行程序;(2)数据I/O和信息存取;(3)通信服务;(4)差错检测和处理。
第2章进程和线程的管理习题及解答例题解析例2.2.1 试说明进程和程序之间的区别和联系。
解进程和程序是既有区别又有联系的两个概念。
(1)进程是动态的,程序是静态的。
程序是一组有序的指令集合,是一个静态的概念;进程则是程序及其数据在计算机上的一次执行,是一个动态的集合。
离开了程序,进程就失去了存在的意义,但同一程序在计算机上的每次运行将构成不同的进程。
程序可看作是电影的胶片,进程可以看作电影院放电影的过程。
(2)一个进程可以执行多个程序,如同一个电影院的一场电影可放映多部影片。
(3)一个程序可被多个进程执行,如同多个影院同时利用一个电影的胶片放映同一部电影。
(4)程序可以长期保存,进程只能存在于一段时间。
程序是永久存在的,而进程有从被创建到消亡的生命周期。
例2.2.2 举例说明多道程序系统失去了封闭性和再现性。
解例如,有两个循环程序A和B,共享一个变量N。
程序A每执行一次时,都要做N:=N+1操作;程序B则每执行一次时,都要执行print(N)操作,然后再将N的值置成“0”。
程序A和B在多道程序系统中同时运行。
假定某时刻变量N的值为n,可能出现下述三种情况:(1)N:=N+1 在print(N)和N:=0之前,此时得到N值变化过程为n+1、n+1、0;(2)N:=N+1 在print(N)和N:=0之后,此时得到N值变化过程为n 、 0 、1;(3)N:=N+1 在print(N)之后和N:=0之前,此时得到N值变化过程为n、n+1、0。
所以,在A、B程序多次执行过程中,虽然其每次执行时的环境和初始条件都相同,但每次得到的结果却不一定相同。
例 2.2.3 为什么将进程划分成执行、就绪和阻塞三个基本状态?解根据多道程序执行的特点,进程的运行是走走停停的。
因此进程的初级状态应该是执行和等待状态。
处于执行状态的进程占用处理机执行程序,处于等待状态的进程正在等待处理机或者等待其它某种事件的发生。
但是,当处理机空闲时,并不是所有处于等待状态的进程都能放到处理机上执行,有的进程即使分配给它处理机,它也不能执行,因为它的执行的条件没有得到满足。
习题2 进程、线程管理
一、选择题
题号 1 2 3 4 5 6 7 8 9 10
答案 B B D C D C A B D C
题号 11 12
答案 A A
二、综合题
2、答:在多道程序环境下,允许多个程序并发执行,这就导致了在操作系统中引入了“进
程”。
进程是随着操作系统中分时思想的提出而引出的。
进程是一个可并发执行的具有
独立功能的程序在某个数据集合的一次执行过程,它是操作系统进行资源分配和保护的
基本单位。
①进程和程序的最大区别就是进程是程序的一次执行过程,它是一个动态概念。
程序
是以文件形式存放在磁盘上的代码序列,它是一个静态概念。
②进程能够并发执行。
在同一段时间内,并发执行的若干进程共享一个处理机,各个
进程按照不同的推进速度运行。
进程状态及其转换可以很好地描述并发执行进程的执行过
程。
③进程是计算机系统资源分配的基本单位,程序不能作为一个独立单位运行和申请系
统资源。
④进程由含有代码和数据的用户地址空间、进程控制块和执行栈区等部分组成,而程
序只由静态代码组成。
⑤进程和程序之间是多对多的关系。
一个程序可被多个进程共用,一个进程在其活动
中又可调用若干个程序。
2、答:
原语是由若干条机器指令组成的、用于完成一定功能的一个过程。
原语不可分割,其执
行期间不充许被中断,要么从头到尾执行一遍,要么全不执行。
原语的特征保证其在执行过
程中不受外界因素的影响。
原语的一般实现方法是以系统调用的方式提供原语接口,原语在执行过程中采用屏蔽中断的
方式来保证其不能被中断。
原语常驻内存,只在核心态下运行。
通常情况下,原语只提供给
系统进程或系统服务器使用。
3、答:
传统操作系统通过进程的并发执行提高了系统资源利用率和作业吞
吐量,但进程模型
存在如下局限性。
①每个进程都有一个进程控制块和一个私有的用户地址空间,如果按进程进行并发控
制,那么在同一个地址空间中只允许单个执行序列运行。
显然,在不进行地址变换的情况下,
只允许一个执行序列运行,处理机资源仍然不能得到充分利用。
②一个进程内部只有一个执行序列,不能满足用户让一个进程内部并发执行多个任务
的要求。
③进程在处理机上的频繁切换给系统造成大量时空开销,这限制了系统中并发执行进
程的数目,降低了系统并发执行程序。
实用操作系统教程(第2 版)课后习题参考答案
5
④进程通信代价大。
进程间传递信息时,要把消息从一个进程的工作区传送到另一个
进程的工作区,这需要操作系统提供进程通信机制并且给编程者带来负担。
⑤不适合并行计算和分布并行计算的要求。
对于多处理机和分布式的计算环境来说,
进程之间大量频繁的通信和切换,会大大降低并行度。
线程是进程内部一个相对独立的、具有可调度特性的执行单元。
一个进程可包含多个线
程。
4、答:内核支持线程(Kernel Supported Threads, KST)是由内核负责管理线程的创建、
撤消和切换等,在内核空间为每一个内核支持线程设置一个线程控制块。
内核支持线程实现方式主要有以下优点:
①多处理器系统中,可以调度使一进程中的多个线程同时执行。
②提高了线程的并发执行程度,如果进程中的一个线程被阻塞了,内核可调度该进程
中的其它线程或其它进程中的线程运行。
③内核支持线程具有很小的数据结构和堆栈,线程切换开销小,切换速度快。
④内核本身也可采用多线程技术,提高系统并发执行程度。
内核支持线程实现方式的主要缺点是系统需频繁进行用户态和核心态的转换,模式切换
开销较大。
这是因为用户线程在用户态下运行,但线程的调度和管理由系统内核实现,系统
内核负担较大。
用户级线程(User Level Threads, ULT)仅存在于用户空间中,与内核无关。
这种线程
的创建、撤消、线程间切换、同步和通信等功能,都无需利用系统调用来实现,不需要内核
支持。
就内核而言,它只是管理常规进程,而感知不到用户级线程的存在。
用户级线程实现的主要优点:
①不需要得到内核的支持,因此线程开销小,速度快。
②用户线程和系统线程的调度算法可分开设计,线程库对用户线程的调度算法与操作
系统的调度算法无关,线程库可提供多种调度算法供应用程序选择使用。
③平台无关性好,用户级线程的实现与系统平台无关。
用户级线程实现的主要缺点:
①在基于进程机制的操作系统中,内核以进程为单位进行调度,这样如果进程中某一
个线程阻塞可能导致整个进程阻塞。
②在单纯的用户级线程实现方式中,内核每次分派给一个进程仅有一个CPU,因此无法让
同一进程的多个线程在多个处理机上同时运行。
5、答:(1)调度
传统操作系统中,拥有资源的基本单位和独立调度的基本单位都是进程。
引入线程的操作系
统中,线程作为CPU 调度的基本单位,真正在处理机上运行的是线程,
进程仍作为拥有资源
的基本单位。
同一进程中的线程切换不会引起进程切换;但一个进程中的线程切换到另外一
个进程中的线程时,仍将会引起进程切换。
(2)并发性
引入线程的操作系统中,一个进程可有多个线程,并且线程只能在该进程的地址空间内活动。
进程之间的并发执行转变为更多个线程的并发执行,操作系统具有更好的并发性。
实用操作系统教程(第2 版)课后习题参考答案
6
(3)拥有资源
不论是传统的操作系统,还是设有线程的操作系统,进程都是拥有资源的一个独立单位。
一
般地说,线程自己不拥有系统资源(只有一些必不可少的资源),它们共享其所在进程的所有
资源。
(4)系统开销
在创建或撤消进程时,系统都要为之分配或回收资源,如内存空间、I/O 设备等。
因此,操
作系统为此付出的开销将显著地大于创建或撤消线程时的开销。
依次类似,在进行进程切换
时,涉及到当前进程整个进程运行环境的保存以及新被调度进程的运行环境的恢复。
而线程
切换时只需保存和设置少量寄存器的内容,并不涉及存储器管理等方面的操作。
可见,进程
切换开销远大于线程切换开销。
此外,由于同一进程中的多个线程具有相同的地址空间,它
们之间的同步和通信也比较容易实现。
(5)通信
由于同一进程的线程共享该进程的所有资源,所以不须任何特殊措施就能实现数据共享。
而
进程通信则相当复杂,必须借助诸如通信机制、消息缓冲、管道机制等措施。
(学习的目的是增长知识,提高能力,相信一分耕耘一分收获,努力就一定可以获得应有的回报)。