搜档网
当前位置:搜档网 › 《操作系统》习题集:第2章 进程与线程(第1部分)

《操作系统》习题集:第2章 进程与线程(第1部分)

《操作系统》习题集:第2章 进程与线程(第1部分)
《操作系统》习题集:第2章 进程与线程(第1部分)

第2章进程与线程-习题集

一、选择题

1.以下关于进程的描述中,正确的是()。【*,联考】

A. 进程获得CPU运行是通过调度得到的

B. 优先级是进程调度的重要依据,一旦确定就不能改变

C. 在单CPU的系统中,任意时刻都有一个进程处于运行状态

D. 进程申请CPU得不到满足时,其状态变为阻塞

2.一个进程是()。【*,联考】

A. 由处理机执行的一个程序

B. 一个独立的程序+数据集

C. PCB结构、程序和数据的组合

D. 一个独立的程序

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.下列选项中,降低进程优先级的合理时机是()。【***,10考研】

A. 进程的时间片用完

B. 进程刚完成I/O,进入就绪队列

C. 进程长期处于就绪队列中

D. 进程从就绪状态转为运行态

12.()必会引起进程切换。【**,★,联考】

A. 一个进程创建后,进入就绪态

B. 一个进程从运行态变为就绪态

C. 一个进程从阻塞态变为就绪态

D. 都不对

13.以下()不会引起进程创建。【**,联考,?】

A. 用户登录

B. 作业调度

C. 设备分配

D. 应用请求

14.下列选项中,导致创建新进程的操作是()。【***,★,10考研】

Ⅰ. 用户登录成功Ⅱ. 设备分配Ⅲ. 启动程序执行

A. 仅Ⅰ和Ⅱ

B. 仅Ⅱ和Ⅲ

C. 仅Ⅰ和Ⅲ

D. Ⅰ、Ⅱ、Ⅲ

15.以下关于父进程和子进程的叙述中,正确的是()。【**,★,联考】

A. 父进程创建了子进程,因此父进程运行完了,子进程才能运行

B. 父进程和子进程可以并发执行

C. 撤销子进程时,应该同时撤销父进程

D. 撤销父进程时,应该同时撤销子进程

16.在下面的叙述中,正确的是()。【**,联考,?】

A. 引入线程后,处理机只在线程间切换

B. 引入线程后,处理机仍在进程间切换

C. 线程的切换,不会引起进程的切换

D. 线程的切换,可能引起进程的切换

17.在下面的叙述中,正确的是()。【**,★,联考】

A. 线程是比进程更小的能独立运行的基本单位

B. 引入线程可提高程序并发执行的程序,可进一步提高系统效率

C. 线程的引入增加了程序执行坟的时空开销

D. 一个进程一定包含多个线程

18.在下面的叙述中,正确的是()。【*,联考】

A. 同一进程内的线程可并发执行,不同进程的线程只能串行执行

B. 同一进程内的线程只能串行执行,不同进程的线程可并发执行

C. 同一进程或不同进程内的线程都只能串行执行

D. 同一进程或不同进程内的线程都只能并发执行

19.以下关于线程的叙述中,正确的是()。【*,★,联考】

A. 内核支持线程的切换都需要内核的支持

B. 线程是资源的分配单位,线程都是拥有资源的独立单位

C. 不管系统中是否有线程,线程都是扔有资源的独立单位

D. 在引入线程的系统中,进程仍是资源分配和调度分派的基本单位

20.在支持多线程的系统中,进程P创建的若干线程不能共享的是()。【**,★,11考研】

A. 进程P的代码段

B. 进程P中打开的文件

C. 进程P的全局变量

D.进程P中某线程的栈指针

第二章进程管理答案

第二章进程管理 一、单项选择题 1、顺序程序和并发程序的执行相比,()。 A.基本相同 B. 有点不同 C.并发程序执行总体上执行时间快 D.顺序程序执行总体上执行时间快 2、在单一处理机上,将执行时间有重叠的几个程序称为()。 A.顺序程序 B. 多道程序 C.并发程序 D. 并行程序 3、进程和程序的本质区别是()。 A.存储在内存和外存 B.顺序和非顺序执行机器指令 C.分时使用和独占使用计算机资源 D.动态和静态特征 4、在下列特性中,不是进程的特性的是()。 A. 异步性 B. 并发性 C. 静态性 D. 动态性 5 A 6 A. 7 A. 8 A. 9 A. 10 A. 11 A. 12。 A. 13 A. 14 A. 15 A. 16、在操作系统中,对信号量S的P原语操作定义中,使进程进入相应阻塞队列等待的条件是()。 A. S>0 B. S=0 C. S<0 D. S≠0 17、信号量S的初值为8,在S上执行了10次P操作,6次V操作后,S的值为()。 A.10 B.8 C.6 D.4 18、在进程通信中,使用信箱方式交换信息的是()。 A.低级通信B.高级通信C.共享存储器通信D.管道通信 19.( )必定会引起进程切换。A.一个进程被创建后进入就绪态B.一个进程从运行态变成等待态c.一个进程从运行态变成就绪态 D.一个进程从等待态变成就绪态 20、操作系统使用( )机制使计算机系统能实现进程并发执行,保证系统正常工作。 A.中断B.查询c.同步D互斥 21.对于一个单处理器系统来说,允许若干进程同时执行,轮流占用处理器.称它们为()的。 A.顺序执行 B.同时执行c.并行执行D.并发执行

进程作业(附答案)

第二章进程管理 程序在顺序执行(①顺序性:每个操作必须在下一个操作开始之前结束。 ②封闭性:程序一旦开始运行,独占全部资源,其执行结果不受外界因素影响。 ③可再现性:当程序重复执行时,只要程序执行的环境和初始条件相同,必将获得相同的结果。)时和并发执行(并发、资源共享、制约关系和动态等特征)时,分别具有哪些特征什么叫进程(进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。)为什么要引入进程的概念 1.进程的基本特征是什么(动态、共行、独立)?请叙述进程与程序的关系和差别 2.进程有哪几种基本状态请画出各状态之间的状态变化图并说明状态转换的典型原因 3.什么是PCB包含哪些主要内容其作用是什么(是使一个在多道程序环境下不能独立运行的程 序(含数据),成为一个能独立运行的基本单位,一个能与其它进程并发执行的进程。)(为什么说PCB是进程存在的唯一标志) 4.下列哪些情况是对的: ⑴进程由自己创建⑷进程由于自己解除挂起 ⑵进程由于自己阻塞⑸进程由于自己唤醒 ⑶进程由于自己挂起⑹进程由自己撤消 5.请解释忙等待与阻塞的区别。 6.用进程状态变迁图,我们可以说明有关处理机管理的大量内容, ⑴什么“事件”引起每次显着的状态变迁 ⑵当人们观察系统中所有进程时,我们能够看到由某一进 下,进程变迁3能立即引起一进程的变迁1发生 ⑶在什么情况下,如果有的话,将发生下述因果变迁: 21; 32; 41 ⑷在什么情况下,如果有的话,下述变迁不会立即引起其 它变迁发生 a) 1; b) 2; c) 3; d) 4 7.操作系统的内核是什么 8.原语与非内核程序在执行上有什么不同 9.什么是进程的控制包括哪些基本内容(进程的创建,进程的撤消,进程的阻塞,进程的唤醒,进程的 挂起,进程的激活,改变进程的优先级…等) 10.什么是线程试说明进程与线程的关系与区别。 11.并发进程间的制约有哪两种引起制约的原因是什么 12.我们说程序的并发执行将导致最终失去封闭性.这话对所有的程序都成立吗试举例说明. 13.什么叫与时间有关的错误与时间有关的错误表现在哪些方面请举例说明之. 14.什么是进程间的互斥什么是进程间的同步这两个概念有何区别 15.考虑一台计算机,它没有TEST AND SET LOCK指令,但可以按原子操作方式将一个寄存器的内 容与另一个存储器字进行交换,是否能利用该指令写一个达到互斥的例程 16.什么叫临界资源什么叫临界段对临界区的管理应符合哪些原则你能用什么工具去写进程间 互斥的同步算法书写该算法时应注意什么问题 17.下面是两个并发执行的进程,它们能正确运行吗若不能正确运行,请举例说明,并改正之(X是定 义的公共变量). Cobegin var x:integer; procedure P1 procedure P2 var y,z:integer; var t,u:integer; begin begin x:=1; x:=0; y:=0; t:=0; if x>=1 then y:=y+1; if x<1 then t:=t+2; z:=y u:=t end; end; coend; 18.因修路使A地到B地的多路并行车道变为单车道,请问在此问题中,?什么是临界资源什么是临 界段

操作系统第二章进程和线程复习题

第二章练习题 一、单项选择题 1.某进程在运行过程中需要等待从磁盘上读入数据,此时该进程的状态将( C )。 A. 从就绪变为运行; B.从运行变为就绪; C.从运行变为阻塞; D.从阻塞变为就绪 2.进程控制块是描述进程状态和特性的数据结构,一个进程( D )。 A.可以有多个进程控制块; B.可以和其他进程共用一个进程控制块; C.可以没有进程控制块; D.只能有惟一的进程控制块。 3.临界区是指并发进程中访问共享变量的(D)段。 A、管理信息 B、信息存储 C、数 据 D、程序 4. 当__ B__时,进程从执行状态转变为就绪状态。 A. 进程被调度程序选中 B. 时间片到 C. 等待某一事件 D. 等待的事件发生 5. 信箱通信是一种( B )通信方式。 A. 直接通信 B. 高级通信 C. 低级通信 D. 信号量 6. 原语是(B)。

A、一条机器指令 B、若干条机器指令组成 C、一条特定指令 D、中途能打断的指令 7. 进程和程序的一个本质区别是(A)。 A.前者为动态的,后者为静态的; B.前者存储在内存,后者存储在外存; C.前者在一个文件中,后者在多个文件中; D.前者分时使用CPU,后者独占CPU。 8. 任何两个并发进程之间存在着(D)的关系。 A.各自完全独立B.拥有共享变量 C.必须互斥D.可能相互制约 9. 进程从运行态变为等待态可能由于(B )。 A.执行了V操作 B.执行了P操作 C.时间片用完 D.有高优先级进程就绪 10. 用PV操作管理互斥使用的资源时,信号量的初值应定义为(B)。 A.任意整数 B.1 C.0 D.-1 11. 现有n个具有相关临界区的并发进程,如果某进程调用P操作后变为等待状态,则调用P操作时信号量的值必定为(A)。 A.≤0 B.1 C.n-1 D.n

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

第二章进程管理 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是进程存在的唯一标志。 8. 试说明进程在三个基本状态之间转换的典型原因. a. 处于就绪状态的进程,当进程调度程序为之分配了处理机后,该进程便由就绪状态变 为执行状态。 b. 当前进程因发生某事件而无法执行,如访问已被占用的临界资源,就会使进程由执行 状态转变为阻塞状态。 c. 当前进程因时间片用完而被暂停执行,该进程便由执行状态转变为就绪状态。 9. 为什么要引入挂起状态?该状态有哪些性质? a. 引入挂起状态主要是出于4种需要(即引起挂起的原因): 终端用户的请求,父进程 请求,负荷调节的需要,操作系统的需要。

《操作系统》习题集:第2章 进程与线程(第1部分)

第2章进程与线程-习题集 一、选择题 1.以下关于进程的描述中,正确的是()。【*,联考】 A. 进程获得CPU运行是通过调度得到的 B. 优先级是进程调度的重要依据,一旦确定就不能改变 C. 在单CPU的系统中,任意时刻都有一个进程处于运行状态 D. 进程申请CPU得不到满足时,其状态变为阻塞 2.一个进程是()。【*,联考】 A. 由处理机执行的一个程序 B. 一个独立的程序+数据集 C. PCB结构、程序和数据的组合 D. 一个独立的程序 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.下列选项中,降低进程优先级的合理时机是()。【***,10考研】 A. 进程的时间片用完 B. 进程刚完成I/O,进入就绪队列 C. 进程长期处于就绪队列中 D. 进程从就绪状态转为运行态 12.()必会引起进程切换。【**,★,联考】

操作系统第二章作业讲解

操作系统第二章作业讲解

第二章习题讲解 1、进程之间存在着哪几种制约关系?各是什么原因引起的?下列活动分别属于哪种制约关系? (1)若干同学去图书馆借书;(2)两队举行篮球比赛;(3)流水线生产的各道工序;(4)商品生产和社会消费。 答:进程之间存在着直接制约与间接制约这两种制约关系,其中直接制约(同步)是由于进程间的相互合作而引起的,而间接制约(互斥)则是由于进程间共享临界资源而引起的。 (1)若干同学去图书馆借书,是间接制约,其中书是临界资源;(2)两队举行篮球比赛,是间接制约,其中蓝球是临界资源;(3)流水线生产的各道工序,是直接制约,各道工序间需要相互合作,每道工序的开始都依赖于前一道工序的完成;(4)商品生产和社会消费,是直接制约,两者也需要相互合作:商品生产出来后才可以被消费;商品被消费后才需要再生产。 2、试写出相应的程序来描述下图所示的前趋图

var a,b,c,d,e,f:semaphore:=0,0,0,0,0,0; begin S1; signal(a); signal(b); signal(c); end; begin wait(a); S2; end; begin wait(b); S3; signal(d); end; begin wait(c); S4; end; begin wait(d); S5; signal(e); signal(f); end; begin wait(e); S6; end; begin wait(f); S7; end; 3、已知一个求值公式(A2+3B)/(B+5A),若A、B已赋值,试画出该公式求值过程的前趋图,并使用信号量描述这些前趋关系。 答:根据求值公式,假设: S1: X1=A*A S2: X2=3*B S3: X3=5*A

操作系统实验-第二讲、进程的创建

操作系统 实验报告 哈尔滨工程大学 计算机科学与技术学院

第三讲进程的创建 一、实验概述 1. 实验名称 进程的创建 2. 实验目的 1)、练习使用 EOS API 函数 CreateProcess 创建一个进程,掌握创建进程的方法,理解进程和程序的区别。 2)、调试跟踪 CreateProcess 函数的执行过程,了解进程的创建过程,理解进程是资源分配的单位。 3. 实验类型(验证、设计) 验证型 4. 实验内容 1)、准备实验 2)、练习使用控制台命令创建 EOS 应用程序的进程 3)、练习通过编程的方式让应用程序创建另一个应用程序的进程 4)、调试 CreateProcess 函数 5)、调试 PsCreateProcess 函数 6)、练习通过编程的方式创建应用程序的多个进程 二、实验环境 进行实验使用的操作系统、编译器、语言及工具等。 操作系统:Windows XP 编译器: Tevalaton OS Lab 语言: C++ 三、实验过程(每次实验不一定下面6条都写,根据实际情况定) *需要解决的问题以及解答 (1)、程序创建2个进程创建的情况下,实验指导P133-4的*NewProcess和6的*ProcessObject变化情况,监控变量界面截图。 答: 在PsCreateProcess函数中找到调用PspCreateProcessEnvironment函数的代码行(create.c文件的163行),并在此行添加一个断点。按 F5继续调试,到此断点处中断。按F11调试进入 PspCreateProcessEnvironment 函数。 在调用ObCreateObject函数的代码行(create.c文件的第418行)添加一个断点。按F5继续调试,到此断点处中断。按F10执行此函数后中断。 将表达式*NewProcess添加到“监视”窗口中,继续一步步调试可以观察到进程控制块的成员变量的值的变化,如下图:

(完整版)第二章进程管理习题和答案

--一、填空题 1. 进程是一个程序对某个数据集的一次执行过程。进程从结构上讲,包括程序、 数据和PCB 三部分。 2. 进程是一个动态的概念,程序是一个静态的概念。 3. 操作系统中,可以并行工作的基本单位是进程,它是由程序、数据集和PCB 组 成。 4. 进程存在的唯一标志是PCB 的存在。当系统创建一个进程时,系统为其建立 一个PCB ,当进程被撤销时系统就将其收回。 5. 进程有三种基本状态,即运行状态、就绪状态、阻塞状态。当进程由(1) 变换到(2)或(3)时,就会立即引起重新调度。 6. 在操作系统中,不可中断执行的操作称为原语。 7. 并发进程之间的基本关系是同步或互斥。其中互斥是指进程之间的一种间接关 系。 8?临界资源是指一段时间只允许一个进程使用的资源_,而临界区是指—进程中访问临界资源的程序代码。 9. P,V 操作原语是在信号量上操作的。 10. 信号量的物理意义是:当信号量的值大于零时,表示_ 可用资源的数量当信 号量值小于零时,其绝对值为—等待使用信号量所代表资源的进程的数量。 11. 有n 个进程共享同一个临界区,若使用信号量机制实现对临界资源的互斥访 问, 则信号量值的变化范围是1~-(n-1 )。 12. 如果系统中有n 个进程,则在等待(阻塞)队列中进程的个数最多可为个 n 。 13. 如果信号量的当前值为- 5,则表示系统中在该信号量上有 5 个等待进程。 14. 某程序运行时经常需打印中间结果。计算时,该进程处于_ 用户态,打印时处 于系统态,打印结束时进程处于用户态。(指系统状态)、

15. 在操作系统中引入线程的主要目的是—减少程序并发执行时的时空开销,使 OS 更具有并发性。 16. 如果一个程序能为多个进程同时共享执行,那么它应该以纯码形式编写,即

第2章进程作业(附答案)

第二章进程管理 程序在顺序执行(①顺序性:每个操作必须在下一个操作开始之前结束。 ② 封闭性:程序一旦开始运行,独占全部资源,其执行结果不受外界因素影响。 ③ 可再现性:当程序重复执行时,只要程序执行的环境和初始条件相同,必将获得相同的结 果。)时和并发执行(并发、资源共享、制约关系和动态等特征)时 ,分别具有哪些特征? 什么叫进程(进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。 什么要引入进程的概念 ? 在什么情况下,如果有的话,下述变迁不会立即引起其它变迁发生? 原语与非内核程序在执行上有什么不同 ? 什么是进程的控制?包括哪些基本内容 (进程的创建,进程的撤消,进程的阻塞,进程的唤醒,进程 的挂起,进程的激活,改变进程的优先级… 等)? 10.什么是线程?试说明进程与线程的关系与区别。 11. 并发进程间的制约有哪两种 ?引起制约的原因是什么 ? 12. 我们说程序的并发执行将导致最终失去封闭性 .这话对所有的程序都成立吗 ?式举例说明. 13.什么叫与时间有关的错误 ?与时间有关的错误表现在哪些方面 ?请举例说明之. 14. 什么是进程间的互斥?什么是进程间的同步?这两个概念有何区别 15. 考虑一台计算机,它没有 TEST AND SET LOCK 指令,但可以按原子操作方式将一个寄存器 的内容与另一个存储器字进行 交换,是否能利用该指令写一个达到互斥的例程? 16. 什么叫临界资源?什么叫临界段? 对临界区的管理应符合哪些原则 ?你能用什么工具去写进 程间互斥的同步算法?书写该算法时应注意什么问题 17.下面是两个并发执行的进程,它们能正确运行吗?若不能正确运行,请举例说明,并改正之(X 是定 义的公共变量). )?为 1. ? 青叙述进程与程序的关系和差别? 2. 进程的基本特征是什么?(动态、共行、独立) 进程有哪几种基本状态 ?请画出各状态之间的状态变化图并说明状态转换的典型原因? 3. 什么是PCB?包含哪些主要内容?其作用是什么 4. 的程序(含数据),成为一个能独立运行的基本单位, 什么说PCB 是进程存在的唯一标志)? 下列哪些情况是对的: (是使一个在多道程序环境下不能独立运行 一个能与其它进程并发执行的进程。 ) (为 5. 6. ⑴进程由自己创建 ⑵进程由于自己阻塞 ⑶进程由于自己挂起 请解释忙等待与阻塞的区别。 进程由于自己解除挂起 进程由于自己唤醒 进程由自己撤消 用进程状态变迁图,我们可以说明有关处理机管理的大量内容, ⑴什么“事件”引起每次显著的状态变迁? ⑵ 当人们观察系统中所有进程时,我们能够看到由某一进 程产生的一次状态变迁也可能引起一进程的变迁。在什么情况 下, 进程变迁3能立即引起一进程的变迁 1发生? 在什么情况下,如果有的话,将发生下述因果变迁 1; 3 2; 4 1 7. a ) 1; b ) 2; 操作系统的内核是什么? d) 4 8. 9.

进程与线程的区别[试题]

进程与线程的区别[试题] 进程与线程的区别: 通俗的解释 一个系统运行着很多进程,可以比喻为一条马路上有很多马车 不同的进程可以理解为不同的马车而同一辆马车可以有很多匹马来拉----这些马就是线程 假设道路的宽度恰好可以通过一辆马车道路可以认为是临界资源 那么马车成为分配资源的最小单位(进程) 而同一个马车被很多匹马驱动(线程)----即最小的运行单位 每辆马车马匹数>=1 所以马匹数=1的时候进程和线程没有严格界限,只存在一个概念上的区分度马匹数>1的时候才可以严格区分进程和线程 专业的解释: 简而言之,一个程序至少有一个进程,一个进程至少有一个线程. 线程的划分尺度小于进程,使得多线程程序的并发性高。另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。 线程在执行过程中与进程还是有区别的。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。 从逻辑角度来看,多线程的意义在于一个应用程序中,有多个执行部分可以同时执行。但操作系统并没有将多个线程看做多个独立的应用,来实现进程的调度和管理以及资源分配。这就是进程和线程的重要区别。

进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位. 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源. 一个线程可以创建和撤销另一个线程;同一个进程中的多个线程之间可以并发执行 进程和线程的主要差别在于它们是不同的操作系统资源管理方式。进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响,而线程只是一个进程中的不同执行路径。线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,一个线程死掉就等于整个进程死掉,所以多进程的程序要比多线程的程序健壮,但在进程切换时,耗费资源较大,效率要差一些。但对于一些要求同时进行并且又要共享某些变量的并发操作,只能用线程,不能用进程。如果有兴趣深入的话,我建议你们看看《现代操作系统》或者《操作系统的设计与实现》。对就个问题说得比较清楚。 +++++++++++++++++++++++++++++++++++++++++++++++ 进程概念 进程是表示资源分配的基本单位,又是调度运行的基本单位。例如,用户运行自己的程序,系统就创建一个进程,并为它分配资源,包括各种表格、内存空间、磁盘空间、I,O设备等。然后,把该进程放人进程的就绪队列。进程调度程序选中它,为它分配CPU以及其它有关资源,该进程才真正运行。所以,进程是系统中的并发执行的单位。

《操作系统》习题集:第2部分 进程管理(1-进程与线程)(知识域编号)

第2部分进程管理(1-进程与线程)-习题集 一、选择题 1.以下关于进程的描述中,正确的是()。【*,联考】 A. 进程获得CPU运行是通过调度得到的 B. 优先级是进程调度的重要依据,一旦确定就不能改变 C. 在单CPU的系统中,任意时刻都有一个进程处于运行状态 D. 进程申请CPU得不到满足时,其状态变为阻塞 2.一个进程是()。【*,联考】 A. 由处理机执行的一个程序 B. 一个独立的程序+数据集 C. PCB结构、程序和数据的组合 D. 一个独立的程序 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.进程状态由就绪态转换为运行态是由()引起的。【**,06西安电子】 A. 中断事件 B. 进程状态转换 C. 进程调度 D. 为程序创建进程 11.()必会引起进程切换。【**,★,联考】 A. 一个进程创建后,进入就绪态 B. 一个进程从运行态变为就绪态 C. 一个进程从阻塞态变为就绪态 D. 都不对 12.进程自身决定()。【*,★,06燕山】

第02章 进程与线程习题解答

第2章进程与线程 习题2 参考解答 1. 简要回答下列问题。 1) 进程和线程有什么区别? 2) 线程是如何创建的?怎样设置线程的优先级? 3) 前台线程和后台线程有什么区别?如何将一个线程设置为后台线程? 【解答】 1) 一个完整的进程拥有自己独立的内存空间和数据,但是同一个进程内的线程是共享内存空间和数据的。一个进程对应着一段程序,它是由一些在同一个程序里面独立的同时运行的线程组成的。线程有时也被称为并行运行在程序里的轻量级进程,这是因为它的运行依赖于进程提供的上下文环境,并且使用的是进程的资源。 在一个进程里,线程的调度有抢占式或者非抢占的模式。在抢占模式下,操作系统负责分配CPU时间给各个线程,一旦当前的线程使用完分配给自己的CPU时间,操作系统将决定下一个占用CPU时间的是哪一个线程。因此操作系统将定期的中断当前正在执行的线程,将CPU 分配给在等待队列的下一个线程。所以任何一个线程都不能独占CPU。每个线程占用CPU的时间取决于进程和操作系统。进程分配给每个线程的时间很短,以至于我们感觉所有的线程是同时执行的。 2) C#中创建线程的工作是通过使用System.Threading名称空间下的Thread类的构造方法来完成的,如创建一个线程实例输出字符“a”1000次。 Thread thread = new Thread(new ThreadStart(func1)); thread.Priority =ThreadPriority.Normal; thread.Start(); static void func1() { for(int i =0;i<1000;i++) { Console.WriteLine("a"); } } C#中System.Threading名称空间下的ThreadPriority枚举类定义了线程可能具有的所有优先级的值,优先级由高到低排序为:Highest,AboveNormal,Normal,BelowNormal,Lowest。可以通过访问线程的Priority属性来获取和设置其优先级。每个线程都具有分配给它的线程优先级。在公共语言运行库中创建的线程最初分配的优先级为ThreadPriority.Normal。在运行库以外创建的线程保留它们在进入托管环境之前具有的优先级。可以使用Thread.Priority属性获取或设置任何线程的优先级。 3) 前台线程和后台线程的区别是后台线程不会影响进程终止。属于某个进程的所有前台线程都终止后,公共语言运行库就会结束该进程,而且所有属于该进程的后台线程也都会立即停止,而不管后台工作是否完成。 1

操作系统-第二章-进程和线程复习

操作系统-第二章-进程和线程复习题(五)

第二章练习题 一、单项选择题 1.某进程在运行过程中需要等待从磁盘上读入数据,此时该进程的状态将()。 A. 从就绪变为运行;B.从运行变为就绪; C.从运行变为阻塞;D.从阻塞变为就绪2.进程控制块是描述进程状态和特性的数据结构,一个进程()。 A.可以有多个进程控制块; B.可以和其他进程共用一个进程控制块; C.可以没有进程控制块; D.只能有惟一的进程控制块。 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.前者分时使用CPU,后者独占CPU。 8. 任何两个并发进程之间存在着()的关系。 A.各自完全独立 B.拥有共享变量 C.必须互斥 D.可能相互制约 9. 进程从运行态变为等待态可能由于()。 A.执行了V操作B.执行了P操作 C.时间片用完D.有高优先级进程就绪 10. 用PV操作管理互斥使用的资源时,信号量的初值应定义为()。 A.任意整数B.1 C.0 D.-1 11. 现有n个具有相关临界区的并发进程,如果某进程调用P操作后变为等待状态,则调用P操作时信号量的值必定为()。 A.≤0B.1 C.n-1 D.n 12. 用PV操作管理临界区时把信号量的初值定义为1,现已有一个进程在临界区,但有n个进程在等待进入临界区,这时信号量的值为()。 A.-1 B.1 C.-n D.n 13. 用V操作唤醒一个等待进程时,被唤醒进程的状态应变成()状态。

操作系统(进程与线程)习题与答案

1、下面哪种死锁处理策略代价最小?() A.死锁忽略 B.死锁检测+恢复 C.死锁避免 D.死锁预防 正确答案:A 2、下面哪种死锁处理策略引入的不合理因素最严重?() A.死锁检测+恢复 B.死锁忽略 C.死锁预防 D.死锁避免 正确答案:C 3、为什么进程切换的代价要比线程切换要大?() A.因为进程切换要切换控制块数据结构 B.因为进程切换要切换PC指针 C.因为进程切换要切换段表 D.因为进程切换要切换栈 正确答案:C 4、初值为N的信号量,当前值为-1表示的含义是什么?() A.有1个资源 B.有N-1个进程在等待 C.有1个进程在等待 D.有N-1个资源 正确答案:C

5、为什么PC机通常死锁忽略策略?() A.因为死锁检测算法在PC机器上不能执行 B.因为PC机上的发生死锁造成的破坏小 C.因为PC机上的死锁可以用重启来解决 D.因为PC机上的发生死锁的可能性小 正确答案:C 6、下面哪种参数可以用来表征操作系统可以对用户输入快速处理?() A.响应时间 B.等待时间 C.吞吐量 D.周转时间 正确答案:A 7、下面哪种调度算法可以保证用户的输入在一定的时间以后可以得到响应?() A.短作业优先 B.时间片轮转调度 C.剩余短作业优先 D.先来先服务算法 正确答案:B 8、下面哪个系统调用不是用来操控进程的?() A.open() B.fork() C.wait() D.exec() 正确答案:A 9、下面哪种状态下的进程不存放在内存中?()

A.运行态 B.阻塞态 C.挂起态 D.就绪态 正确答案:C 10、关于进程和线程的主要区别,下面哪种论述是正确的?() A.线程之所以切换快是因为TCB比PCB尺寸小 B.线程切换时可能会引起进程切换 C.进程不能成为调度的单位 D.线程可以没有栈 正确答案:B 11、在实际系统中实现进程调度算法需要考虑诸多因素,相比而言下面哪个因素最不需要考虑?() A.机器物理内存的大小 B.机器的使用环境 C.用户任务的特点 D.算法的复杂性 正确答案:A 12、进程和程序的区别主要体现在哪里?() A.进程在内存中,程序在磁盘上。 B.进程有代码段,程序没有。 C.进程在CPU上执行,程序没有执行。 D.进程有当前执行位置,程序没有。 正确答案:D

最新操作系统——随堂作业3-第二章进程2

随堂练习3 一单选 1、(B)是解决进程间同步与互斥的一对低级通信原语。 A、lock和unlock B、P和V C、W和S D、send和receive 2、临界区是指并发进程中共享临界资源的(C) A、内存区 B、数据区段 C、程序区段 D、管理信息 3、利用P、V操作控制临界区的使用。当有N个进程希望进入临界区时,对应信号量的最大取值范围可能是( C)。A.1~-1 B.-1~1 C.1~1-N D.-N~N-1 4、在操作系统中,对信号量S的P原语操作定义中,使进程进入相应等待队列等待的条件是( C )。 A、S大于0 B、S等于0 C、S小于0 D、S不等于0 5、在一段时间内,只允许一个进程访问的资源称为( C )。 A、共享资源 B、临界区 C、临界资源 D、共享区 6、进程间的基本关系为(B )。 A.相互独立与相互制约 B.同步与互斥 C.并行执行与资源共享 D. 信息传递与信息缓冲 7、两个进程合作完成一个任务,在并发执行中,一个进程要等待其合作伙伴发来信息,或者建立某个条件后再向前执行,这种关系是进程间的( A )关系。 A、同步 B、互斥 C、竞争 D、合作 8、信号量被定义为一个整形变量, 其初始值是( A )。 A、整数 B、无限制 C、非负数 D、零 9、对于两个并发进程, 设互斥信号量为mutex, 若 mutex = 0 则( B )。 A、表示没有进程进入临界区。 B、表示一个进程进入临界区。 C、表示一个进程进入临界区, 另一个进程等待进入。 D、表示两个进程进入临界区. 10、下列资源中那些不是临界资源( B )。 A、打印机 B、非共享资源 C、共享变量 D、共享缓冲区 11、为了进行进程协调, 进程之间应当具有一定的联系, 这种联系通常采用进程间交换数据的方式进行, 这种方式称为 ( D )。 A、进程互斥 B、进程同步 C、进程制约 D、进程通信 12、进程控制块中的现场信息是在( D )保存的。 A、创建进程时 B、处理器执行指令时 C、中断源申请中断时 D、中断处理程序处理中断前 二填空 1、进程被创建后,最初处于__就绪__ 状态,然后经进程调度程序选中后进入执行状态。 2、进程进行了P操作后,若能继续运行,P操作前信号量的值应该___大于0_____。 3、进程的同步和互斥反映了进程间直接制约和___间接制约_______的关系。 4、每执行一次V操作,信号量的数值S加1。若S__>__0(此处填>或<或>=或<= ),则该进程继续执行。 5、利用信号量实现进程的_互斥___ ,应为临界区设置一个信号量mutex,其初值为1,表示该资源尚未使用,临界区应置于P(mutex)和V(mutex)原语之间。 6、通常,_线程_______的定义是是进程中执行运算的最小单位。在现代操作系统中,资源的分配单位是进程。 7、每执行一次P操作,信号量的数值S减1。若S 0,则该进程___继续执行_____。 8、并发进程中涉及到共享变量的程序段称为___临界区_____,两个进程同时进入相关的临界区会造成与时间有关的错误。 9、计算机系统中, 只有一个处理器, 则多个进程将争夺CPU资源, 如何把CPU有效地分配给进程, 这是__进程调度_____要解决的问题. 10、利用信号量实现进程的互斥,应为临界区设置一个信号量mutex,其初值为___1______,表示该资源尚未使用,临

操作系统第2章(进程和线程的管理习题及解答)

第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.2.4 进程的挂起状态与进程的阻塞状态和就绪状态有何异同? 解相同点是它们都没有占用处理机。不同点是挂起状态的进程 是处于一种静止状态,不会参与对资源的竞争,在解除挂起之前, 进程不会有新的资源要求,也不会有占用处理机的机会;阻塞状态 和就绪状态的进程均处于活动状态,它们都有获得处理机的机会, 都可能有新的资源要求。 例 2.2.5 两个并发进程P1和P2的程序代码在下面给出。其中,A、B、C、D和E均为原语。 P1: begin P2: begin

习题解答——第2章进程与线程

第2章进程与线程思考与练习题 4 6.进程的三个基本状态如图所示,图中1、2、3、4表示某种类型的状态变迁,试回答以下问题:1什么“事件”引起各状态之间的变迁? 2系统中常常由于某一进程的状态变迁引起另一进程也产生状态变迁,我们把这种变迁称为因果变迁。试判断下述哪些是因果变迁?并说明理由。 3→1, 2→1, 3→2, 4→1, 3→4 6下述哪些变迁不会引起其它变迁,为什么? 1, 2, 3, 4 答:(1)1为进程调度, 2为时间片用完, 3为请求I/O或等待某事件, 4为I/O完成或事件完成。 (2)3→1,2→1为因果变迁,其他均不是,因为前者均是一个进程从CPU下来,另一个就绪态的进程被调度。 (3)1和4不会引起其他变迁,理由同(2)。 7.假如有以下程序段: S1: a = 5 - x; S2: b = 3 * x; S3: c = a + b; S4: d = c + 3; 1试画图表示它们执行时的先后次序。 2利用Bernstain条件证明,S1和S2是可以并发执行的,S3和S4是不可以并发执行的。 3试用信号量写出它们可以并发执行的程序。 答: (1)进程的执行次序如下图

(2)对于进程S1和S2 R(S1)={x},W(S1)={a} R(S2)={x},W(S2)={b} R(S1)∩W(S2)∪R(S2)∩W(S1)∪W(S1)∩W(S2)=Ф由Bernstain条件得知,S1和S2可以并发执行。 R(S3)={a,b},W(S3)={c} R(S4)={c},W(S4)={d} R(S3)∩W(S4)∪R(S4)∩W(S3)∪W(S3)∩W(S4)={c} 由Bernstain条件得知,S1和S2不可以并发执行。 (3)定义信号量a=b=c=0 S1: S2: S3: S4: a=5-x b=3*x p(a) p(c) v(a) v(b) p(b) d=c+3 c=a+b v(c)

习题1 进程与线程

习题1 进程与线程 1. 选择题 (1)关于线程和进程,下列说法哪些是正确的是( D ) A. 线程是操作系统分配处理器时间的基本单位; B. 进程是操作系统分配处理器时间的基本单位; C. 一个线程可以属于多个进程; D. 一个进程可以有多个线程; (2)多线程C#程序中,类MyClass 定义如下: class MyClass { ReaderWriterLock rwl = new ReaderWriterLock(); private int i; public void Read() { rwl.AcquireReaderLock(Timeout.Infinite); Interlocked.Increment(ref i); Thread.Sleep(1000); rwl.ReleaseReaderLock(); } public void Write() { rwl.AcquireWriterLock(Timeout.Infinite); Interlocked.Decrement(ref i); Thread.Sleep(1000); rwl.ReleaseWriterLock(); } } 请问,可以有多少个线程同时调用Read()并将i 的值加1?(B ) A. 0个 B. 1个 C. 多个 D. 没有 2. 填空题 (1)使用System.Diagnostics命名空间提供的进程类Process,用户可以查看和管理大部分Windows进程任务,包括启动和___终止__进程,以及___管理__进程信息。启动一个已经定位的进程可以使用Process类的__start()_方法。 (2)使用System.Threading命名空间提供的线程类Thread的__Start()__方法,可以启动多线程,要实现等待该线程结束的任务可以使用Thread的__Join()_方法。 (3)线程同步可以采用以下四种方法: wait()、sleep()、notify()、notityAll ()。 3. 简答题 (1)进程和线程分别怎么理解? 进程是操作系统结构的基础;是一个正在执行的程序;计算机中正在运行的程序实例;可以分配给处理器并由处理器执行的一个实体;由单一顺序的执行显示,一个当前状态和一组相关的系统资源所描述的活动单元。 线程是"进程"中某个单一顺序的控制流。也被称为轻量进程.计算机科学术语,指运行中的程序的调度单位。 (2)System.Diagnostics命名空间提供的进程类Process有些什么属性? BasePriority CanRaiseEvents Container DesignMode

相关主题