搜档网
当前位置:搜档网 › 进程管理习题课

进程管理习题课

进程管理习题课
进程管理习题课

一、判断题

1.( )操作系统的所有程序都必须常驻内存。

2.( )多道程序设计可以缩短系统中作业的执行时间。

3.( )实时系统中的作业周转时间有严格的限制。

4.( )进程获得处理机而运行是通过申请而得到的。

5.( )同一个程序不能被创建成多个进程。

6.( )子进程可以继承它的父进程所拥有的所有资源。

7.( )对于临界区,最重要的是断定哪个进程先执行临界区里的那段程序。

8.( )若进程A和进程B在临界区上互斥,那么当A位于临界区内时不能打断它的

运行。

9.( )进程间的互斥是一种特殊的同步关系。

10.( )临界区是指进程中用于实现进程互斥的那段代码。

11.( )资源的同时共享是指多个用户作业可以在同一时刻使用同一资源。

12.( )并发性是指若干事件在同一时间间隔内发生。

13.( )进程在运行中,可以自行修改自己的进程控制块PCB。

14.( )进程申请CPU得不到满足时,其状态变为等待态。

15.( )当一个进程从等待态变成就绪态,则一定有一个进程从就绪态变成运行态。

16.( )进程状态的转换是由操作系统完成的,对用户是透明的。

17.( )优先数是进程调度的重要依据,优先数大的进程首先被调度运行。

18.( )不可抢占式动态优先数法一定会引起进程长时间得不到运行。

19.( )进程调度的主要功能是从所有处于等待状态的进程中挑选一个"最合适"的进

程,创建好进程运行所需要的环境,然后把处理机分配给它。

20.( )无限循环和无限延迟是一个概念。

21.( )导致系统出现死锁的一种原因是某个用户作业发生了死循环。

22.( )一旦出现死锁,所有进程都不能运行。

23.( )所有进程都挂起时系统陷入死锁。

24.( )参与死锁的进程至少有两个已经占有资源。

25. ( )有M个进程的操作系统出现死锁时,死锁进程的个数为1

26.( )所有进程都进入等待状态时,系统陷入死锁。

27.( )系统调用是用户程序请求操作系统服务的唯一方式。

28.( )原语和系统调用的主要区别在于两者的实现方法不同。

29. ( )有了线程之后,程序只能以线程的身份运行。

30. ( ) 线程的切换会引起进程的切换。

31. ( ) 多个线程可以对应同一段程序。

32. ( ) 系统内可以有无父进程的进程。

33. ( ) 线程所对应的程序肯定比进程所对应的程序短。

34. ( ) 进程从CPU退下时,将“现场”保存在系统栈内。

35. ( ) 在多道程序系统,进程需要等待某种事件的发生时,进程一定进入阻塞状态。

36. ( ) 进程上下文是进程执行活动全过程的静态描述。

37. ( )并发是并行的不同表述,其原理相同。

38. ( ) 进程是基于多道程序技术而提出的,其基本的特征是动态性;进程的执行是在多个状态间多次转换的过程,但只有处于就绪和执行状态的进程位于内存。

39. ( ) 操作系统对进程的管理和控制主要是通过控制原语实现的。

40. ( ) 原语的执行是屏蔽中断的。

41. ( )一般情况下,分时系统中处于就绪状态的进程最多。

42. ( )系统中进程的数目越多,CPU的利用率越高.

43. ( )多道程序的执行失去了封闭性和再现性,因此多道程序系统不需要封闭性和再现性。

44. ( ) 一个多道程序可能具备封闭性和再现性。

45. ( )单道程序不具备封闭性和再现性。

46.( )同步信号量的初值一般为1。

47.( )引入管程是为了让系统自动处理临界资源的互斥使用问题。

48.( )生产者-消费者问题是一个既有同步又有互斥的问题。

49.( )用管程实现进程同步时,管程中的过程是不可中断的。

50.( )进程A、B共享变量x,需要互斥执行;进程B、C共享变量y,B、C也需要互斥执行,因此,进程A、C必须互斥执行。

二、填空题

1、设系统中仅有一个资源类,其中共有3个资源实例,使用此类资源的进程共有3个,每个进程至少请求一个资源,它们所需资源最大量的总和为X,则发生死锁的必要条件是:_________。

2、一台计算机有10台磁带机被m个进程竞争,每个进程最多需要三台磁带机,那么m为__________时,系统没有死锁的危险。

三、简答题

1、多道程序技术的特点

2、程序、进程、线程的区别

3、生产者-消费者问题的同步算法中,为什么颠倒生产者进程中的两个P操作的次序,将导致进程死锁?

4、临界资源和临界区

四、解答题

1、多个进程对信号量S进行了5次 P操作,2次V操作后,现在信号量的值是 -3,与

信号量S相关的处于阻塞状态的进程有几个?信号量的初值是多少?

2、进程P1和P2通过两个缓冲区给进程P11、P12、P21、P22传递信息,进程P11、P12

取进程P1的信息,进程P21、P22取进程P2的信息。假定这两个缓冲区一样大小,所要传递的信息也与缓冲区一样大,同一时刻只能由一个进程往缓冲区中送信息或取信息。试用PV操作来实现这6个进程之间的同步与互斥关系,只要求写出进程P1与P11的同步算法。

3、学生和监考老师都看作进程,学生有N人,教师1人。考场门口每次只能进出一个人,

进考场原则是先来先进。当N个学生都进入考场后,教师才能发卷子。学生交卷后可以离开考场。教师要等收上来全部卷子后才能离开考场。

①问共需设置几个进程?

②设置合适的信号量及初值,试用P、V操作解决上述问题中的同步和互斥关系。

4、设系统中有三种类型的资源(A、B、C)和五个进程(P0,P1,P2,P3,P4),某时刻的状态如下:

请根据银行家算法判定,当前是否是安全状态,如果是,请写出一个安全序列?

5、某高校计算机系开设网络课并安排上机实习,假设机房共有2m台机器,有2n名学生选该课,规定:

(1)每两个学生组成一组,各占一台机器,协同完成上机实习;

(2)只有凑够两个学生,并且此时机房有空闲机器,门卫才允许该组学生进入机房;

(3)上机实习由一名教师检查,检查完毕,一组学生才可以离开机房。

试用P、V操作模拟上机实习过程。

2019年进程管理习题及答案

进程管理习题答案 一.选择题 1.在进程管理中,当时进程从阻塞状态变为就绪状态. A. 进程被进程调度程序选中 B.等待某一事件 C.等待的事件发生 D.时间片用完 答:C 2.分配到必要的资源并获得处理机时的进程状态是。 A.就绪状态 B.执行状态 C.阻塞状态 D.撤消状态 答:B 3.P、V操作是。 A.两条低级进程通信原语 B.两组不同的机器指令 C.两条系统调用命令 D.两条高级进程通信原语 答:A 4.对进程的管理和控制使用。 A.指令 B.原语 C.信号量 D.信箱通信 答:B 5.进程的并发执行是指若干个进程。 A.同时执行 B.在执行的时间上是重叠的 C.在执行的时间上是不可重叠的 D.共享系统资源 答:B 6.若P、V操作的信号量S初值为2,当前值为-1,则表示有等待进程。A.0个 B.1个 C .2个 D.3个 答:B 7.进程的三个基本状态在一定条件下可以相互转化,进程由就绪状态变为运行状态的条件是①;由运行状态变为阻塞状态的条件是②。 A.时间片用完 B.等待某事件发生 C.等待的某事件己发生 D.被进程调度程序选中 答,①D ②B 8.下列的进程状态变化中,变化是不可能发生的。 A.运行一就绪 B.运行一等待 C.等待一运行 D.等待一就绪 答:C 9.一个运行的进程用完了分配给它的时间片后,它的状态变为。 A.就绪 B.等待 C.运行 D.由用户自己确定

答:A 10.用P、V操作管理临界区时,信号量的初值应定义为。 A.一1 B.0 C.1 D.任意值 答:C 11.用V操作唤醒一个等待进程时,被唤醒进程的状态变为. A.等待 B.就绪 C.运行 D.完成 答:B 12.进程间的同步是指进程间在逻辑上的相互关系。 A.联接 B.制约 C. 继续 D.调用 答:B 13.是一种只能进行P操作和V操作的特殊变量。 A.调度 B.进程 C.同步 D.信号量 答:D 14.下面对进程的描述中,错误的是。 A.进程是动态的概念 B.进程执行需要处理机 C.进程是有生命期的 D.进程是指令的集合 答:D 15.下面的叙述中正确的是。 A.操作系统的一个重要概念是进程,因此不同进程所执行的代码也一定不同。B.为了避免发生进程死锁,各进程只能逐个申请资源。 C.操作系统用PCB管理进程,用户进程可以从此PCB中读出与本身运行状况有关的信息 D.进程同步是指某些进程之间在逻辑上的相互制约关系 答:D 16.进程控制就是对系统中的进程实施有效的管理,通过使用、进程撤销、进程阻塞、进程唤醒等进程控制原语实现。 A.进程运行 B.进程管理 C.进程创建 D.进程同步 答:C 17.操作系统通过对进程进行管理。 A.JCB B.PCB C.DCT D.CHCT 答:B 18.用P、V操作可以解决互斥问题。 A.一切 B.某些 C.正确 D.错误 答:A 19.通常,用户进程被建立后,。 A.便一直存在于系统中,直到被操作人员撤消

第二章进程管理答案

第二章进程管理 一、单项选择题 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.并发执行

进程管理实验报告

实验2过程管理实验报告学生号姓名班级电气工程系过程、过程控制块等基本原理过程的含义:过程是程序运行过程中对数据集的处理,以及由独立单元对系统资源的分配和调度。在不同的数据集上运行程序,甚至在同一数据集上运行多个程序,是一个不同的过程。(2)程序状态:一般来说,一个程序必须有三种基本状态:就绪、执行和阻塞。然而,在许多系统中,过程的状态变化可以更好地描述,并且增加了两种状态:新状态和终端状态。1)就绪状态,当一个进程被分配了除处理器(CPU)以外的所有必要资源时,只要获得了处理器,进程就可以立即执行。此时,进程状态称为就绪状态。在系统中,多个进程可以同时处于就绪状态。通常,这些就绪进程被安排在一个或多个队列中,这些队列称为就绪队列。2)一旦处于就绪状态的进程得到处理器,它就可以运行了。进程的状态称为执行状态。在单处理器系统中,只有一个进程在执行。在多处理器系统中,可能有多个进程在执行中。3)阻塞状态由于某些事件(如请求输入和输出、额外空间等),执行进程被挂起。这称为阻塞状态,也称为等待状态。通常,处于阻塞状态的进程被调度为-?这个队列称为阻塞队列。4)新状态当一个新进程刚刚建立并且还没有放入就绪队列中时,它被称为新状态。5)终止状态是

什么时候-?进程已正常或异常终止,操作系统已将其从系统队列中删除,但尚未取消。这就是所谓的终结状态。(3)过程控制块是过程实体的重要组成部分,是操作系统中最重要的记录数据。控制块PCB记录操作系统描述过程和控制过程操作所需的所有信息。通过PCB,一个不能独立运行的程序可以成为一个可以独立运行的基本单元,并且可以同时执行一个进程。换句话说,在进程的整个生命周期中,操作系统通过进程PCB管理和控制并发进程。过程控制块是系统用于过程控制的数据结构。系统根据进程的PCB来检测进程是否存在。因此,进程控制块是进程存在的唯一标志。当系统创建一个进程时,它需要为它创建一个PCB;当进程结束时,系统回收其PCB,进程结束。过程控制块的内容过程控制块主要包括以下四个方面的信息。过程标识信息过程标识用于对过程进行标识,通常有外部标识和内部标识。外部标识符由流程的创建者命名。通常是一串字母和数字。当用户访问进程时使用。外部标识符很容易记住。内部标识符是为了方便系统而设置的。操作系统为每个进程分配一个唯一的整数作为内部标识符。通常是进程的序列号。描述性信息(process scheduling message)描述性信息是与流程调度相关的一些有关流程状态的信息,包括以下几个方面。流程状态:表

进程管理实验报告

进程的控制 1 .实验目的 通过进程的创建、撤消和运行加深对进程概念和进程并发执行的理解,明确进程与程序之间的区别。 【答:进程概念和程序概念最大的不同之处在于: (1)进程是动态的,而程序是静态的。 (2)进程有一定的生命期,而程序是指令的集合,本身无“运动”的含义。没有建立进程的程序不能作为1个独立单位得到操作系统的认可。 (3)1个程序可以对应多个进程,但1个进程只能对应1个程序。进程和程序的关系犹如演出和剧本的关系。 (4)进程和程序的组成不同。从静态角度看,进程由程序、数据和进程控制块(PCB)三部分组成。而程序是一组有序的指令集合。】2 .实验内容 (1) 了解系统调用fork()、execvp()和wait()的功能和实现过程。 (2) 编写一段程序,使用系统调用fork()来创建两个子进程,并由父进程重复显示字符串“parent:”和自己的标识数,而子进程则重复显示字符串“child:”和自己的标识数。 (3) 编写一段程序,使用系统调用fork()来创建一个子进程。子进程通过系统调用execvp()更换自己的执行代码,新的代码显示“new

program.”。而父进程则调用wait()等待子进程结束,并在子进程结束后显示子进程的标识符,然后正常结束。 3 .实验步骤 (1)gedit创建进程1.c (2)使用gcc 1.c -o 1编译并./1运行程序1.c #include #include #include #include void mian(){ int id; if(fork()==0) {printf(“child id is %d\n”,getpid()); } else if(fork()==0) {printf(“child2 id %d\n”,getpid()); } else {id=wait(); printf(“parent id is %d\n”,getpid()); }

第二章_进程管理习题修改汇总

一、选择题 1.在进程管理中,当 C 时,进程从阻塞状态变为就绪状态。 A.进程被进程调度程序选中 B.等待某一事件 C.等待的事件发生 D.时间片用完 2.分配到必要的资源并获得处理机时的进程状态是 B 。 A.就绪状态 B.执行状态 C.阻塞状态 D.撤消状态 3.进程的三个基本状态在一定条件下可以相互转化,进程由就绪状态变为运行状态的条件是 D 。 A.时间片用完 B.等待某事件发生 C.等待的某事件已发生 D.被进程调度程序选中4.进程的三个基本状态在一定条件下可以相互转化,进程由运行状态变为阻塞状态的条件是 B 。 A.时间片用完 B.等待某事件发生 C.等待的某事件已发生 D.被进程调度程序选中5.下列的进程状态变化中, C 变化是不可能发生的。 A.运行→就绪B.就绪→运行C.等待→运行D.等待→就绪 6.一个运行的进程用完了分配给它的时间片后,它的状态变为A 。 A.就绪 B.等待 C.运行 D.由用户自己确定7.操作系统通过 B 对进程进行管理。 A. JCB B. PCB C. DCT D. CHCT 8.一个进程被唤醒意味着 D 。 A. 该进程重新占有了CPU B. 它的优先权变为最大 C. 其PCB移至等待队列队首 D. 进程变为就绪状态 9.多道程序环境下,操作系统分配资源以 C 为基本单位。 A. 程序 B. 指令 C. 进程 D. 作业 10. 从下面的叙述中选出一条正确的叙述: (1)操作系统的一个重要概念是进程,不同的进程所执行的代码也不同。

(2)操作系统通过PCB来控制和管理进程,用户进程可从PCB 中读出与本身运行状态相关的信息。 (3)当进程由执行状态变为就绪状态时,CPU现场信息必须被保存在PCB中。 (4)当进程申请CPU得不到满足时,它将处于阻塞状态。(5)进程是可与其他程序并发执行的程序在一个数据集合上的运行过程,所以程序段是进程存在的唯一标志。 11. 从下面的叙述中选出4条正确的叙述: (1)一个进程的状态发生变化总会引起其它一些进程的状态发生变化。 (2)进程被挂起(suspend)后,状态变为阻塞状态。 (3)信号量的初值不能为负数。 (4)线程是CPU调度的基本单位,但不是资源分配的基本单位。(5)在进程对应的代码中使用wait、signal操作后,可以防止系统发生死锁。 (6)管程每次只允许一个进程进入。 (7)wait、signal操作可以解决一切互斥问题。 (8)程序的顺序执行具有不可再现性。 二、是非题 1.进程是动态的概念 2.进程执行需要处理机 3.进程是有生命期的

实验三-进程管理

实验三进程管理 一、实验目的 1.熟悉和理解进程和进程树的概念,掌握有关进程的管理机制 2.通过进程的创建、撤销和运行加深对进程并发执行的理解 3.明确进程与程序、并行与串行执行的区别 4.掌握用C 程序实现进程控制的方法 二、实验学时 2学时 三、实验背景知识 所涉及的系统调用 1、exec( )系列(exec替换进程映像) 系统调用exec( )系列,也可用于新程序的运行。fork( )只是将父进程的用户级上下文拷贝到新进程中,而exec( )系列可以将一个可执行的二进制文件覆盖在新进程的用户级上下文的存储空间上,以更改新进程的用户级上下文。exec( )系列中的系统调用都完成相同的功能,它们把一个新程序装入内存,来改变调用进程的执行代码,从而形成新进程。如果exec( )调用成功,调用进程将被覆盖,然后从新程序的入口开始执行,这样就产生了一个新进程,新进程的进程标识符id 与调用进程相同。 exec( )没有建立一个与调用进程并发的子进程,而是用新进程取代了原来进程。所以exec( )调用成功后,没有任何数据返回,这与fork( )不同。exec( )系列系统调用在UNIX系统库unistd.h中,共有execl、execlp、execle、execv、execvp五个,其基本功能相同,只是以不同的方式来给出参数。 #include int execl(const cha r *pathname, const char *arg, …); int execlp(const char *, const char *arg, …); int execle(const char *pathname, const char *arg, …, const char *envp[ ]); int execv(const char *pathname, char *const argv[ ]); int execvp(const char *, char *const argv[ ]); 参数: path参数表示你要启动程序的名称包括路径名。 arg参数表示启动程序所带的参数,一般第一个参数为要执行命令名,不是带路径且arg必须以NULL结束。 返回值:成功返回0,失败返回-1 注:上述exec系列函数底层都是通过execve系统调用实现. 1)带l 的exec函数:execl,execlp,execle,表示后边的参数以可变参数的形式给出且都以一个空指针结束。 #include

第3章-进程管理-习题

第3章进程管理 一、单项选择题 1.在多进程的系统中,为了保证公共变量的完整性,各进程应互斥进入临界区。所谓临界区是指。(清华大学1996年研究生试题) a.一个缓冲区 b. 一段数据区 c. 同步机制 d.. 一段程序 2. 一个进程是。(清华大学1996年研究生试题) a.由协处理机执行的一个程序 b.一个独立的程序+数据集 c.PCB结构与程序和数据的组合 d.一个独立的程序 3.在操作系统中,信号量表示资源实体,是一个与队列有关的变量,其值仅能用P、V操作来改变。(陕西省1995年自考题) a.实型 b.整型 c.布尔型 d.记录型 4.设有5个进程共享一个互斥段,如果最多允许有3个进程同时进入互斥段,则所采用的互斥信号量的初值应是。(陕西省1996年自考题) a. 5 b. 3 c. 1 d. 0 5.并发进程之间。(陕西省1997年自考题) a.彼此无关 b、必须同步 c、必须互斥 d、可能需要同步或互斥6.实现进程之间同步与互斥的通信工具为。 a、P、V操作 b、信箱通信 c、消息缓冲 d、高级通信 7.N个进程共享某一临界资源,则互斥信号量的取值范围为。 a、0~1 b、-1~0 c、1~ -(N-1) d、0~ -(N-1) 8.设m为同类资源数,n为系统中并发进程数。当n个进程共享m个互斥资源时,每个进程的最大需求是w;则下列情况会出现系统死锁的是。 a、m=2,n=1,w=2 b、m=2,n=2,w=1 c、m=4,n=3,w=2 d、m=4,n=2,w=3 9.是进程调度算法。 a、时间片轮转法 b、先来先服务 c、响应比高者优先 d、均衡调度算法10.当时,进程从执行状态转变为就绪状态。 (西北工业大学1999年研究生试题) a、进程被调度程序选中 b、时间片到 b、等待某一事件 d、等待的事件发生 11.对两个并发进程,其互斥信号量为mutex;若mutex=0,则表明。 a、没有进程进入临界区 b、有一个进程进入临界区 c、一个进程进入临界区而另一个进程正处于等待进入临界区状态 d、有两个进程进入临界区 12.用P、V操作可以解决互斥问题。 A、某些 b、一个 c、一切 d、大多数 13.系统中有n(n>2)个进程,并且当前没有执行进程调度程序,则不可能发生。 A、有一个运行进程,没有就绪进程,剩下的n-1个进程处于等待状态 B、有一个运行进程和n-1个就绪进程,但没有进程处于等待状态 C、有一个运行进程和1个就绪进程,剩下的n-2个进程处于等待状态 D、没有运行进程但有2个就绪进程,剩下的n-2个进程处于等待状态

第二章-进程管理习题及答案

第二章进程管理习题及答案 一、填空题 1.进程的静态描述由三部分组成:① 、② 和③ 。 【答案】①PCB、②程序部分、③相关的数据结构集 【解析】PCB是系统感知进程的唯一实体。进程的程序部分描述了进程所要 完成的功能,而数据结构集是程序在执行时必不可少的工作区和操作对象。后两 部分是进程完成所需功能的物质基础。 2.进程存在的标志是。 【答案】进程控制块PCB 【解析】系统根据PCB感知进程的存在和通过PCB中所包含的各项变量的变化,掌握进程所处的状态以达到控制进程活动的目的。 3.① 是现代操作系统的基本特征之一,为了更好地描述这一特征而 引入了 ② 这一概念。 【答案】①程序的并发执行,②进程 【解析】程序的并发执行和资源共享是现代操行系统的基本特征。程序的并 发执行使程序失去了程序顺序执行时所具有的封闭性和可再现性。在程序并发执 行时,程序这个概念不能反映程序并发执行所具有的特性,所以引入进程概念来 描述程序并发执行所具有的特点。 4.给出用于进程控制的四种常见的原语① 、② 、③ 和④ 。【答案】①创建原语、②撤消原语、③阻塞原语、④唤醒原语 【解析】进程控制是系统使用一些具有特定功能的程序段来创建、撤消进程 以及完成进程各状态间的转换,从而达到多个过程高效率地并行执行和协调,实 现资源共享的目的。把那些在管态下执行的具有特定功能的程序段称为原语。 5.进程被创建后,最初处于① 状态,然后经② 选中后进入③ 状态。 【答案】①就绪,②进程调度程序,③运行 【解析】进程的从无到有,从存在到消亡是由进程创建原语和撤消原语完成的。被创建的进程最初处于就绪状态,即该进程获得了除处理机以外的所有资源,处于准备执行的状态;从就绪状态到运行状态的转换是由进程调度程序来完成的。 6.进程调度的方式通常有① 和② 方式两种。 【答案】①可剥夺、②非剥夺 【解析】所谓可剥夺方式,是指就绪队列中一旦有优先级高于当前运行进程 的优先级的进程存在时,便立即发生进程调度,转让处理机。而非剥夺方式则是指:即使在就绪队列中存在有优先级高于当前运行进程的进程,当前进程仍将继 续占有处理机,直到该进程完成或某种事件发生(如I/O事件)让出处理机。 7.轮转法主要是用于① 的调度算法,它具有较好的② 时间, 且对每个进程来说都具有较好的③ 性。

操作系统-进程管理实验报告

实验一进程管理 1.实验目的: (1)加深对进程概念的理解,明确进程和程序的区别; (2)进一步认识并发执行的实质; (3)分析进程争用资源的现象,学习解决进程互斥的方法; (4)了解Linux系统中进程通信的基本原理。 2.实验预备内容 (1)阅读Linux的sched.h源码文件,加深对进程管理概念的理解; (2)阅读Linux的fork()源码文件,分析进程的创建过程。 3.实验内容 (1)进程的创建: 编写一段程序,使用系统调用fork() 创建两个子进程。当此程序运行时,在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示一个字符:父进程显示字符“a”,子进程分别显示字符“b”和“c”。试观察记录屏幕上的显示结果,并分析原因。 源代码如下: #include #include #include #include #include int main(int argc,char* argv[]) { pid_t pid1,pid2; pid1 = fork(); if(pid1<0){ fprintf(stderr,"childprocess1 failed"); exit(-1); } else if(pid1 == 0){ printf("b\n"); } 1/11

else{ pid2 = fork(); if(pid2<0){ fprintf(stderr,"childprocess1 failed"); exit(-1); } else if(pid2 == 0){ printf("c\n"); } else{ printf("a\n"); sleep(2); exit(0); } } return 0; } 结果如下: 分析原因: pid=fork(); 操作系统创建一个新的进程(子进程),并且在进程表中相应为它建立一个新的表项。新进程和原有进程的可执行程序是同一个程序;上下文和数据,绝大部分就是原进程(父进程)的拷贝,但它们是两个相互独立的进程!因此,这三个进程哪个先执行,哪个后执行,完全取决于操作系统的调度,没有固定的顺序。 (2)进程的控制 修改已经编写的程序,将每个进程输出一个字符改为每个进程输出一句话,再观察程序执行时屏幕上出现的现象,并分析原因。 将父进程的输出改为father process completed 2/11

Windows XP 系统进程管理机制

Windows XP 系统进程管理机制 进程可利用系统调用功能来创建新的进程,创建者称为父进程,而被创建的新进程称为子进程。子进程从父进程继承一些属性,又与父进程有区别,形成自己独立的属性。按子进程是否覆盖父进程和是否加载新程序,子进程的创建可分为fork,spawn和exec三种类型。 进程的退出是通过相应的系统调用进行的。进程退出过程中,操作系统删除系统维护的相关数据结构并回收进程占用的系统资源。 Windows 2000/XP进程是作为对象来管理的,可通过相应句柄(handle)来引用进程对象,OS提供一组控制进程对象的服务。Win32环境子系统是整个系统的主子系统,放置一些基本的进程管理功能,其他子系统利用Win32子系统的功能来实现自身的功能。 Windows 2000/XP中的每个Win32进程都由一个执行体进程块(EPPROCESS)表示,

执行体进程块描述进程的基本信息,并指向其他与进程控制相关的数据结构。 Win32子系统的进程控制系统调用:——CreatProcess创建新进程及其主进程,并可指定从父进程继承的属性。——ExitProcess和TerminateProcess都可用于进程退出,终止一个进程和它的所有线程,区别在于ExitProcess终止操作完整,TerminateProcess终止操作不完整,通常只用于异常情况下对进程的终止。 2. Windows XP中进程调度机制 2.1 Windows 2000/XP的线程调度特征Windows 2000/XP的处理器调度的调度单位是线程而不是进程。线程调度机制是基于优先级的抢先式多处理器调度,依据优先级和分配时间片来调度。 调度系统总是运行优先级最高的就绪线程。 在同一优先级的各线程按时间片轮转算法进行调度。 如果一个高优先级的线程进入就绪状态,当前运行的线程可能在用完它的时间片之

进程管理习题及答案

进程管理习题答案 一.选择题 1.在进程管理中,当时进程从阻塞状态变为就绪状态、 A、进程被进程调度程序选中 B.等待某一事件 C.等待的事件发生 D.时间片用完 答:C 2.分配到必要的资源并获得处理机时的进程状态就是。 A.就绪状态 B.执行状态 C.阻塞状态 D.撤消状态 答:B 3.P、V操作就是。 A.两条低级进程通信原语 B.两组不同的机器指令 C.两条系统调用命令 D.两条高级进程通信原语 答:A 4.对进程的管理与控制使用。 A.指令 B.原语 C.信号量 D.信箱通信 答:B 5.进程的并发执行就是指若干个进程。 A.同时执行 B.在执行的时间上就是重叠的 C.在执行的时间上就是不可重叠的 D.共享系统资源 答:B 6.若P、V操作的信号量S初值为2,当前值为-1,则表示有等待进程。 A.0个 B.1个 C .2个 D.3个 答:B 7.进程的三个基本状态在一定条件下可以相互转化,进程由就绪状态变为运行状态的条件就是① ;由运行状态变为阻塞状态的条件就是②。 A.时间片用完 B.等待某事件发生 C.等待的某事件己发生 D.被进程调度程序选中 答,①D ②B 8.下列的进程状态变化中, 变化就是不可能发生的。 A.运行一就绪 B.运行一等待 C.等待一运行 D.等待一就绪 答:C 9.一个运行的进程用完了分配给它的时间片后,它的状态变为。 A.就绪 B.等待 C.运行 D.由用户自己确定

答:A 10.用P、V操作管理临界区时,信号量的初值应定义为。 A.一1 B.0 C.1 D.任意值 答:C 11.用V操作唤醒一个等待进程时,被唤醒进程的状态变为. A.等待 B.就绪 C.运行 D.完成 答:B 12.进程间的同步就是指进程间在逻辑上的相互关系。 A.联接 B.制约 C、继续 D.调用 答:B 13. 就是一种只能进行P操作与V操作的特殊变量。 A.调度 B.进程 C.同步 D.信号量 答:D 14.下面对进程的描述中,错误的就是。 A.进程就是动态的概念 B.进程执行需要处理机 C.进程就是有生命期的 D.进程就是指令的集合 答:D 15.下面的叙述中正确的就是。 A.操作系统的一个重要概念就是进程,因此不同进程所执行的代码也一定不同。 B.为了避免发生进程死锁,各进程只能逐个申请资源。 C.操作系统用PCB管理进程,用户进程可以从此PCB中读出与本身运行状况有关的信息 D.进程同步就是指某些进程之间在逻辑上的相互制约关系 答:D 16.进程控制就就是对系统中的进程实施有效的管理,通过使用、进程撤销、进程阻塞、进程唤醒等进程控制原语实现。 A.进程运行 B.进程管理 C.进程创建 D.进程同步 答:C 17.操作系统通过对进程进行管理。 A.JCB B.PCB C.DCT D.CHCT 答:B 18.用P、V操作可以解决互斥问题。 A.一切 B.某些 C.正确 D.错误 答:A 19.通常,用户进程被建立后, 。 A.便一直存在于系统中,直到被操作人员撤消

实验一 进程管理

实验一进程管理 1. 实验目的 ⑴加深对进程概念的理解,明确进程和程序的区别; ⑵进一步认识并发执行的实质; ⑶分析进程争用资源的现象,学习解决进程互斥的方法; ⑷了解Linux系统中进程通信的基本原理。 2. 实验准备 ⑴阅读Linux的sched.h源码文件,加深对进程管理的理解。 ⑵阅读Linux的fork.h源码文件,分析进程的创建过程。 3. 实验内容 ⑴进程的创建 编写一段程序,使用系统调用fork ( )创建两个子进程。当此程序运行时,在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示一个字符:父进程显示字符“a”;子进程显示字符“b”和字符“c”。试观察记录屏幕上的显示结果,并分析原因。 ⑵进程的控制 修改已编写的程序,将每个进程输出一个字符改为每个进程输出一句话,再观察程序执行时屏幕上出现的现象,并分析原因。 如果在程序中使用系统调用lockf ( )来给每一个进程加锁,可以实现进程之间的互斥,观察并分析出现的现象。 ⑶软中断通信 编制一段程序实现进程的软中断通信。要求:使用系统调用fork ( )创建两个子进程,再用系统调用signal( )让父进程捕捉键盘上发来的中断信号(既按Del键);当捕捉到中断信号后,父进程系统调用kill( )向两个子进程发出信号,子进程捕捉到信号后分别输出下列信息后终止:Child process 1 is killed by parent! Child process 2 is killed by parent! 父进程等待两个子进程终止后,输出如下的信息后终止: Parent process is killed! 在上面的程序中增加语句signal (SIGINT, SIG_IGN) 和signal (SIGQUIT, SIG_IGN),观察执行结果,并分析原因。 4. 实验指导

操作系统习题集------进程管理

习题集 - 2 - 进程管理 1. 在优先级调度中,__________类进程可能被“饿死”,即长时间得不到调度。 A.短进程 B.长进程 C.低优先级进程 D.大内存进程 解: C。优先级调度算法(PRI)的基本思想是:内核为每个进程赋予一个优先级,进程按照优先级的大小顺序在就绪队列中排队,内核将CPU分配给就绪队列头部的第一个进程——优先级最大的进程。因此,进程的优先级越低,在就绪队列中的排队位置就越靠近队列尾,获得运行之前的等待时间就越长。低优先级的进程必须等待所有高优先级进程运行结束后才会被调度运行。如果不断有高优先级的进程加入就绪队列,那么低优先级进程就会一直等待下去。这就是所谓的“饿死”现象。 2. 在下面的系统调用中,__________不会导致进程阻塞。 A.读/写文件 B.获得进程PID C.申请内存 D.发送消息 解: B。当正在执行的进程需要使用某种资源或等待某个事件时,如果资源已被其他进程占用或事件尚未出现,该进程不能获得所需的资源而无法继续运行,于是,进程将被阻塞。进程在阻塞状态中等待资源被释放,或等待事件的发生。所以,进程在执行系统调用时,如果需要使用某种资源,就可能导致进程阻塞。“读/写文件”需要使用设备和文件缓冲区;“申请内存”需要分配内存资源;“发送消息”需要使用消息缓冲区。 3. 下面关于临界区的叙述中,正确的是__________ A.临界区可以允许规定数目的多个进程同时执行 B.临界区只包含一个程序段 C.临界区是必须互斥地执行的程序段 D.临界区的执行不能被中断 解: C。临界段(临界区)的概念包括两个部分:①临界资源:必须互斥访问的资源。例如,需要独占使用的硬件资源,多个进程共享的变量、结构、队列、栈、文件等软件资源。②临界区:访问临界资源的、必须互斥地执行的程序段。即,当一个进程在某个临界段中执行时,其他进程不能进入相同临界资源的任何临界段。

实验一进程管理实验

实验一linux进程的创建与控制 【实验目的】 1、加深对进程概念的理解,明确进程和程序的区别; 2、进一步认识并发执行的实质; 3、分析进程争用资源的现象,学习解决进程互斥的方法; 【实验环境】 编程环境:TC或者VC 操作系统软件:linux 【准备知识】 一.基本概念 1、进程的概念;进程与程序的区别。 2、并发执行的概念。 3、进程互斥的概念。 二.系统调用 系统调用是一种进入系统空间的办法。通常,在OS的核心中都设置了一组用于实现各 种系统功能的子程序,并将它们提供给程序员调用。程序员在需要OS提供某种服务的时候,便可以调用一条系统调用命令,去实现希望的功能,这就是系统调用。因此,系统调用就像 一个黑箱子一样,对用户屏蔽了操作系统的具体动作而只是控制程序的执行速度等。各个不同的操作系统有各自的系统调用,女口windows API,便是windows的系统调用,Linux的系 统调用与之不同的是Linux由于内核代码完全公开,所以可以细致的分析出其系统调用的机制。 三.相关函数。 1 fork()函数 fork()函数创建一个新进程。 其调用格式为:int fork(); 其中返回int取值意义如下: 正确返回:等于0 :创建子进程,从子进程返回的ID值; 大于0 :从父进程返回的子进程的进程ID值。

错误返回:等于一1创建失败。 2 wait()函数 wait()函数常用来控制父进程与子进程的同步。在父进程中调用wait()函数,则父进程被阻塞,进入等待队列,等待子进程结束。当子进程结束时,会产生一个终止状态字,系统会向父进程发出SIGCHLD言号。当接到信号后,父进程提取子进程的终 止状态字,从wait()函数返回继续执行原程序。 其调用格式为:#i nclude #i nclude / (pid_t) wait(i nt *statloc) ; 正确返回:大于0:子进程的进程ID值; / 等于0:其它。 错误返回:等于一1调用失败。 3 exit()函数 exit() 函数是进程结束最常调用的函数,在main()函数中调用return,最终也是调用exit()函数。这些都是进程的正常终止。在正常终止时,exit()函数返回进程 结束状态。 其调用格式为:#in elude <> void exit(i nt status) ; 其中status为进程结束状态。 4 kill()函数 \ kill()函数用于删除执行中的程序或者任务。 其调用格式为:kill(i nt PID,i nt IID) ; 其中:PID是要被杀死的进程号,IID为向将被杀死的进程发送的中断号。 关于Linux下的C语言编程 1 )编辑器可使用vi 2 )编译器使用gee 格式:gee optio n file name 例如:gee -o main 主要的option -o指定输出文件名(不指定则生成默认文件) 其它的参数见帮助(man gee)

进程管理习题及答案

一、判断题 1.( )操作系统的所有程序都必须常驻内存。 2.( )多道程序设计可以缩短系统中作业的执行时间。 3.( )实时系统中的作业周转时间有严格的限制。 4.( )进程获得处理机而运行是通过申请而得到的。 5.( )同一个程序不能被创建成多个进程。 6.( )子进程可以继承它的父进程所拥有的所有资源。 7.( )对于临界区,最重要的是断定哪个进程先执行临界区里的那段程序。 8.( )若进程A和进程B在临界区上互斥,那么当A位于临界区内时不能打断它的 运行。 9.( )进程间的互斥是一种特殊的同步关系。 10.( )临界区是指进程中用于实现进程互斥的那段代码。 11.( )资源的同时共享是指多个用户作业可以在同一时刻使用同一资源。 12.( )并发性是指若干事件在同一时间间隔内发生。 13.( )进程在运行中,可以自行修改自己的进程控制块PCB。 14.( )进程申请CPU得不到满足时,其状态变为等待态。 15.( )当一个进程从等待态变成就绪态,则一定有一个进程从就绪态变成运行态。 16.( )进程状态的转换是由操作系统完成的,对用户是透明的。 17.( )优先数是进程调度的重要依据,优先数大的进程首先被调度运行。 18.( )不可抢占式动态优先数法一定会引起进程长时间得不到运行。 19.( )进程调度的主要功能是从所有处于等待状态的进程中挑选一个"最合适"的进 程,创建好进程运行所需要的环境,然后把处理机分配给它。 20.( )无限循环和无限延迟是一个概念。 21.( )导致系统出现死锁的一种原因是某个用户作业发生了死循环。 22.( )一旦出现死锁,所有进程都不能运行。 23.( )所有进程都挂起时系统陷入死锁。 24.( )参与死锁的进程至少有两个已经占有资源。 25. ( )有M个进程的操作系统出现死锁时,死锁进程的个数为1

(完整word版)操作系统实验报告 实验一 进程管理

实验一进程管理 一、目的 进程调度是处理机管理的核心内容。本实验要求编写和调试一个简单的进程调度程序。通过本实验加深理解有关进程控制块、进程队列的概念,并体会和了解进程调度算法的具体实施办法。 二、实验内容及要求 1、设计进程控制块PCB的结构(PCB结构通常包括以下信息:进程名(进程ID)、进程优先数、轮转时间片、进程所占用的CPU时间、进程的状态、当前队列指针等。可根据实验的不同,PCB结构的内容可以作适当的增删)。为了便于处理,程序中的某进程运行时间以时间片为单位计算。各进程的轮转时间数以及进程需运行的时间片数的初始值均由用户给定。 2、系统资源(r1…r w),共有w类,每类数目为r1…r w。随机产生n进程P i(id,s(j,k),t),0<=i<=n,0<=j<=m,0<=k<=dt为总运行时间,在运行过程中,会随机申请新的资源。 3、每个进程可有三个状态(即就绪状态W、运行状态R、等待或阻塞状态B),并假设初始状态为就绪状态。建立进程就绪队列。 4、编制进程调度算法:时间片轮转调度算法 本程序用该算法对n个进程进行调度,进程每执行一次,CPU时间片数加1,进程还需要的时间片数减1。在调度算法中,采用固定时间片(即:每执行一次进程,该进程的执行时间片数为已执行了1个单位),这时,CPU时间片数加1,进程还需要的时间片数减1,并排列到就绪队列的尾上。 三、实验环境 操作系统环境:Windows系统。 编程语言:C#。 四、实验思路和设计 1、程序流程图

2、主要程序代码 //PCB结构体 struct pcb { public int id; //进程ID public int ra; //所需资源A的数量 public int rb; //所需资源B的数量 public int rc; //所需资源C的数量 public int ntime; //所需的时间片个数 public int rtime; //已经运行的时间片个数 public char state; //进程状态,W(等待)、R(运行)、B(阻塞) //public int next; } ArrayList hready = new ArrayList(); ArrayList hblock = new ArrayList(); Random random = new Random(); //ArrayList p = new ArrayList(); int m, n, r, a,a1, b,b1, c,c1, h = 0, i = 1, time1Inteval;//m为要模拟的进程个数,n为初始化进程个数 //r为可随机产生的进程数(r=m-n) //a,b,c分别为A,B,C三类资源的总量 //i为进城计数,i=1…n //h为运行的时间片次数,time1Inteval为时间片大小(毫秒) //对进程进行初始化,建立就绪数组、阻塞数组。 public void input()//对进程进行初始化,建立就绪队列、阻塞队列 { m = int.Parse(textBox4.Text); n = int.Parse(textBox5.Text); a = int.Parse(textBox6.Text); b = int.Parse(textBox7.Text); c = int.Parse(textBox8.Text); a1 = a; b1 = b; c1 = c; r = m - n; time1Inteval = int.Parse(textBox9.Text); timer1.Interval = time1Inteval; for (i = 1; i <= n; i++) { pcb jincheng = new pcb(); jincheng.id = i; jincheng.ra = (random.Next(a) + 1); jincheng.rb = (random.Next(b) + 1); jincheng.rc = (random.Next(c) + 1); jincheng.ntime = (random.Next(1, 5));

进程管理练习题

一、选择题 1.在进程管理中,当 D 时,进程从阻塞状态变为就绪状态。 A.进程被进程调度程序选中 B.等待某一事件 C.等待的事件发生 D.时间片用完 2.分配到必要的资源并获得处理机时的进程状态是。A.就绪状态 B.执行状态 C.阻塞状态 D.撤消状态 3.P、V操作是。 A.两条低级进程通信原语 B.两组不同的机器指令 C.两条系统调用命令 D.两条高级进程通信原语4.设系统中有n(n>2)个进程,且当前不在执行进程调度程序,试考虑下述4种情况,不可能发生的情况是。 A.没有运行进程,有2个就绪进程,n个进程处于等待状态。B.有1个运行进程,没有就绪进程,n-1个进程处于等待状态。C.有1个运行进程,有1个就绪进程,n-2个进程处理等待状态。 D.有1个运行进程,n-1个就绪进程,没有进程处于等待状态。5.若P、V操作的信号量S初值为2,当前值为-1,则表示有 等待进程。 A. 0个 B. 1个 C. 2个 D. 3个 6.进程的三个基本状态在一定条件下可以相互转化,进程由就绪状态变为运行状态的条件是。 A.时间片用完 B.等待某事件发生 C.等待的某事件已发生 D.被进程调度程序选中7.进程的三个基本状态在一定条件下可以相互转化,进程由运行状态变为阻塞状态的条件是。 A.时间片用完 B.等待某事件发生 C.等待的某事件已发生 D.被进程调度程序选中8.下列的进程状态变化中,变化是不可能发生的。A.运行→就绪B.就绪→运行C.等待→运行D.等待→就绪 9.一个运行的进程用完了分配给它的时间片后,它的状态变为。

A.就绪 B.等待 C.运行 D.由用户自己确定 10.用V操作唤醒一个等待进程时,被唤醒进程的状态变 为。 A.等待 B.就绪 C.运行 D.完成 11.操作系统通过对进程进行管理。 A. JCB B. PCB C. DCT D. CHCT 12.用P、V操作可以解决互斥问题。 A. 一切 B. 某些 C. 正确 D. 错误 13.一个进程被唤醒意味着。 A. 该进程重新占有了CPU B. 它的优先权变为最大 C. 其PCB移至等待队列队首 D. 进程变为就绪状态14.多道程序环境下,操作系统分配资源以为基本单位。 A. 程序 B. 指令 C. 进程 D. 作业 15. 在分时系统中,导致进程创建的典型事件是();在批处理系统中,导致进程创建的典型事件是();由系统专门为运行中的应用进程创建新进程的事件是()。在创建进程时,()不是创建所必需的步骤。 A:(1)用户注册;(2)用户登录;(3)用户记账;(4)用户通信。 B:(1)作业录入;(2)作业调度;(3)进程调度;(4)中级调度。 C:(1)分配资源;(2)进行通信;(3)共享资源;(4)提供服务。 D:(1)为进程建立PCB;(2)为进程分配内存等资源;(3)为进程分配CPU;(4)将进程插入就绪队列。 16. 从下面对临界区的论述中,选出一条正确的论述。 (1)临界区是指进程中用于实现进程互斥的那段代码。 (2)临界区是指进程中用于实现进程同步的那段代码。 (3)临界区是指进程中用于实现进程通信的那段代码。 (4)临界区是指进程中用于访问共享资源的那段代码。 (5)临界区是指进程中访问临界资源的那段代码。 17. 进程A和B共享同一临界资源,并且进程A正处于对应的临界区内执行。请从下列描述中选择一条正确的描述。

相关主题