进程管理-答案

进程管理-答案
进程管理-答案

第二章进程管理

一、单项选择题

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. 阻塞就绪

8、已经获得除()以外的所有运行所需资源的进程处于就绪状态。

A.存储器

B. 打印机

C. CPU

D. 磁盘空间

9、一个进程被唤醒意味着()。

A.该进程重新占有了CPU

B.进程状态变为就绪

C.它的优先权变为最大

D.其PCB移至就绪队列的队首

10、进程从运行状态变为阻塞状态的原因是()。

A.输入或输出事件发生

B.时间片到

C.输入或输出事件完成

D.某个进程被唤醒

11、为了描述进程的动态变化过程,采用了一个与进程相联系的(),根据它而感知进程的存在。

A.进程状态字

B. 进程优先数

C.进程控制块

D. 进程起始地址

12、操作系统中有一组常称为特殊系统调用的程序,它不能被系统中断,在操作系统中称为()。

A.初始化程序

B. 原语

C.子程序

D. 控制模块

13、进程间的基本关系为()。

A.相互独立与相互制约

B.同步与互斥

C.并行执行与资源共享

D. 信息传递与信息缓

14、两个进程合作完成一个任务,在并发执行中,一个进程要等待其合作伙伴发来信息,或者建立某个条件后再向

前执行,这种关系是进程间的()关系。

A.同步

B. 互斥

C.竞争

D. 合作

15、在一段时间内,只允许一个进程访问的资源称为()。

A. 共享资源

B. 临界区

C. 临界资源

D. 共享区

16、在操作系统中,对信号量S的P原语操作定义中,使进程进入相应阻塞队列等待的条件是()。

A. S>0

B. S=0

C. S<0

D. S0

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.并发执行

22.操作系统根据( )控制和管理进程,它是进程存在的标志。

A.程序状态字B.进程控制块c.中断寄存器D.中断装置

23.若干个等待占有cPU并运行的进程按一定次序链接起来的队列为( )。

A.运行队列B.后备队列c.等待队列D.就绪队列

24.进程的( )和并发性是两个很重要的属性。

A.动态性 B.静态性c.易用性D.顺序性

25引入多道程序设计技术后,处理器的利用率( )。

A.有所改善B.极大地提高 c.降低了D.无变化,仅使程序执行方便

26.计算机系统采用多道程序设计技术后,()。

A.缩短了每个程序的执行时间B.系统效率随并行工作道数成比例增长c.提高了系统效率 D.使用设备时不会发生冲突

27.临界区是指( )。A.并发进程中用于实现进程互斥的程序段 B.并发进程中用于实现进程同步的程序段 C.并发进程中用户实现进程通信的程序段D.并发进程中与共享变量有关的程序段

28、( )是只能由P和v操作所改变的整型变量。A共享变量 B.互斥信号量c整型信号量D.记录型信号量

29.对于整型信号量,在执行一次P操作时,信号量的值应( )。 A.不变 B.加1 C减1 D.减指定数值30. Pv操作必须在屏蔽中断下执行,这种不可变中断的过程称为( )。A初始化程序 B.原语c.子程序D控制模块

31.进程间的互斥与同步分别表示了各进程间的( )。A.竞争与协作B.相互独立与相互制约 c.不同状态D.动态性与并发性

32.在进程通信中,( )常用信件交换信息。 A.低级通信B.高级通信 c.消息通信D.管道通信33.在间接通信时,用send(N,M)原语发送信件,其中N表示( )。A.发送信件的进程名B.接收信件的进程名C信箱名 D.信件内容

34.下列对线程的描述中,( )是错误的。A不同的线程可执行相同的程序B.线程是资源分配单位c.线程是调度和执行单位 D.同一进程中的线程可共享该进程的主存空间

35.实现进程互斥时,用( )对应,对同一个信号量调用Pv操作实现互斥。 A.一个信号量与一个临界区 B.一个信号量与—个相关临界区c.一个信号量与一组相关临界区 D一个信号量与一个消息

二、填空题

1、每执行一次P操作,信号量的数值S减1。若S>=0,则该进程_继续执行_;若S<0,则该进程__等待_。

2、进程存在的标志是_进程控制块_。

3、进程被创建后,最初处于__就绪_状态,然后经_进程调度程序_选中后进入执行状态。

4、进程的同步和互斥反映了进程间__直接制约_和_间接制约_的关系。

5、操作系统中信号量的值与__相应资源__的使用情况有关,它的值仅能由 P、V操作来改变。

6、进程至少有三种基本状态:__就绪__、_执行__和_阻塞_。

7、每执行一次V操作,信号量的数值S加1。若_S>1 ,则该进程继续执行;否则,从对应的__就绪_队列中移出一个进程并将__就绪_状态赋予该进程。

8.进程的四个属性为:_动态性_,_并发性_,_独立性_,__异步性_

9.进程的三种基本状态为:_就绪_、_执行_和___阻塞_。

10.进程控制块应包括标识信息、__处理机信息_、___调度信息_____和控制信息。

11.操作系统依据__进程控制块__对进程进行控制和管理。12.进程有两种基本队列:__就绪队列_和_阻塞队列_ 。13.临界区是指并发进程中与_访问临界资源_有关的程序段

14.利用Pv操作管理相关临界区时,必须成对出现,在进入临界区之前要调用__P操作_,在完成临界区操作后要调用__V操作_。

15.Pv操作不仅是实现_进程互斥的有效工具,而且也是一种简单而方便的___进程同步___工具。

16.线程是处理器的独立_调度和分派_单位,多个线程可以_并发_执行。 17.线程与进程有许多相似之处,所以线程又称为_轻型进程_。18.在多线程操作系统中,线程与进程的根本区别在于进程作为_资源分配的基本_单位,而线程是_调度基本_单位。

19.采用高级通信方式时,进程间用_信件来交换信息。 20.最基本的通信原语有两条,它们是__send_原语和__receive_原语。 31.进程通信方式有两种:___直接通信方式___和___间接通信方式___。

三、简答题

1、在操作系统中为什么要引入进程的概念?它与程序的区别和联系是怎样的?

在操作系统中,由于多道程序并发执行时共享系统资源,共同决定这些资源的状态,因此系统中各程序在执行过程中就出现了相互制约的新关系,程序的执行出现“走走停停”的新状态。这些都是在程序的动态过程中发生的。用程序这个静态概念已不能如实反映程序并发执行过程中的这些特征。为此,人们引入“进程”这一概念来描述程序动态执行过程的性质。

进程与程序的主要区别是:

·进程是动态的;程序是静态的。

·进程有独立性,能并发执行;程序不能并发执行。

·二者无一一对应关系。

·进程异步运行,会相互制约;程序不具备此特征。

但进程与程序又有密切的联系:进程不能脱离具体程序而虚设,程序规定了相应进程所要完成的动作。

2、什么是进程的互斥与同步?

进程的互斥是指在逻辑上本来完全独立的若干进程,由于竞争同一个资源而产生的相互制约关系。

进程的同步是进程间共同完成一项任务时直接发生相互作用的关系,也就是说,这些具有伙伴关系的进程在执行时间次序上必须遵循确定的规律。

3、一个进程进入临界区的调度原则是什么?

一进程进入临界区的调度原则是:

①如果有若干进程要求进入空闲的临界区,一次仅允许一个进程进入。

②任何时候,处于临界区内的进程不可多于一个。如已有进程进入自己的临界区,则其它所有试图进入临界区的进程必须等待。

③进入临界区的进程要在有限时间内退出,以便其它进程能及时进入自己的临界区。

④如果进程不能进入自己的临界区,则应让出CPU,避免进程出现“忙等”现象。

4、在操作系统中,P操作和V操作各自的动作是如何定义的?

P操作顺序执行下述两个动作:

①信号量的值减1,即S=S-1;

②如果S≥0,则该进程继续执行;

如果S<0,则把该进程的状态置为阻塞态,把相应的PCB连入该信号量队列的末尾,并放弃处理机,进行等待(直至其它进程在S上执行V操作,把它释放出来为止)。

V操作顺序执行下述两个动作:

①S值加1,即S=S+1;

②如果S>0,则该进程继续运行;

如果S≤0,则释放信号量队列上的第一个PCB(即信号量指针项所指向的PCB)所对应的进程(把阻塞态改为就绪态),执行V操作的进程继续运行。

5、作业调度和进程调度各自的主要功能是什么?

作业调度的主要功能是:

1)记录系统中各个作业的情况;

2)按照某种调度算法从后备作业队列中挑选作业;

3)为选中的作业分配内存和外设等资源;

4)为选中的作业建立相应的进程;

5)作业结束后进行善后处理工作。

进程调度的主要功能是:

1)保存当前运行进程的现场;

2)从就绪队列中挑选一个合适进程;

3)为选中的进程恢复现场。

6.假设PV操作用信号量s管理某个共享资源,请问当s>0,S=0和S<0时,它们的物理意义是什么?

信号量S的物理意义如下: s>0时,S表示可使用的资源数或表示可使用资源的进程数。s=0时,表示无资源可供使用和表示不允许进程再进入临界区。s<0时,│S│表示等待使用资源的进程个数或表示等待进入临界区的进程个数。

7.请给出Pv操作的定义

Pv操作是指在信号量上进行的P操作和v操作。假定信号量为s,则P(s)和v(s)的定义如下: Procedure p(Var s:semaphore);

begin s:=s-1; if s<0 then w(s) end;

Procedure v(Var s:semaphore);

begin s:=s+1; if s<=0 then r (s) end;

其中,W(s)表示将调用P(s)过程的进程置成“等待信号量s”的状态,且将其排入等待队列。R(s)表示释放一个“等待信号量s”的进程,该进程从等待队列退出并加入就绪队列中.

8.线程与进程的根本区别是什么?

在采用线程技术的操作系统中,线程与进程的根本区别在于:进程是资源的分配单位,而线程是调度和执行单位。

四、应用题

1、四个进程A、B、C、D都要读一个共享文件F,系统允许多个进程同时读文件F。但限制是进程A和进程C不能同时读文件F,进程B和进程D也不能同时读文件F。为了使这四个进程并发执行时能按系统要求使用文件,现用PV 操作进行管理,请回答下面的问题:

(1)如何定义信号量及初值;

(2)在下列的程序中填上适当的P、V操作,以保证它们能正确并发工作:

进程A 进程 B 进程 C 进程 D

… … … …

[1]; [3]; [5]; [7];

read F; read F; read F; read F;

[2]; [4]; [6]; [8];

… … … …

(1)定义二个信号量S1、S2,初值均为1,即:S1=1,S2=1(共2分)

(2)从[1]到[8]分别为:P(S1), V(S1), P(S2), V(S2), P(S1) ,V(S1) ,P(S2) ,V(S2)

2、设有一台计算机,有两条I/O通道,分别接一台卡片输入机和一台打印机。卡片机把一叠卡片逐一输入到缓冲区

B1中,加工处理后再搬到缓冲区B2中,并在打印机上打印,问:

①系统要设几个进程来完成这个任务?各自的工作是什么?

②这些进程间有什么样的相互制约关系?

③用P、V操作写出这些进程的同步算法。

解:

①系统可设三个进程来完成这个任务:R进程负责从卡片输入机上读入卡片信息,输入到缓冲区B1中;C进程负责从缓冲区B1中取出信息,进行加工处理,之后将结果送到缓冲区B2中;P进程负责从缓冲区B2中取出信息,并在打印机上印出。

②R进程受C进程影响,B1放满信息后R进程要等待——等C进程将其中信息全部取走,才能继续读入信息;C进程受R进程和P进程的约束:B1中信息放满后C进程才可从中取出它们,且B2被取空后C进程才可将加工结果送入其中;P 进程受C进程的约束:B2中信息放满后P进程才可从中取出它们,进行打印。

③信号量含义及初值:

B1full——缓冲区B1满,初值为0;

B1empty——缓冲区B1空,初值为0;

B2full——缓冲区B2满,初值为0;

B2empty——缓冲区B2空,初值为0;

R 进程 C 进程 P 进程

3、某分时系统的进程出现如下图所示的状态变化。

就绪进程队列

试问:(1)你认为该系统采用的是哪一种进程调度算法?

(2)写出图中所示的每一个状态变化的原因(从①到⑥)。

(1)该分时系统采用的进程调度算法是时间片轮转法。

(2)状态变化的原因如下:

①进程被选中,变成运行态;

②时间片到,运行的进程排入就绪队列尾部;

③运行的进程启动打印机,等待打印;

④打印工作结束,阻塞的进程排入就绪队列尾部;

⑤等待磁盘读文件工作;

⑥磁盘传输信息结束,阻塞的进程排入就绪队列尾部。

4、生产者-消费者问题表述如下:一组生产者进程和一组消费者进程通过缓冲区发生联系。生产者进程将生产的产

品送入缓冲区,消费者进程则从中取出产品。假定环形缓冲池中共有N 个缓冲区,编号为0~N-1。

为了描述生产者进程和消费者进程,设指针in 和out 分别指向生产者进程和消费者进程当前所用的缓冲区

(buffer),初值均为0。

(1)应设置三个信号量实现两类进程的同步,分别是full 、empty 和mutex 。请说出它们的含义及初值。

(2)下面是生产者进程的算法描述,请填写相应的P 、V 操作语句。

while (TRUE){

产品送往buffer (in );

in=(in+1)mod N; /*mod为取模运算*/

(3)指出生产者进程算法中的临界区是哪一段程序?

解:

(1)full表示放有产品的缓冲区数,初值为0;

empty表示可供使用的缓冲区数,初值为N;

mutex为互斥信号量,初值为1,表示互斥进入临界区。

(2)P(empty),P(mutex),V(mutex),V(full)

(3)生产者进程算法中的临界区是如下程序段:

产品送往buffer(in);

in=(in+1) mod N; /*mod为取模运算*

windows进程管理实验报告

实验报告 课程名称:操作系统 实验项目:windows进程管理 姓名: 专业:计算机科学与技术 班级: 学号:

计算机科学与技术学院 计算机系 2019 年 4 月 23 日

实验项目名称: windows进程管理 一、实验目的 1. 学习windows系统提供的线程创建、线程撤销、线程同步等系统调用; 2. 利用C++实现线程创建、线程撤销、线程同步程序; 3. 完成思考、设计与练习。 二、实验用设备仪器及材料 1. Windows 7或10, VS2010及以上版本。 三、实验内容 1 线程创建与撤销 写一个windows控制台程序(需要MFC),创建子线程,显示Hello, This is a Thread. 然后撤销该线程。 相关系统调用: 线程创建: CreateThread() 线程撤销: ExitThread() 线程终止: ExitThread(0) 线程挂起: Sleep() 关闭句柄: CloseHandle() 参考代码: ; } 运行结果如图所示。 完成以下设计题目: 1. 向线程对应的函数传递参数,如字符串“hello world!”,在线程中显示。 2. 如何创建3个线程A, B, C,并建立先后序执行关系A→B→C。

实验内容2 线程同步 完成父线程和子线程的同步。父线程创建子线程后进入阻塞状态,子线程运行完毕后再唤醒。 相关系统调用: 等待对象 WaitForSingleObject(), WaitForMultipleObjects(); 信号量对象 CreateSemaphore(), OpenSemaphore(), ReleaseSemaphore(); HANDLE WINAPI CreateSemaphore( _In_opt_ LPSECURITY_ATTRIBUTES lpSemaphoreAttributes _In_ LONG lInitialCount, _In_ LONG lMaximumCount, _In_opt_ LPCTSTR lpName ); 第一个参数:安全属性,如果为NULL则是默认安全属性 第二个参数:信号量的初始值,要>=0且<=第三个参数 第三个参数:信号量的最大值 第四个参数:信号量的名称 返回值:指向信号量的句柄,如果创建的信号量和已有的信号量重名,那么返回已经存在的信号量句柄参考代码: n"); rc=ReleaseSemaphore(hHandle1,1,NULL); err=GetLastError(); printf("Release Semaphore err=%d\n",err); if(rc==0) printf("Semaphore Release Fail.\n"); else printf("Semaphore Release Success. rc=%d\n",rc); } 编译运行,结果如图所示。

第二章进程管理答案

第二章进程管理 一、单项选择题 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)描述性信息是与流程调度相关的一些有关流程状态的信息,包括以下几个方面。流程状态:表

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 .实验目的 通过进程的创建、撤消和运行加深对进程概念和进程并发执行的理解,明确进程与程序之间的区别。 【答:进程概念和程序概念最大的不同之处在于: (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

操作系统期末试题及答案

《操 作 系 统》 期 末 试 卷 很好地解决了“碎片”问题的存储管理方法是( A.页式存储管理 B.段式存储管理 C.静态分区管理 D.可变分区管理 多道程序设计是指(D ) A.在实时系统中并发运行多个程序 C.在一台处理机上同一时刻运行多个程序 D.在一台处理机上并发运行多个程序 设有3个进程共享同一程序段 而每次最多允许两个进程进入该程序, 若用PV 操作作同步机制,则信号量S 的取值范围为 ( A. 2, 1, 0, -1 B . 3, 2, 1, 0 C . 2, 1, 0, -1 , -2 10、在提供虚拟存储的系统中,用户的逻辑地址空间主要受( C A.内存空闲块的大小 B .外存的大小 C.计算机编址范围 11、 采用时间片轮转法调度是为了 ( ) ° A.多个终端都能得到系统的及时响应 B ?先来先服务c 优先数高的进程先使用处理器 D ?紧急事件优先处理 12、 () 必定会引起进程切换。 A. —个进程被创建后进入就绪态 B. 一个进程从运行态变成等待态 C. 一个进程从运行态变成就绪态 D ?一个进程从等待态变成就绪态 13、 操作系统根据() 控制和管理进程,它是进程存在的标志。 A.程序状态字 B .进程控制块 C ?中断寄存器 D ?中断装置 14、 ( B )存储管理方式提供二维地址结构。 A.固定分区 B.分段 C.分页 D.可变分区 15、 在进程管理中,当( )时,进程从阻塞状态变为就绪状态。 A ?进程被进程调度程序选中 B ?等待某一事件 C .等待的事件发生 D ?时间片用完 二、填空题(20*1分=20分) 1、 在单用户环境下,用户独占全机,此时程序的执行具有 _封闭性 _______ 和_可再现性_° 2、 对于信号量,在执行一次P 操作时信号量-1_ ;当其值为__<0__时,进程应阻塞。在执行V 操作时信号量的值应当_信号量+1 _;当 其值为_<=0__ 时,应唤醒阻塞队列中的进程。 3、 进程的三种基本状态分别是 、进程的三种基本状态分别是 __运行 _______ , _就绪_和_阻塞(等待)__° 4、 多道程序环境下的各道程序, 宏观上它们是—并行__运行,微观上是—串行_运行。 5、 在单CPU 系统中有 (n>1)个进程,在任一时刻处于就绪的进程最多是 _^1__个,最少是 __0 _______ 个。 6、 分区管理方案不能实现虚存的原因是 —作业地址空间不能大于存储空间 _ ° 7、 段页式存储管理中,是将作业分 _段__段___________ 内分—页 ______ 。分配以_页 _______ 为单位。在不考虑使用联想存储器快表的情况下, 每条访问内存的指令需要 _______ 3___访问内存。其中第_2_次是查作业的页表。 姓名 一、选择题(15*2分=30分) 在操作系统中,JCB 是指(A A .作业控制块B ?进程控制块 C ?文件控制块D ?程序控制块 并发进程之间(D ) A.彼此无关B.必须同步C.必须互斥 D.可能需要同步或互斥 运行时间最短的作业被优先调度,这种调度算法是( A.优先级调度 B ?响应比高者优先 C )° C .短作业优先 D .先来先服务 某页式存储管理系统中,地址寄存器长度为 A. 210 B. 211 5、( D )是一种只能进行P 操作和V A ?调度B .进程C .同步D.信号量 在操作系统中,并发性是指若干事件( A.在同一时刻 B .一定在不同时刻 24位,其中页号占 C. 214 操作的特殊变量 ° C .在某一时间间隔内 14位,则主存的分块大小是(C )字节 D. 224 D ?依次在不同时间间隔内 B. 在分布系统中同一时刻运行多个程序 D . 1, 0, -1 , -2 )的限制。 D .页表大小

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

实验一进程管理 一、目的 进程调度是处理机管理的核心内容。本实验要求编写和调试一个简单的进程调度程序。通过本实验加深理解有关进程控制块、进程队列的概念,并体会和了解进程调度算法的具体实施办法。 二、实验内容及要求 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)); jincheng.rtime = 0;

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

第二章进程管理习题及答案 一、填空题 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

第三章进程管理课后习题答案

进程管理习题 1现代操作系统中为什么要引入“进程”概念? 它与程序有什么区别? 答:之所以要引入进程的概念,是因为在一些可以并发的程序段之间,存在着某种相互制约的关系,每个程序段的执行不仅要受到其它程序执行的制约,而且还要动态地依赖系统资源的分配情况,因此每个可以并发执行的程序段就会因外界条件的限制而不能运行,被迫处于阻塞状态。仅用程序的概念无法表示程序的走走停停以及程序运行过程中对资源的竞争现象,因此需要采用一种动态的概念描述并发程序这种走走停停的现象,这就产生了进程的概念。 进程和程序的区别: (1)进程是程序的执行过程,是动态的过程,属于一种动态概念。程序是一组有序静态指令和数据的集合,用来指示处理机的操作,是一种静态概念。 (2)从结构上看,每个进程实体是由程序段和相应的数据段两部分构成,并且进程结构中还要包含PCB,即进程控制块。 (3)一个进程可以涉及到一个或几个程序的执行;反之,同一程序可以对应多个进程,即同一个程序段可以在不同数据集合上运行,可以构成不同的进 程。 (4)进程能真实地描述并发执行的过程,而程序仅仅是静态指令堆积的序列。 (5)进程有可创建其他进程的功能,而一般的程序不具有创建其它程序的功能。 (6)每一个程序都是在一个进程现场中运行的。 2叙述进程的并发性和制约性。 答:并发性是进程的重要特征。即多道程序中多个进程同时向前推进的过程,没个进程总是与其它进程并发地执行的。进程的制约性是指一个进程的运行受到另一进程的制约。比如有的进程可能正在等待另一进程的计算结果而无法运行,或者进程所需的资源被别的进程占有而无法运行。 3进程的含义是什么? 如何构造和描述进程? 答:进程是程序的一次执行。进程由“进程控制块+程序+数据”构成,用进程控制块描述进程。 4有三个并发进程,R负责从输入设备读入信息并传送给M,M将信息加工并传送给P,P将打印输出,写出下列条件下的并发程序。 (1) 双缓冲区,每个区大小为K。 (2) 单缓冲区,其大小为K。 答: (1)双缓冲区,每个区大小为K,信号量初值如下: mutexR=mutexP=1; emptyR=emptyP=k; fullR= fullP=0; 变量的初值如下: inR=outR=inP=outP=0; 用类Pascal编写程序如下:

实验一 进程管理

实验一进程管理 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. 实验指导

进程管理习题及答案

进程管理习题答案 一.选择题 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.便一直存在于系统中,直到被操作人员撤消

实验一进程管理实验

实验一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

相关文档
最新文档