操作系统精选习题——第二章

一.单选题

  1. 一个进程被唤醒意味着( )。
    A、该进程重新占有了CPU
    B、它的优先权变为最大
    C、其PCB移至阻塞队列队首
    D、进程变为就绪状态

  2. 假设某时刻,若干进程调用了P(S)后,有n个进程处于等待信号量S的状态。此后,又有m个进程(m<n)调用V(S),现在信号量的值应该是( )。
    A、m+n
    B、n
    C、m
    D、m-n

  3. 用V操作唤醒一个等待进程时,被唤醒进程的状态变为( )。
    A、等待
    B、就绪
    C、执行
    D、完成

  4. 在进程管理中,当( )时,进程从阻塞状态变为就绪状态。
    A、进程被进程调度程序选中
    B、等待某一事件
    C、等待的事件发生
    D、时间片用完

  5. 对于两个并发进程,设互斥信号量为mutex,若mutex=0,则( )。
    A、表示没有进程进入临界区
    B、表示有一个进程进入临界区
    C、表示有一个进程进入临界区,另一个进程等待进入
    D、表示有两个进程进入临界区

  6. 对于两个并发进程,设互斥信号量为mutex,若mutex=-1,则( )。
    A、表示没有进程进入临界区
    B、表示有一个进程进入临界区
    C、表示有一个进程进入临界区,另一个进程等待进入
    D、表示有两个进程进入临界区

  7. 下面所述步骤中,( )不是创建进程所必需的。
    A、由调度程序为进程分配CPU
    B、建立一个进程控制块
    C、为进程分配内存
    D、将进程控制块链入就绪队列

  8. 下面对进程的描述中,错误的是( )。
    A、进程是动态的概念
    B、进程执行需要处理机
    C、进程是有生命期的
    D、进程是指令的集合

进程(Process)是具有一定独立功能的程序在某个数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,进程是程序的实体。

  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、在单CPU的系统中,任何时刻处于就绪状态的进程有多个。

  6. P、V操作是( )。
    A、两条低级进程通信原语
    B、两组不同的机器指令
    C、两条系统调用命令
    D、两条高级进程通信原语

  7. 某个信号量S初值为3,当前值为-2,则因为等待该信号量而阻塞的进程数为( )个。
    A、1
    B、2
    C、3
    D、4

  8. 操作系统通过( )对进程进行管理。
    A、JCB
    B、PCB
    C、DCT
    D、CHCT

  9. 正在运行的进程,在信号量S上执行P操作之后,当S<0,进程将进入信号量的( )。
    A、等待队列
    B、提交队列
    C、后备队列
    D、就绪队列

  10. 一个进程被创建后,就会被插入( )排队。
    A、阻塞队列
    B、就绪队列
    C、缓冲队列
    D、运行队列

  11. ① 没有运行进程,有2个就绪进程,n-2个进程处于等待状态。
    ② 没有运行进程, n个进程处于等待状态。
    ③有1个运行进程,没有就绪进程,n-1进程处于等待状态。
    ④有1个运行进程,有1个就绪进程,n-2进程处于等待状态。
    ⑤有1个运行进程,n-1个就绪进程,没有进程处于等待状态。
    上述情况中,不可能发生的情况是( )
    A、①
    B、②
    C、③
    D、⑤

  12. 信箱通信是一种( )方式
    A、直接通信
    B、间接通信
    C、低级通信
    D、信号量

  13. 某系统的进程状态转换图如图所示,请说明
    在这里插入图片描述
    当我们观察系统中某些进程时,能够看到某一进程产生的一次状态转换能引起另一进程作一次状态转换。当一个进程发生转换3时能立即引起另一个进程发生转换1?
    A、可能
    B、一定会发生
    C、一定不发生

如果就绪队列非空,则一个进程的转换3会立即引起另一个进程的转换1。这是因为一个进程发生转换3意味着正在执行的进程由执行状态变为阻塞状态,这时处理机空闲,进程调度程序必然会从就绪队列中选取一个进程并将它投入运行,因此只要就绪队列非空,一个进程的转换3能立即引起另一个进程的转换1。

  1. 进程的三个基本状态在一定条件下可以相互转化,进程由就绪状态变为执行状态的条件是( ).
    A、时间片用完 (应是由运行变为就绪)
    B、等待某事件发生
    C、等待的某事件已发生
    D、被进程调度程序选中

  2. 进程和程序的本质区别是( )。
    A、存储在内存和外存
    B、顺序和非顺序执行机器指令
    C、分时使用和独占使用计算计资源
    D、动态和静态特征

  3. 系统的进程状态转换图如图所示,请说明
    在这里插入图片描述
    当我们观察系统中某些进程时,能够看到某一进程产生的一次状态转换能引起另一进程作一次状态转换。当一个进程发生转换3时能立即引起另一个进程发生转换2?
    A、可能
    B、一定会发生
    C、一定不发生

某个进程的转换3决不可能引起另一进程发生转换2。这是因为当前执行进程从执行状态变为阻塞状态,不可能又从执行状态变为就绪状态。

  1. 下列叙述中,正确的一条是( )。
    A、分时系统中,时间片越小,响应时间越长
    B、多道程序的引入,主要是为了提高CPU及其它资源的利用率
    C、飞机机票系统是分时系统
    D、PCB是进程存在的唯一标志,而程序是系统感知进程存在的唯一实体

PCB是进程存在的唯一标志 ,也是系统感知进程存在的唯一实体。

  1. a,b 两点间是一段东西向的单行车道,现要设计一个自动管理系统,管理规则如下:当ab间有车辆在行驶时同方向的车可以同时驶入ab段,但另一方向的车必须在ab段外等待;当ab之间无车时,到达a(或b)的车辆可以进入ab段,但不能从a,b点同时驶入;当某方向在ab段行驶的车辆使出了ab段且无车辆进入ab段时,应让另一方向等待的车辆进入ab段行驶。请用wait,signal工具对ab段实现正确管理。这个问题属于( )
    A、生产者-消费者
    B、哲学家进餐
    C、读者-写者

读者/写者问题与生产者/消费者问题不同的地方:
1.数据一直都存在,不存在有空位才能写,有数据才能读的问题,写者写可以覆盖之前的值,读者不会消费数据,数据不会消失。
2.允许多个读者同时并发访问,而消费者却要互斥,写者不仅要和写者之间互斥,还要与读者也互斥,对于生产者/消费者只需与自身互斥

  1. 进程的并发执行是指若干个进程( )。
    A、同时执行
    B、宏观上,在执行的时间上是重叠的;微观上不重叠
    C、宏观上,在执行的时间上是不可重叠的
    D、共享系统资源

  2. ( )不是进程之间的通信方式。
    A、过程调用
    B、消息传递
    C、共享存储器
    D、信箱通信

  3. 信箱通信是一种( )通信方式。
    A、直接通信
    B、间接通信
    C、低级通信
    D、信号量

  4. 系统中有某共享资源,利用PV操作对其进行互斥使用时,假定现在有n个进程在等待使用资源,那么,至少有( )个进程曾经调用过P操作。
    A、n+1
    B、n-1
    C、n
    D、1

  5. 在单处理机的分时系统中,分配给进程P的时间片用完后,系统进行切换,结果调度到的仍然是进程P。有可能出现上述情形吗?
    A、有可能
    B、完全没可能
    C、一定会发生
    D、以上皆对

有可能,原因有二:就绪队列为空,或者它的级别最大

  1. 若P、V操作的信号量S初值为2,当前值为-1,则表示有( )等待进程。
    A、0个
    B、1个
    C、2个
    D、3个

  2. 分配到必要的资源并获得处理机时的进程状态是( )。
    A、就绪状态
    B、执行状态
    C、阻塞状态
    D、撤消状态

  3. 一个进程被唤醒,意味着( )。
    A、该进程可以重新竞争CPU
    B、优先级变大
    C、PCB移动到就绪队列之首
    D、进程变为运行状态

  4. a,b 两点间是一段东西向的单行车道,现要设计一个自动管理系统,管理规则如下:当ab间有车辆在行驶时同方向的车可以同时驶入ab段,但另一方向的车必须在ab段外等待;当ab之间无车时,到达a(或b)的车辆可以进入ab段,但不能从a,b点同时驶入;当某方向在ab段行驶的车辆使出了ab段且无车辆进入ab段时,应让另一方向等待的车辆进入ab段行驶。请用wait,signal工具对ab段实现正确管理。
    本问题中,同向车辆的关系是( ),不同方向车辆的关系是( )
    A、互斥,互斥
    B、互斥,同时共享该路段
    C、同时共享该路段,互斥
    D、同时共享该路段,同时共享该路段

  5. 进程控制就是对系统中的进程实施有效的管理,通过使用( )、进程撤消、进程阻塞、进程唤酲等进程控制原语实现。
    A、进程运行
    B、进程管理
    C、进程创建
    D、进程同步

  6. 某系统的进程状态转换图如图所示,请说明
    在这里插入图片描述
    当我们观察系统中某些进程时,能够看到某一进程产生的一次状态转换能引起另一进程作一次状态转换。当一个进程发生转换2时能立即引起进程发生转换1?
    A、可能
    B、不可能
    C、一定会

当某进程发生转换2时,就必然引起另一进程的转换1。因为当发生转换2时,正在执行的进程从执行状态变为就绪状态,进程调度程序必然会从就绪队列中选取一个进程投入运行,即发生转换1。

  1. 某系统的进程状态转换图如图所示,请说明
    在这里插入图片描述
    当我们观察系统中某些进程时,能够看到某一进程产生的一次状态转换能引起另一进程作一次状态转换。当一个进程发生转换4时能立即引起另一个进程发生转换1?
    A、可能
    B、一定发生
    C、一定不发生

当处理机空闲且就绪队列为空时,某一进程的转换4就会引起该进程的转换1。因为此时处理机空闲,一旦某个进程发生转换4,就意味着有一个进程从阻塞状态变为就绪状态,因而调度程序就会将就绪队列中的此进程投入运行

  1. 在操作系统中,进程是一个具有一定独立功能的程序在某个数据集上的一次( )。
    A、等待活动
    B、运行活动
    C、单独操作
    D、关联操作

  2. 下面说法正确的是( )
    A、线程是比进程更小的能独立运行的基本单位
    B、引入线程可提高程序并发执行的程度,可进一步提高系统效率
    C、线程的引入增加了程序执行时的时空开销
    D、一个进程一定包含多个线程

C选项,线程的引入是为了减少程序在并发执行时所付出的时空开销,使OS具有更好的并发性

  1. 在支持多线程的系统中,进程P创建的若干个线程不能共享的是( )
    A、进程P的代码段
    B、进程P中打开的文件
    C、进程P的全局变量
    D、进程P中某线程的栈指针

二.填空题

  1. 对于信号量可以做P操作和V操作,程序中两者操作应谨慎使用,以保证其使用的正确性,否则执行时可能发生死锁。V 操作用于释放进程。

  2. 对于信号量可以做P操作和V操作,程序中两者操作应谨慎使用,以保证其使用的正确性,否则执行时可能发生死锁。 P 操作用于阻塞进程。

  3. 进程在运行过程中有三种基本状态,它们是就绪、阻塞 、运行。

  4. 程序顺序执行时有顺序性、封闭性 和可再现性的特点。

  5. 进程主要由 PCB 、代码、数据 三部分内容组成,其中代码部分也可以为其他进程共享。

  6. 进程的基本特征有动态性、并发 性、独立性、异步性。

  7. 在操作系统中,通信分为 低级通信 和高级通信

  8. 临界资源的概念是一次仅允许 1 个进程使用的资源。

  9. 计算机系统中,各进程之间逻辑上的相互制约关系称为 同步

  10. 在单CPU系统中,如果系统中有N个进程,运行的进程最多 1 个,最少0个?

  11. 在单CPU系统中,如果系统中有N个进程,就绪的进程最多 N-1 个,最少0个?

三.判断题

  1. 一个进程释放了一台打印机,它可能会改变所有等待打印机的进程状态。
    正确答案:×
  2. 一个进程释放了一台打印机,它可能会改变另一个等待打印机的进程的状态。
    正确答案:√
  3. 引入管程是为了让系统自动处理临界资源的互斥使用问题。
    正确答案:√
  4. 线程的引入最终会增加了程序执行时的时空开销,增加了系统负担。
    正确答案:×
  5. 在单CPU系统中,如果系统中有N个进程,就绪的进程最多N-1个,最少1个。
    正确答案:×
  6. 在单CPU系统中,如果系统中有N个进程,等待的进程最多N个,最少0个。
    正确答案:√
  7. 一个进程至少包含一个线程,又时候包含多个线程。
    正确答案:√
  8. 优先级是进行进程调度的重要依据,一旦确定不能改变。
    正确答案:×
  9. 引入线程可提高程序并发执行的程度,可进一步提高系统效率
    正确答案:√
  10. 引入管程后,所有进程访问都必须经过管程才能进入,而管程每次只允许一个进程进入,从而实现了进程互斥。
    正确答案:√
  11. 在单CPU系统中,某一时刻处于运行状态进程有一个。
    正确答案:×
  12. 进程申请CPU得不到满足时,其状态变为等待状态。
    正确答案:×
  13. 消息传递机制是操作系统的一种进程通信手段。
    正确答案:√
  14. 管道技术是操作系统中用来解决进程同步问题而引入的。
    正确答案:×

管程技术是操作系统中用来解决进程同步问题而引入的

四.综合题

  1. 某博物馆最多可容纳500人同时参观,有一个出入口,该出入口一次仅允许一个人通过。参观者的活动描述如下: Cobegin 参观者进程i: { …… 进门; …… 参观; …… 出门; …… } Coend请添加必要的信号量和P、V操作,以实现上述过程中的互斥与同步。要求写出完整的过程,说明信号量的含义并赋初值。semaphore empty=500; //博物馆可以容纳的最多人数。

答案:

semaphore mutex=1;      //用于出入口资源的控制
cobegin
参观者进程i:
{
……
P(empty);      //可容纳人数减1
P(mutex);      //互斥使用门
进门;
V(mutex);
参观;
P(mutex);      //互斥使用门
出门;
V(mutex);
V(empty);     //可容纳人数增1
……
}
coend
  1. 系统中有两个进程 P0、P1 互斥使用一个单元的缓冲区。P0 每次用 produce()生成一个正整数并用 put()送入缓冲区;P1 每次用 get()从缓冲区中取数并用computer()计算其平方值,请用信号量机制实现这两个进程的同步与互斥活动,并说明所定义的信号量的含义。要求用伪代码描述。

答案:

semaphore empty=1,full=0
P0:begin
   X=produce();      /*生成一个数*/
   P(empty);     /*判断缓冲区是否有空单元*/
     Put(); 
     V(full)
end

P1:begin
   P(full);     /*收到 P0 发来的信号,已产生一个数*/
   Get();
   Computer()
      V(empty);     /*向 P0 发信号,多出一个空单元*/
   end
  1. 用记录型信号量写出一个不会死锁的哲学家进餐问题的算法。

答案:

除了为每只筷子设置一个初值为1的信号量chopstick[i](i=0,1,2,3,4)外,还需再设置一个初值为4的信号量sm,以限制同时就餐的哲学家人数不超过4.第i个哲学家的活动可描述为:

Pi(){
	while(1){
		wait(sm);
		wait(chopstick[i]);
		wait(chopstick[i+1]%5);
		eat;
		signal(chopstick[i]);
		signal (chopstick[i+1]%5);
		signal(sm);
		think;
	}
}
  1. 有N个哲学家围在一张圆桌边思考边吃饭,桌上放m个碗,每两位哲学家之间有一根筷子筷子。当哲学家饥饿时只有拿起其左右两支筷子和一个碗才能进餐,进餐完毕又把筷子和碗放下回原处并继续思考。为了使尽可能多的哲学家同时就餐,且防止出现死锁现象,请使用信号量PV操作描述上述过程中的互斥与同步,并说明所使用信号量及初值的含义。

答案:

semaphore bowl=m

semaphore chopstick[n]={1,1,1,1,1。。。};

While(1){

    wait(bowl)

    wait(chopstick[i]);

    wait(chopstick[(i+1)%n]);

    …

   eat

    …

   signal(chopstick[i]);

   signal(chopstick[(i+1)mod n]);

    signal(bowl)…

   think;}
  • 14
    点赞
  • 112
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
一、 实验目的 用高级语言编写和调试一个进程调度程序,以加深对进程的概念及进程调度算法的理解。 二、实验内容和要求 编写并调试一个模拟的进程调度程序,采用“简单时间片轮转法”调度算法对五个进程进行调度。 每个进程有一个进程控制块( PCB)表示。进程控制块可以包含如下信息:进程名、到达时间、需要运行时间、已运行时间、进程状态等等。 进程的到达时间及需要的运行时间可以事先人为地指定(也可以由随机数产生)。进程的到达时间为进程输入的时间。 进程的运行时间以时间片为单位进行计算。 每个进程的状态可以是就绪 W(Wait)、运行R(Run)两种状态之一。 就绪进程获得 CPU后都只能运行一个时间片。用运行时间加1来表示。 如果运行一个时间片后,进程的已占用 CPU时间已达到所需要的运行时间,则撤消该进程,如果运行一个时间片后进程的已占用CPU时间还未达所需要的运行时间,也就是进程还需要继续运行,此时应分配时间片给就绪队列中排在该进程之后的进程,并将它插入就绪队列队尾。 每进行一次调度程序都打印一次运行进程、就绪队列、以及各个进程的 PCB,以便进行检查。 重复以上过程,直到所要进程都完成为止。 三、实验主要仪器设备和材料 硬件环境:IBM-PC或兼容机 软件环境:C语言编程环境 四、实验原理及设计方案 1、进程调度算法:采用多级反馈队列调度算法。其基本思想是:当一个新进程进入内在后,首先将它放入第一个队列的末尾,按FCFS原则排队等待高度。当轮到该进程执行时,如能在该时间片内完成,便可准备撤离系统;如果它在一个时间片结束时尚为完成,调度程序便将该进程转入第二队列的末尾,再同样地按FCFS原则等待调度执行,以此类推。 2、实验步骤: (1)按先来先服务算法将进程排成就绪队列。 (2)检查所有队列是否为空,若空则退出,否则将队首进程调入执行。 (3)检查该运行进程是否运行完毕,若运行完毕,则撤消进程,否则,将该进程插入到下一个逻辑队列的队尾。 (4)是否再插入新的进程,若是则把它放到第一逻辑队列的列尾。 (5)重复步骤(2)、(3)、(4),直到就绪队列为空。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值