操作系统原理--引论及进程管理习题

操作系统原理

引论及进程管理习题

一.单选题(共20题,60.0分)
1操作系统的主要功能有( C )。
A进程管理、存储器管理、设备管理、处理机管理

B虚拟存储管理、处理机管理、进程管理、文件管理

C处理机管理、存储器管理、设备管理、文件管理

D进程管理、中断管理、设备管理、文件管理

2操作系统是对( C )进行管理的软件。
A硬件

B软件

C计算机资源

D应用程序

3当( B )时,进程从执行状态转变为就绪状态。
A进程被调度程序选中

B时间片到

C等待某一事件

D等待的事件发生

4用P、V操作管理临界区时,信号量的初值一般应定义为( C )
A-1

B0

C1

D任意值

5若P、V操作的信号量S初值为2,当前值为-1,则表示有( B)等待进程。
A0

B1

C2

D3

6对于两个并发进程,设互斥信号量为mutex, 若mutex=0, 则( B )。
A表示没有进程进入临界区

B表示有一个进程进入临界区

C表示有一个进程进入临界区,另一个进程等待进入

D表示有两个进程进入临界区

7下列关于线程的叙述中,正确的是( A )
A线程包含CPU现场,可以独立执行程序

B每个线程有自己独立的地址空间

C进程只能包含一个线程

D线程之间的通信必须使用系统调用函敏

8进程之间交换数据不能通过( C )途径进行。

A共享文件

B消息传递

C访问进程地址空间

D访问共享存储区

9进程与程序的根本区别是( A).
A静态和动态特点

B是不是被调入内存

C是不是具有就绪、运行和等待三种状态

D是不是占有处理器

10操作系统是根据( B )来对并发执行的进程进行控制和管理的。
A进程的基本状态

B进程控制块

C多道程序设计

D进程的优先权

11在任何时刻,一个进程的状态变化( C ) 引起另一个进程的状态变化。
A必定

B一定不

C不一定

D不可能

12在单处理器系统中,若同时存在10个进程,则处于就绪队列中的进程最多有( C)个。
A1

B8

C9

D10

13一个进程释放了一台打印机,它可能会改变( C)的状态。
A自身进程

B输入/输出进程

C另一个等待打印机的进程

D所有等待打印机的进程

14PCB 是进程存在的唯一标志,下列(D )不属于PCB.
A进程ID

BCPU状态

C堆栈指针

D全局变量

15下列对临界区的论述中,正确的是(D )。
A临界区是指进程中用于实现进程互斥的那段代码

B临界区是指进程中用于实现进程同步的那段代码

C临界区是指进程中用于实现进程通信的那段代码

D临界区是指进程中用于访问临界资源的那段代码

16设与某资源关联的信号量初值为3,当前值为1。若M表示该资源的可用个数,N表示等待该资源的进程数,则M,N分别是( B)。
A0,1

B1,0

C1,2

D2,0

17两个旅行社甲和乙为旅客到某航空公司订飞机栗,形成互斥资源的是( C)。
A旅行社

B航空公司

C飞机票

D旅行社与航空公司

18用P、V操作实现进程同步,信号量的初值为( D)。
A-1

B0

C1

D由用户确定

19有三个进程共享同一程序段,而每次只允许两个进程进入该程序段,若用P、V操作同步机制,则信号量S的取值范围是( A)。
A2,1,0,-1

B3,2,1,0

C2,1,0,-1,-2

D1,0,-1,-2

20有一个计数信号量S:
1) 假如若干进程对S进行28次P操作和18次V操作后,信号量S的值为0。
2) 假如若干进程对信量量S进行了15次P操作和2次V操作。请问此时有多少个进程等待在信号量S的队列中? ( B )。

A2

B3

C5

D7

二.简答题(共2题,10.0分)
1某分时系统中的进程可能出现如下图所示的状态变化,请回答下列问题:
在这里插入图片描述

1)根据图示,该系统应采用什么进程调度策略?
2)把图中每个状态变化的可能原因填写在下表中

1)该分时系统采用的是时间片轮转调度策略
21、进程被选中,变为运行状态
2、进程阻塞,进行IO操作,等待磁盘读文件
3、进程阻塞,进行IO操作,等待打印机输出
4、打印结束,阻塞的进程转为就绪状态,排入就绪队列尾部
5、读文件结束,阻塞的进程转为就绪状态,排入就绪队列尾部
6、时间片到,运行状态的进程转为就绪状态,排入就绪队列尾部

2进程之间存在哪几种制约关系?各是什么原因引起的?以下活动各属于哪种制约关系?

1)若干学生去图书馆借书。
2)两队进行篮球比赛。
3)流水线生产的各道工序。
4)商品生产和消费。

- 间接相互制约关系:多个程序在并发执行时,由于共享系统资源,如CPU、I/O设备等,致使在这些并发执行的程序之间形成间接相互制约关系
- 直接相互制约关系:某些应用程序,为了完成某任务而建立了两个或多个进程,这些进程将为了完成同一任务而相互合作,进程间的直接相互制约关系就是源于他们之间的相互合作
1)间接相互制约关系
2)间接相互制约关系
3)直接相互制约关系
4)直接相互制约关系

三.计算题(共3题,30.0分)
1对于哲学家进餐问题,请给出一种不会死锁的解决方案。

5只筷子互斥使用,筷子编号0-4,对应设置五个初值为1的互斥信号量,此外,餐厅仅提供4个位子,需设置初值为4的同步信号量seat管理4个位置,即:

P(Chopstick[i]//拿起筷子
V(Chopstick[i]//放下筷子
P(seat)//哲学家进入餐厅申请位置
V(seat)//哲学家就餐完毕归还位置
semaphore Chopstick[5]={1,1,1,1,1};
semaphore seat=4;
第i(0<=i<=4)个哲学家就餐过程代码描述如下:
Philosopher(i){
    While(TRUE){
        P(seat);//哲学家申请座位
        P(Chopstick[i]);
        P(Chopstick[(i+1)mod 5]);//哲学家申请相邻筷子
        Eat();//哲学家就餐
        V(Chopstick[i]);
        V(Chopstick[i+1]);//哲学家归还筷子
        V(seat);//就餐完毕,离席
    }
}

2、有桥如下图所示。车流方向如箭头所示。回答如下问题:假设桥上每次只能
有一辆车行驶,试用信号灯的P,V操作实现交通管理。

设置初始值为1的信号量bridge
P(bridge)//上桥
V(bridge)//下桥
每辆车通过桥的过程如下:
semaphore bridge = 1; //互斥的使用桥
Car(i){
    while(TRUE){
        P(bridge);    //申请上桥
        ...           //通过桥
        V(bridge)//下桥
    }
}

3某博物馆最多可容纳800人同时参观,有一个出入口,该出入口一次仅允许一人通过。参观者的活动描述如下:

cobegin
参观者进程i:{
	…
	进门。
	…
	参观;
	…
	出门;}
coend

请添加必要的信号量和P,V [或wait(), signal()]操作,以实现上述过程中的互斥与同步。要求写出完整的过程,说明信号量的含义并赋初值。

semaphore mutex=1;//互斥的来使用出入口
semaphore empty=500;//博物馆中的空位数
void visitor()
{
    while(true)
    {
        P(empty)//当博物馆还有空位的时才能进入博物馆
        P(mutex);                //可以使用进出口
        进门;
        V(mutex);                //通过出去口,就释放占用权
 		参观;
        P(mutex);                //再次使用出入口
        出门;
        V(mutex);                //通过出去口,就释放占用权
        V(empty);//出门后释放一个空位
    }
}
  • 4
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值