(完整版)操作系统第二章习题答案3
- 格式:doc
- 大小:43.01 KB
- 文档页数:11
第二章练习题及参考答案一、单项选择题1.用户作业可以通过()方式由用户自己按照作业来进行操作。
A.脱机B.自动控制C.在线处理D.联机处理2.()是操作系统提供的一种专门语言,它由操作系统的专门机制解释处理。
A.C语言B.JCL语言C.Ada语言D.Pascal语言3.作业调度算法中()调度算法最有利于提高资源利用率。
A.先来先服务B.优先数C.响应比最高优先D.均衡4.终端用户在终端上控制作业的执行要经历四个阶段,最初阶段是()。
A.用户注册B.终端连接C.作业控制D.用户退出5.在下面作业调度算法中()调度算法最有利于小作业,从而提高系统吞吐能力。
A.先来先服务B.计算时间短的作业优先C.优先数D.响应比最高者优先6.当中央处理器处于目态时,它可以执行的指令是()。
A.计算机系统中的全部指令B.仅限于非特权指令C.仅限于防管指令D.仅限于特权指令7.作业调度算法常考虑因素之一是使系统有最高的吞吐率,为此应()。
A.不让处理机空闲B.能够处理尽可能多的作业C.使各类用户满意D.不使系统过于复杂8. 分时操作系统环境下运行的作业通常称为()。
A.后台作业B.长作业C.批量型作业D.终端型作业9.在作业调度算法中,若所有作业同时到达,则平均等待时间最短的算法是()。
A.先来先服务B.优先数C.响应比最高优先D.计算时间段的作业优先10.作业调度程序从处于()状态的作业队列中选取适当的作业投入运行。
A.执行B.提交C.完成D.后备11.既考虑作业等待时间,又考虑作业执行时间的调度算法是()。
A. 先来先服务B.优先数C.响应比最高优先D.均衡12.()是指从作业提交给系统到作业完成的时间间隔。
A.周转时间B.响应时间C.等待时间D.执行时间13.作业从进入后备队列到被调度程序选中的时间间隔称为()。
A.周转时间B.响应时间C.等待时间D.触发时间二、多项选择题1.响应比最高者优先调度算法是()调度算法的折衷。
计算机操作系统(习题集)第二章答案计算机操作系统(习题集)第二章答案第二章进程管理一、单项选择题1、在单一处理机上执行程序,多道程序的执行是在(b)进行的。
a.同一时刻b.同一时间间隔内c.某一紧固时刻d.某一紧固时间间隔内2、引入多道程序技术后,处理机的利用率(c)。
a.减少了b.有所改善c.大大提高d.没变化,只是程序的继续执行便利了3、顺序程序和并发程序的执行相比,(c)。
a.基本相同c.并发程序继续执行总体上继续执行时间慢b.有点不同d.顺序程序执行总体上执行时间快4、单一处理机上,将继续执行时间存有重合的几个程序称作(c)。
a.顺序程序b.多道程序c.并发程序d.并行程序5、进程和程序的本质区别就是(d)。
a.存储在内存和外存b.顺序和非顺序继续执行机器指令c.分时使用和独占使用计算机资源d.动态和静态特征6、进程就是程序在mammalian环境中的继续执行过程,它就是系统展开资源分配和调度的一个基本单位。
进程具备[1a]、[2d]、调度性、异步性和结构性等基本特征。
进程就是一次继续执行过程,具备生命期彰显了进程的[1]特征。
进程由程序段、[3b]、[4c]共同组成,其中[4]就是进程在系统中存有的唯一标识。
供选择的答案:[1][2]:a、动态性b、静态性c、共行性d、并发性e、可执行性f、易用性[3]:a、过程b、数据c、进程标识符d、函数[4]:a、fcbb、fifoc、pcbd、jcb7、进程执行时的间断性,决定了进程可能具有多种状态。
进程的基本状态有三种,在分时系统中,当一个进程拥有的时间片到时,则该进程即由[1d]进入[2a]。
如果出现因某种原因使得处理机空闲时,则需要从就绪队列中选择一进程,并将处理机分配给它,此时该进程进入[3d],这个过程是由[4c]来完成。
供选择的答案:[1][2][3]:a、准备就绪状态b、静止状态c、阻塞状态d、运转状态[4]:a、进程控制程序b、资源分配程序c、进程调度程序d、处理机分配程序8、为了叙述进程的动态变化过程,使用了一个与进程二者联系的(c),根据它而认知进程的存有。
第二章进程管理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,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,可以。
某一阻塞态进程等到的事件出现了,而且此时就绪队列为空,该进程进入就绪队列后马上又被调度运行。
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. 进程是指正在执行中的程序。
它包括程序计数器、寄存器集合和栈等信息。
进程的状态包括运行态、就绪态和阻塞态。
2. 进程调度是指根据一定的策略选择下一个执行的进程。
常见的调度算法有先来先服务调度算法、短作业优先调度算法和时间片轮转调度算法等。
3. 进程同步是指协调多个进程的执行顺序,避免出现竞态条件和死锁等问题。
常见的进程同步机制有互斥锁、信号量和条件变量等。
第三节:内存管理1. 内存管理是指操作系统对内存资源的分配和回收。
常见的内存管理方式有分区管理和页式管理。
2. 分区管理将内存划分为多个固定大小的分区,每个分区只能分配给一个进程。
常见的分区分配算法有首次适应算法、最佳适应算法和最坏适应算法等。
3. 页式管理将内存和进程的地址空间划分为固定大小的页和页框,实现了虚拟内存的概念。
常见的页式管理算法有局部页面置换算法和全局页面置换算法等。
第四节:文件系统管理1. 文件系统管理是指操作系统对文件的组织和访问控制。
文件是计算机中存储数据的基本单位,它包括文件名、文件属性和文件数据等。
2. 文件系统通过目录结构来组织文件,常见的目录结构有单级目录结构、树状目录结构和索引节点结构等。
3. 文件系统提供了文件的读、写和删除等操作,同时还提供了文件保护和文件共享等功能。
第五节:设备管理1. 设备管理是指操作系统对计算机硬件设备的管理和控制。
常见的设备管理方式有设备驱动程序和设备控制块等。
2. 设备驱动程序是操作系统与硬件设备之间的接口,它负责将操作系统的请求转化为硬件设备可以理解的指令。
3. 设备控制块是操作系统对每个设备的描述,它包括设备类型、设备状态和设备队列等信息。
第二章作业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.试述线程的特色及其与进度之间的关系。
第二章进程管理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.在计算机系统中配置操作系统的主要⽬的是(),操作系统的主要功能是管理计算机系统中的(),其中包括()管理和()管理,以及设备管理和⽂件管理。
这⾥的()管理主要是对进程进⾏管理。
(1)A.增强计算机系统的功能;B.为了使⽤系统的资源;C.提⾼系统的运⾏速度;D.提⾼系统使⽤效率,合理地组织系统的⼯作流程,以提⾼系统吞吐量。
(2)A.程序和数据;B.进程;C.资源;D.作业;E.任务。
(3)(4)A.存储器;B.虚拟存储器;C.运算器;D.处理机;E.控制器。
2.操作系统有多种类型:(1)允许多个⽤户以交互⽅式使⽤计算机的操作系统,称为();(2)允许多⽤户将若⼲个作业提交给计算机系统集中处理的操作系统称为();(3)在()的控制下,计算机系统能及时处理由过程控制反馈的数据,并做出响应。
A.批处理操作系统;B.分时操作系统;C.实时操作系统;D.微机操作系统;E.多处理机操作系统。
3.在下列性质中,哪⼀个不是分时系统的特征。
()A.交互性B.多路性C.成批性D.独占性4.实时操作系统追求的⽬标是()。
A.⾼吞吐率B.充分利⽤内存C.快速响应D.减少系统开销5. 现代操作系统的两个基本特征是()和资源共享A.多道程序设计B.中断处理C.程序的并发执⾏D.实现分时与实时处理6.引⼊多道程序的⽬的在于()。
A.有利于代码共享,减少主、辅存信息交换量。
B.提⾼实时响应速度。
C.充分利⽤CPU,减少CPU等待时间D.充分利⽤存储器7.操作系统是⼀组().A.⽂件管理程序B.中断处理程序C.资源管理程序D.设备管理程序8.()不是操作系统关⼼的主要问题.A.管理计算机裸机B.设计、提供⽤户程序与计算机硬件系统的界⾯C.管理计算机系统资源D.⾼级程序设计语⾔的编译器9.⽤户在⼀次计算机过程中,或者⼀次事物处理中,要求计算机完成所做的⼯作的集合,这是指().A.进程B.程序C.作业D.系统调⽤10.订购机票系统处理各⾃各个终端的服务请求,处理后通过终端回答⽤户,所以它是⼀个()。
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.设计现代OS的主要⽬标是什么?答:(1)有效性(2)⽅便性(3)可扩充性(4)开放性2.OS的作⽤可表现在哪⼏个⽅⾯?答:(1)OS作为⽤户与计算机硬件系统之间的接⼝(2)OS作为计算机系统资源的管理者(3)OS实现了对计算机资源的抽象3.为什么说OS实现了对计算机资源的抽象?答:OS⾸先在裸机上覆盖⼀层I/O设备管理软件,实现了对计算机硬件操作的第⼀层次抽象;在第⼀层软件上再覆盖⽂件管理软件,实现了对硬件资源操作的第⼆层次抽象。
OS 通过在计算机硬件上安装多层系统软件,增强了系统功能,隐藏了对硬件操作的细节,由它们共同实现了对计算机资源的抽象。
4.试说明推动多道批处理系统形成和发展的主要动⼒是什么?答:主要动⼒来源于四个⽅⾯的社会需求与技术发展:(1)不断提⾼计算机资源的利⽤率;(2)⽅便⽤户;(3)器件的不断更新换代;(4)计算机体系结构的不断发展。
5.何谓脱机I/O和联机I/O?答:脱机I/O 是指事先将装有⽤户程序和数据的纸带或卡⽚装⼊纸带输⼊机或卡⽚机,在外围机的控制下,把纸带或卡⽚上的数据或程序输⼊到磁带上。
该⽅式下的输⼊输出由外围机控制完成,是在脱离主机的情况下进⾏的。
⽽联机I/O⽅式是指程序和数据的输⼊输出都是在主机的直接控制下进⾏的。
6.试说明推动分时系统形成和发展的主要动⼒是什么?答:推动分时系统形成和发展的主要动⼒是更好地满⾜⽤户的需要。
主要表现在:CPU 的分时使⽤缩短了作业的平均周转时间;⼈机交互能⼒使⽤户能直接控制⾃⼰的作业;主机的共享使多⽤户能同时使⽤同⼀台计算机,独⽴地处理⾃⼰的作业。
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 of 281.0/ 1.0 得分下列的进程状态变化中,( )变化是不可能发⽣的。
A. 等待→执⾏B. 等待→就绪C. 执⾏→等待D. 执⾏→就绪答案:A反馈:等待→执⾏题⽬ 2 of 281.0/ 1.0 得分⽤P、V操作管理临界区时,信号量的初值应定义为( )。
A. 任意值B. 1C. 0D. -1答案:B反馈:1题⽬ 3 of 281.0/ 1.0 得分分配到必要的资源并获得处理机时的进程状态是( )。
A. 执⾏状态B. 就绪状态C. 阻塞状态D. 撤消状态反馈:执⾏状态题⽬ 4 of 281.0/ 1.0 得分下⾯对进程的描述中,错误的是( )。
A. 进程是指令的集合B. 进程是动态的概念C. 进程是有⽣命期的D. 进程执⾏需要处理机答案:A反馈:进程是指令的集合题⽬ 5 of 281.0/ 1.0 得分在操作系统中,进程是⼀个具有⼀定独⽴功能的程序在某个数据集上的⼀次( )。
A. 运⾏活动B. 等待活动C. 单独操作D. 关联操作答案:A反馈:运⾏活动题⽬ 6 of 281.0/ 1.0 得分P、V操作是( )。
A. 两组不同的机器指令B. 两条⾼级进程通信原语C. 两条低级进程通信原语D. 两条系统调⽤命令反馈:两条低级进程通信原语题⽬ 7 of 281.0/ 1.0 得分⽤V操作唤醒⼀个等待进程时,被唤醒进程的状态变为( )。
A. 就绪B. 执⾏C. 等待D. 完成答案:A反馈:就绪题⽬ 8 of 281.0/ 1.0 得分进程的并发执⾏是指若⼲个进程( )。
A. 在执⾏的时间上是重叠的B. 共享系统资源C. 同时执⾏D. 在执⾏的时间上是不可重叠的答案:A反馈:在执⾏的时间上是重叠的题⽬ 9 of 281.0/ 1.0 得分下⾯所述步骤中,( )不是创建进程所必需的。
A. 建⽴⼀个进程控制块B. 为进程分配内存C. 将进程控制块链⼊就绪队列D. 由调度程序为进程分配CPU反馈:由调度程序为进程分配CPU题⽬ 10 of 281.0/ 1.0 得分对于两个并发进程,设互斥信号量为mutex,若mutex=0,则( )。
2.1解答:a.(1)只有1个作业的情况周转时间= N*T ;吞吐率= T/周转时间= 1/N ;处理机使用率= 1/2 。
(2)有2个作业的情况作业1的周转时间= N*T,作业2的周转时间= (N+1/2)*T ;吞吐率= 2*T / [(N+1/2)*T] = 2 / (N+1/2) ;处理机使用率= N / (N+1/2) 。
(3)有4个作业的情况作业1的周转时间= (2N – 1)*T,作业2的周转时间= (2N–1/2)*T ,作业3的周转时间= (2N)*T,作业4的周转时间= (2N+1/2)*T;吞吐率= 4*T / [(2N+1/2)*T] = 4 / (2N+1/2) ;处理机使用率= (2N) / (2N+1/2) 。
b.(1)只有1个作业的情况周转时间= N*T ;吞吐率= T/周转时间= 1/N ;处理机使用率= 1/2 。
(2)有2个作业的情况作业1的周转时间= N*T,作业2的周转时间= (N+1/2)*T ;吞吐率= 2*T / [(N+1/2)*T] = 2 / (N+1/2) ;处理机使用率= N / (N+1/2) 。
(3)有4个作业的情况作业1的周转时间= (10/4)*N*T – (5/4)*T,作业2的周转时间= (10/4)*N*T – T ,作业3的周转时间= (10/4)*N*T – (1/2)*T,作业4的周转时间= (10/4)*N*T ;吞吐率= 4*T / [ (10/4)*N*T ] = 8 / (5N ) ;处理机使用率= (2*N*T) / [(10/4)*N*T ] = 4 / 5 。
2.3分时系统关注于周转时间,利用时间分片的方式给所有进程一个短期的处理器访问时间。
多道程序批处理系统关注于吞吐量,较少做上下文切换,因此每个进程有更多的处理器访问时间。
2.5系统通过统计页面未被触及的平均秒数来判断系统的内存使用情况。
减少活动作业的个数会使得该值上升,反之下降。
第二章进程管理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是进程存在的唯一标志。
2•试画出下面4条语句的前趋图S i : a:=x+y; S 2: b:=z+1; S 3: c:=a-b; S 4: w:=c+1;3. 为什么程序并发执行会产生间断性特征?程序在并发执行时,由于它们共享系统资源,以及为完成同一项任务而相互合作, 致使在这些并发执行的进程之间,形成了相互制约的关系,从而也就使得进程在执行期 间出现间断性。
4. 程序并发执行时为什么会失去封闭性和可再现性?因为程序并发执行时,是多个程序共享系统中的各种资源,因而这些资源的状态是 由多个程序来改变,致使程序的运行失去了封闭性。
而程序一旦失去了封闭性也会导致 其再失去可再现性。
5. 在操作系统中为什么要引入进程概念?它会产生什么样的影响?为了使程序在多道程序环境下能并发执行,并能对并发执行的程序加以控制和描 述,从而在操作系统中引入了进程概念。
影响:使程序的并发执行得以实行。
6.试从动态性,并发性和独立性上比较进程和程序?a. 动态性是进程最基本的特性,可表现为由创建而产生,由调度而执行,因得不到资源 而暂停执行,以及由撤销而消亡,因而进程由一定的生命期;而程序只是一组有序指 令的集合,是静态实体。
b. 并发性是进程的重要特征,同时也是OS 的重要特征。
引入进程的目的正是为了使其 程序能和其它建立了进程的程序并发执行,而程序本身是不能并发执行的。
c. 独立性是指进程实体是一个能独立运行的基本单位,同时也是系统中独立获得资源和 独立调度的基本单位。
而对于未建立任何进程的程序,都不能作为一个独立的单位来 运行。
7.试说明PCB 的作用?为什么说PCB 是进程存在的唯一标志 ?a. P CB 是进程实体的一部分,是操作系统中最重要的记录型数据结构。
作系统所需的用于描述进程情况及控制进程运行所需的全部信息。
一个在多道程序环境下不能独立运行的程序 (含数据),成为一个能独立运行的基本单位,一个能和其它进程并发执行的进程。
26.假定有如下独木桥问题:过桥时,同一方向的行人可连续过桥,当某一方向有人过桥时,另一方向的行人必须等待;当某一方向无人过桥时,另一方向的行人可以过桥。
试用信号量机制解决。
答:(1)将独木桥的两个方向分别标记为A和B。
用整型变S countA和countB分别表示A、B 方向上已在独木桥上的行人数,初值都设置为0。
需要设置三个初值都为1的互斥信号量:MA 用來实现对countA 的互斥访问,MB用來实现对countB的互斥访问,mutex用来实现两个方向的行人对独木桥的互斥使用。
(2)以下使用信号量机制对A方向上的行人过桥和B方向上的行人过桥的算法进行描述:intcountA, countB;countA = 0; countB = 0;Semaphore MA, MB, mutex; 7个并发执行的进程Pi (1=1, 2,…,7),若希望它们按照Semaphore S[8]; alue=0;process PP(){cobegin公共汽车上,司机的活动描述为:启动汽车、正常行车、到站停车;售票员的活动描述为:关车门、售票.开车门;试写出司机与售票员之间的同步算法。
答:在汽车行驶过程中,司机活动与售票员活动之间的同步关系为:售票员关车门后,向司机发开车信号,司机接到开车信号后启动汽车,在汽车正常行驶过程中售票员售票,到站时司机停车, 售票员在车停后开车门让乘客上下车。
因此司机启动汽车的动作必须与售票员关车门的动作取得同步,而售票员开车门的动作也必须与司机到站停车的动作取得同步。
在本题中,应设置两个信号量S1和S2。
S1表示是否允许司机启动汽车(或表示售票员是否已经关好车门),其初值为0; S2表示是否允许售票员开门(或表示司机是否已经到站停车了),其初值为0.采用信号量机制描述司机与售票员之间的同步算法如下:Semaphore SI, S2;后进彳亍以下分析:(S1) : = - 1 = -1 < 0 ,那么司机进程就自己阻塞起来,等待售票员进程,售票员关车门。
第2章操作系统用户界面Page 362.1 什么是作业?什么是作业步?答:把在一次应用业务处理过程中,从输入开始到输出结束,用户要求计算机所做的有关该次全部工作称为一个作业,从系统的角度看,作业则是一个比程序更广的概念。
它由程序、数据和作业说明书组成,系统通过作业说明书控制文件形式的程序和数据,使之执行和操作。
而且,在批处理系统中,作业是抢占内存的基本单位。
也就是说,批处理系统以作业为单位把程序和数据调入内存以便执行。
作业由不同的顺序相连的作业步组成。
作业步是在一个作业的处理过程中,计算机所做的相对独立的工作。
例如,编辑输入是一个作业步,它产生源程序文件;编译也是一个作业步,它产生目标代码文件。
2.2 作业由哪几部分组成?各有什么功能?答:作业由三部分组成:程序、数据和作业说明书。
程序和数据完成用户所要求的业务处理工作,系统通过作业说明书控制文件形式的程序和数据,使之执行和操作。
2.3 作业的输入方式有哪几种?各有什么特点?答:作业的输入方式有5种:(1)联机输入方式:用户和系统通过交互式会话来输入作业。
(2)脱机输入方式:利用低档个人计算机作为外围处理机进行输入处理,存储在后援存储器上,然后将此后援存储器连接到高速外围设备上和主机相连,从而在较短的时间内完成作业的输入工作。
(3)直接耦合方式:直接耦合方式把主机和外围低档机通过一个公用的大容量外存直接耦合起来,从而省去了在脱机输入中那种依靠人工干预来传递后援存储器的过程。
(4)SPOOLING系统:SPOOLING又可译作外围设备同时联机操作。
在SPOOLING系统中,多台外围设备通过通道或DMA器件和主机与外存连接起来。
作业的输入输出过程由主机中的操作系统控制。
(5)网络输入方式:网络输入方式以上述几种输入方式为基础。
当用户需要把在计算机网络中某一台主机上输入的信息传送到同一网中另一台主机上进行操作或执行时,就构成了网络输入方式2.4 试述 SPOOLING 系统的工作原理。
答:在SPOOLING系统中,多台外围设备通过通道或DMA器件和主机与外存连接起来。
作业的输入输出过程由主机中的操作系统控制。
操作系统中的输入程序包含两个独立的过程,一个过程负责从外部设备把信息读入缓冲区;另一个是写过程, 负责把缓冲区的信息送到外存输入井中。
在系统输入模块收到作业输入请求信号后,输入管理模块中的读过程负责将信息从输入装置读入缓冲区。
当缓冲区满时,由写过程将信息从缓冲区写到外存输入井中。
读过程和写过程反复循环,直到一个作业输入完毕。
当读过程读到一个硬件结束标志之后,系统再次驱动写过程把最后一批信息写入外存并调用中断处理程序结束该次输入。
然后,系统为该作业建立作业控制块JCB,从而使输入井中的作业进入作业等待队列,等待作业调度程序选中后进入内存。
2.5 操作系统为用户提供哪些接口?它们的区别是什么?答:操作系统为用户提供两个接口界面。
一个是系统为用户提供的各种命令接口界面。
用户利用这些操作命令来组织和控制作业的执行或管理计算机系统。
另一个接口是系统调用。
编程人员使用系统调用来请求操作系统提供服务。
操作系统的命令控制界面就是用来组织和控制作业运行的。
2.6 作业控制方式有哪几种?调查你周围的计算机的作业控制方式。
答:作业控制的主要方式有两种:联机和脱机方式。
脱机控制方式利用作业控制语言来编写表示用户控制意图的作业控制程序,也就是作业说明书。
作业控制语言的语句就是作业控制命令。
不同的批处理系统提供不同的作业控制语言。
联机控制方式不要求用户填写作业说明书,系统只为用户提供一组键盘或其他操作方式的命令。
用户使用系统提供的操作命令和系统会话,交互地控制程序执行和管理计算机系统。
2.7 什么是系统调用?系统调用与一般用户程序有什么区别?与库函数和实用程序有什么区别?答:系统调用是操作系统提供给编程人员的唯一接口。
编程人员利用系统调用,在源程序一级动态请求和释放系统资源,调用系统中已有的系统功能来完成那些与机器硬件部分相关的工作以及控制程序的执行速度等。
因此,系统调用像一个黑箱子那样,对用户屏蔽了操作系统的具体动作而只提供有关的功能。
区别:系统调用是在核心层执行,调用它们需要一个类似于硬件中断处理的中断处理机制来提供系统服务。
2.8 简述系统调用的实现过程。
答:用户在程序中使用系统调用,给出系统调用名和函数后,即产生一条相应的陷入指令,通过陷入处理机制调用服务,引起处理机中断,然后保护处理机现场,取系统调用功能号并寻找子程序入口,通过入口地址表来调用系统子程序,然后返回用户程序继续执行。
2.9 为什么说分时系统没有作业的概念?答:因为在分时系统中,每个用户得到的时间片有限,用户的程序和数据信息直接输入到内存工作区中和其他程序一起抢占系统资源投入运行,而不必进入外存输入井等待作业调度程序选择。
因此,分时系统没有作业控制表,也没有作业调度程序。
2.10 Linux操作系统为用户提供哪些接口?试举例说明。
答:操作系统为用户提供两种接口,即面向操作命令的借口Shell 和面向编程用户的接口,即系统调用。
常见的Shell命令如:login,logout,vi,emacs,cp,rm,ls,cc,link,adduser,chowm,ch mod,service,pgrep等;常见的系统调用如:read,write,openg,close,creat,mount,fork,wait,exit,socke t等。
2.11 编写一个简单的 Shell 程序,完成一个已有数据文件的复制和打印。
答: # ..\xt\02\cplp.sh# copy filecat copy.c > copy.bak# print filecat copy.c > /dev/lp2.12 用Linux文件读写的相关系统调用,编写一个copy程序。
答:// \home\os\xt\02\copy.c// usage copy src dst#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <unistd.h>#include <stdlib.h>#include <stdio.h>#define BUFSIZE 8192int main(int argc,char* argv[]) {printf("argv[0] : %s\n",argv[0]);printf("argv[1] : %s\n",argv[1]);printf("argv[2] : %s\n",argv[2]);if (argc!=3) {printf("\nusage : copy src dst \n");return -1;}int src,dst;char buf[BUFSIZE];int n;src = open(argv[1],O_RDONLY);dst = open(argv[2],O_RDWR | O_CREAT | O_TRUNC,S_IRUSR | S_IWUSR | S_IXUSR);while ((n=read(src,buf,BUFSIZE)) > 0 ) {if (write(dst,buf,n)!=n)printf("write error !");}if (n<0)printf("read error !");close(src);close(dst);printf("\nSuccess !!!!\n");exit(0);}2.13 略第3章进程管理Page 8.33.10 设在书 3.6节中所描述的生产者-消费者问题中,其缓冲部分为m个长度相等的有界缓冲区组成,且每次传输数据长度等于有界缓冲区长度,以及生产者和消费者可对缓冲区同时操作。
重新描述发送过程deposit(data)和接收过程remove(data)。
答:1:设第i块缓冲区的公用信号量为mutex[i],保证生产者进程和消费者进程对同一块缓冲区操作的互斥,初始值为1。
2:设信号量 avail 为生产者进程的私有信号量,初始值为m。
3: 设信号量 full 为消费者进程的私有信号量,初始值为0。
Deposit(data)BeginP(avail)选择一个空缓冲区 buf[i]P(mutex[i])buf[i] ← dataV(full)V(Mutex[i])EndRemove(data)BeginP(full)选择一个满缓冲区 buf[i]P(mutex[i])Data ← buf[i]V(avail)V(Mutex[i])End3.11 两进程PA,PB通过两FIFO缓冲区队列连接(如图),每个缓冲区长度等于传送消息长度。
进程PA,PB之间的通信满足如下条件:(1) 至少有一个空缓冲区存在时,相应的发送进程才能发送一个消息。
(2) 当缓冲队列中至少存在一个非空缓冲区时,相应的接收进程才能接收一个消息。
(3) 接受与发送进程可以同时操作缓冲区队列。
试描述发送过程send(i,data)和接收过程receive(i,data)。
这里i代表缓冲队列。
答:1:定义数组 buf[0](图中上面的缓冲区),buf[1](图中下面的缓冲区)2:设 bufempty[0],buffull[1] 为PA的私有信号量,初始值分别为n,03:设 bufempty[1],buffull[0] 为PB的私有信号量,初始值分别为n,0send(i,data)beginP(bufempty[i])按FIFO方式选择一个空缓冲区 buf[i][j]Buf[i][j] ← dataV(buffull[i]);Endremove(i,data)beginP(buffull[i])按FIFO方式选择一个满缓冲区 buf[i][j]Buf[i][j] ← dataV(bufempty[i]);End3.14 设有5个哲学家,共享一张放有五把椅子的桌子,每人分得一把椅子。
但是,桌子上总共只有5支筷子,在每人两边分开各放一支。
哲学家们在肚子饥饿时才试图分两次从两边拾起筷子就餐。
条件:(1) 只有拿到两支筷子时,哲学家才能吃饭。
(2) 如果筷子已在他人手上,则该哲学家必须等待到他人吃完之后才能拿到筷子。
(3) 任一哲学家在自己未拿到两支筷子吃饭之前,决不放下自己手中的筷子。
试:(1) 描述一个保证不会出现两个邻座同时要求吃饭的通信算法。