操作系统复习题-第二章 进程管理

简介: 第二章 进程管理单项选择题1、顺序程序和并发程序的执行相比,(  C  )。A.基本相同                   B.有点不同C.并发程序执行总体上执行时间快D.顺序程序执行总体上执行时间快2、在单一处理机上,将执行时间有重叠的几个程序称为( C  )。

第二章 进程管理

单项选择题

1、顺序程序和并发程序的执行相比,(  C  )。

A.基本相同                   B.有点不同

C.并发程序执行总体上执行时间快

D.顺序程序执行总体上执行时间快

2、在单一处理机上,将执行时间有重叠的几个程序称为( C  )。

A.顺序程序       B.多道程序        C.并发程序            D.并行程序

3、进程和程序的本质区别是( D   )。

A.存储在内存和外存                   B.顺序和非顺序执行机器指令

C.分时使用和独占使用计算机资源       D.动态和静态特征

4、在下列特性中,不是进程的特性的是(  C  )。

A. 异步性       B.并发性        C.静态性        D.动态性

5、各进程向前推进的速度是不可预知,体现出“走走停停”的特征,称为进程的( D   )。

  A.动态性     B.并发性     C.调度性     D.异步性

6、在单处理机系统中,处于运行状态的进程( A  )。

A.只有一个                   B.可以有多个

C.不能被挂起                 D.必须在执行完后才能被撤下

7、下列进程状态的转换中,不正确的是(  C   )。

A. 就绪->运行                     B.运行->就绪

C. 就绪->阻塞                    D.阻塞->就绪

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

A.存储器         B.打印机         C. CPU             D.磁盘空间

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

A.该进程重新占有了CPU       B.进程状态变为就绪

C.它的优先权变为最大          D.其PCB移至就绪队列的队首

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

A.输入或输出事件发生          B.时间片到

C.输入或输出事件完成          D.某个进程被唤醒

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

A.进程状态字              B.进程优先数

C.进程控制块              D.进程起始地址

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

A.初始化程序      B.原语          C.子程序           D.控制模块

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

A.相互独立与相互制约          B.同步与互斥

C.并行执行与资源共享          D.信息传递与信息缓冲

14、两个进程合作完成一个任务,在并发执行中,一个进程要等待其合作伙伴发来信息,或者建立某个条件后再向前执行,这种关系是进程间的( A   )关系。

A.同步            B.互斥            C.竞争               D.合作

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

A. 共享资源       B.临界区        C.临界资源            D.共享区

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

   A. S>0             B. S=0            C. S<0                 D. S!=0

17、信号量S的初值为8,在S上执行了10次P操作,6次V操作后,S的值为(  D  )。

    A.10         B.8          C.6         D.4

18、在进程通信中,使用信箱方式交换信息的是( B  )。

    A.低级通信        B.高级通信        C.共享存储器通信        D.管道通信

二、判断题(正确写T,错误的写F并改正)

1、进程之间的同步,主要源于进程之间的资源竞争,是指对多个相关进程在执行次序上的协调。(   F  )

改正为:进程之间的互斥,主要源于进程之间的资源竞争,是指对多个相关进程在执行次序上的协调。

2、信号量机制是一种有效的实现进程同步与互斥的工具。信号量只能由PV操作来改变。(   T  )

3、V操作是对信号量执行加1操作,意味着释放一个单位资源,加1后如果信号量的值小于等于零,则从等待队列中唤醒一个进程,现进程变为等待状态,否则现进程继续进行。(  F   )

改正为:V操作是对信号量执行加1操作,意味着释放一个单位资源,加1后如果信号量的值小于等于零,则从等待队列中唤醒一个进程,并将它变为就绪状态,而现进程继续进行。

4、进程执行的相对速度不能由进程自己来控制。(  T  )

5、利用信号量的PV操作可以交换大量信息。(  F   )

改正为:利用信号量的PV操作只能交换少量的信息

6、并发进程在访问共享资源时,不可能出现与时间有关的错误。(   F  )

改正为:可能出现与时间有关的错误

三、填空题

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

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

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

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

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

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

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

四、简答题

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

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

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

1)进程是动态的;程序是静态的。

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

3)二者无一一对应关系。

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

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

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)  为选中的进程恢复现场。

五、应用题

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

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

:定义二个信号量S1、S2,初值均为1,即:S1=1,S2=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]到[8]分别为:P(S1), V(S1), P(S2), V(S2), P(S1) ,V(S1) ,P(S2) ,V(S2)

2、设有一台计算机,有两条I/O通道,分别接一台卡片输入机和一台打印机。卡片机把一叠卡片逐一输入到缓冲区B1中,加工处理后再搬到缓冲区B2中,并在打印机上打印,问:

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

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

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

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

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

解:信号量含义及初值:

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

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

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

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

img_279844b1a5eaadec0426a6a62e52d97a.png

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

img_da17e3ffcbcb687581e3feea6bb7de41.png
状态图

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

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

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

解:状态变化的原因如下:

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

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

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

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

    ⑤等待磁盘读文件工作;

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

4、生产者-消费者问题表述如下:一组生产者进程和一组消费者进程通过缓冲区发生联系。生产者进程将生产的产品送入缓冲区,消费者进程则从中取出产品。假定环形缓冲池中共有N个缓冲区,编号为0~N-1。

   为了描述生产者进程和消费者进程,设指针in和out分别指向生产者进程和消费者进程当前所用的缓冲区(buffer),初值均为0。

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

解:full表示放有产品的缓冲区数,初值为0;

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

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

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

        while(TRUE){

        P(empty) ;

        P(mutex)

        产品送往buffer(in);

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

         V(mutex) 

         V(full)

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

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

                产品送往buffer(in);

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

目录
相关文章
|
1月前
|
监控 搜索推荐 开发工具
2025年1月9日更新Windows操作系统个人使用-禁用掉一下一些不必要的服务-关闭占用资源的进程-禁用服务提升系统运行速度-让电脑不再卡顿-优雅草央千澈-长期更新
2025年1月9日更新Windows操作系统个人使用-禁用掉一下一些不必要的服务-关闭占用资源的进程-禁用服务提升系统运行速度-让电脑不再卡顿-优雅草央千澈-长期更新
137 2
2025年1月9日更新Windows操作系统个人使用-禁用掉一下一些不必要的服务-关闭占用资源的进程-禁用服务提升系统运行速度-让电脑不再卡顿-优雅草央千澈-长期更新
|
2月前
|
算法 Linux 调度
深入理解Linux操作系统的进程管理
本文旨在探讨Linux操作系统中的进程管理机制,包括进程的创建、执行、调度和终止等环节。通过对Linux内核中相关模块的分析,揭示其高效的进程管理策略,为开发者提供优化程序性能和资源利用率的参考。
113 1
|
2月前
|
Linux 调度 C语言
深入理解操作系统:从进程管理到内存优化
本文旨在为读者提供一次深入浅出的操作系统之旅,从进程管理的基本概念出发,逐步探索到内存管理的高级技巧。我们将通过实际代码示例,揭示操作系统如何高效地调度和优化资源,确保系统稳定运行。无论你是初学者还是有一定基础的开发者,这篇文章都将为你打开一扇了解操作系统深层工作原理的大门。
|
2月前
|
C语言 开发者 内存技术
探索操作系统核心:从进程管理到内存分配
本文将深入探讨操作系统的两大核心功能——进程管理和内存分配。通过直观的代码示例,我们将了解如何在操作系统中实现这些基本功能,以及它们如何影响系统性能和稳定性。文章旨在为读者提供一个清晰的操作系统内部工作机制视角,同时强调理解和掌握这些概念对于任何软件开发人员的重要性。
|
2月前
|
算法 调度 开发者
深入理解操作系统:进程与线程的管理
在数字世界的复杂编织中,操作系统如同一位精明的指挥家,协调着每一个音符的奏响。本篇文章将带领读者穿越操作系统的幕后,探索进程与线程管理的奥秘。从进程的诞生到线程的舞蹈,我们将一起见证这场微观世界的华丽变奏。通过深入浅出的解释和生动的比喻,本文旨在揭示操作系统如何高效地处理多任务,确保系统的稳定性和效率。让我们一起跟随代码的步伐,走进操作系统的内心世界。
|
2月前
|
存储 算法 调度
深入理解操作系统:进程调度的奥秘
在数字世界的心脏跳动着的是操作系统,它如同一个无形的指挥官,协调着每一个程序和进程。本文将揭开操作系统中进程调度的神秘面纱,带你领略时间片轮转、优先级调度等策略背后的智慧。从理论到实践,我们将一起探索如何通过代码示例来模拟简单的进程调度,从而更深刻地理解这一核心机制。准备好跟随我的步伐,一起走进操作系统的世界吧!
|
2月前
|
运维 监控 Linux
Linux操作系统的守护进程与服务管理深度剖析####
本文作为一篇技术性文章,旨在深入探讨Linux操作系统中守护进程与服务管理的机制、工具及实践策略。不同于传统的摘要概述,本文将以“守护进程的生命周期”为核心线索,串联起Linux服务管理的各个方面,从守护进程的定义与特性出发,逐步深入到Systemd的工作原理、服务单元文件编写、服务状态管理以及故障排查技巧,为读者呈现一幅Linux服务管理的全景图。 ####
|
2月前
|
调度 开发者 Python
深入浅出操作系统:进程与线程的奥秘
在数字世界的底层,操作系统扮演着不可或缺的角色。它如同一位高效的管家,协调和控制着计算机硬件与软件资源。本文将拨开迷雾,深入探索操作系统中两个核心概念——进程与线程。我们将从它们的诞生谈起,逐步剖析它们的本质、区别以及如何影响我们日常使用的应用程序性能。通过简单的比喻,我们将理解这些看似抽象的概念,并学会如何在编程实践中高效利用进程与线程。准备好跟随我一起,揭开操作系统的神秘面纱,让我们的代码运行得更加流畅吧!
|
2月前
|
消息中间件 算法 调度
深入理解操作系统之进程管理
本文旨在通过深入浅出的方式,带领读者探索操作系统中的核心概念——进程管理。我们将从进程的定义和重要性出发,逐步解析进程状态、进程调度、以及进程同步与通信等关键知识点。文章将结合具体代码示例,帮助读者构建起对进程管理机制的全面认识,并在实践中加深理解。
|
3月前
|
算法 Linux 调度
深入浅出操作系统的进程管理
本文通过浅显易懂的语言,向读者介绍了操作系统中一个核心概念——进程管理。我们将从进程的定义出发,逐步深入到进程的创建、调度、同步以及终止等关键环节,并穿插代码示例来直观展示进程管理的实现。文章旨在帮助初学者构建起对操作系统进程管理机制的初步认识,同时为有一定基础的读者提供温故知新的契机。

推荐镜像

更多