一、选择题
1、进程与程序的根本区别是( )。
A.静态和动态特征 B.是不是被调入到内存中
C.是不是存在三种基本状态 D.是不是占有处理机
进程与程序的区别与联系: (1)进程是程序的一次动态执行活动;程序是进程运行的静态描述文本。比如做菜和菜谱。 (2)一个进程可以执行一个或多个程序,同一个程序也可以被多个进程同时执行。如:一个对C源程序进行编译的进程,先后要执行预处理程序,词法和语法分析程序,汇编程序,链接程序;几个用户同时编辑自己的C源程序,那么各个用户产生的编辑进程就执行同一个C源程序编辑程序。 (3)程序是一种软件资源,可以长期保存;而进程是一次执行过程,是暂时存在的。 (4)程序不具备进程的5个基本特征。
进程的特征 (1)结构特征: 程序段:进程执行的程序,一般是可重入的“纯代码”。 数据段:程序执行时所用的数据。 PCB: 这三部分构成了进程实体。 (2)动态性(最基本的特征):由创建而产生,调度而执行,有撤销而消亡 (3)并发性(最重要的特征):(4)独立性:指进程实体是同一个能独立运行、独立分配资源和独立运行的基本单位。不创建PCB的程序不能作为独立的单位进行运行。 (5)异步性:指进程按各自独立的、不可预知的速度向前推进。
2、操作系统是根据( )来对并发执行的进程进行控制和管理的。
A.进程放入基本状态 B.进程控制块
C.多道程序设计 D.进程的优先权
系统利用进程控制块(PCB)来描述进程的基本情况和活动过程,进而控制和管理进程。系统利用PCB来控制和管理进程,所以PCB是系统感知进程存在的唯一标志。
3、某进程由于需要从磁盘上读入数据而处于等待状态。当系统完成了所需的读盘操作后,此时该进程的状态将( )。
A.从就绪变为运行 B.从运行变为就绪
C.从运行变为阻塞 D.从阻塞变为就绪
当进程处于运行状态时,当等待时间发生时,会由运行转为等待状态(阻塞状态);而当程序处于等待状态时,如果等待发生的事件结束,则有等待转换为就绪。
4、一个进程被唤醒意味着( )。
A.该进程重新占有CPU B.进程状态变为就绪状态
C.它的优先权变为最大 D.其PCB移至就绪队列的队首
5、进程从运行态到等待态可能是( )。
A.运行进程执行了P操作 B.运行进程执行了V操作
C.进程时间片用完 D.进程被调度
对于A,执行P操作,申请资源,当资源不足时,进程会被阻塞。
对于B,执行V操作,释放资源,是不会阻塞的;
对于C,时间片用完,进程会从执行态转到就绪态,继续等待时间片轮转;
对于D,
6、一个进程释放了一台打印机,有可能改变( )的状态。
A.自身进程 B.输入输出进程
C.另一个等待打印机的进程 D.所有等待打印机的进程
7、可能导致进程从运行状态变为就绪状态的事件为( )。
A.等待I/O操作 B.等待的事件发生
C.进程运行结束 D.出现了比当前进程优先级高的进行
A:一次I/O操作结束,等待态->就绪态
B:运行进程需要I/O操作,运行态->等待态
C:运行进程结束,直接转入释放
D:出现了比现运行进程优先级更高的进程,运行态->就绪态
8、必然会引起进程切换的事件为( )。
A.创建一个新的进程后进入就绪状态 B.一个进程从运行状态变为就绪状态
C.一个进程从阻塞状态变为就绪状态 D.以上说法都不对
进程切换是指CPU调度不同的进程执行,当一个进程从运行状态变为就绪状态时,CPU调度另一个进程执行,引起进程切换。
9、系统中有n(n>2)个进程,则不可能发生( )。
A. 有1个运行进行和n-1个就绪进程,但没有进程处于等待状态
B. 有1个运行进程和1和就绪进程,剩下n-2个进程处于等待进行
C. 没有运行进程,1个就绪进程,剩下的n-1个进程处于等待状态
D. 没有就绪的进程和运行的进程,全部进程处于等待状态
10、下列状态的改变可以由进程自身决定的是( )。
A.从运行到阻塞 B.从运行到就绪
C.从就绪到运行 D.从阻塞到就绪
11、用户可以通过( )创建或终止一个进程。
A.函数调用 B.指令 C.系统调用 D.命令
12、两个进程合作完成一个任务,在并发执行中,一个进程要等待其合作伙伴发来信息,或者建立某个条件后再向前执行,这种关系是进程间的( )关系。
A.同步 B.互斥 C.合作 D.竞争
进程的同步是指并发进程之间存在一种制约关系,一个进程的执行依赖另一个进程的消息,当一个进程没有得到另一个进程的消息时应等待,直到消息到达才被唤醒。所以两个进程合作完成一个任务,在并发执行中,一个进程要等待其合作伙伴发来信息,或者建立某个条件后再向前执行,这种关系是进程间的同步关系。
13、进程间的同步和互斥,分别表示了进程间的( )。
A.独立和制约 B.协作和竞争 C.动态性和独立性 D.不同状态
14、操作系统在使用信号量解决同步和互斥问题中,若P、V操作的信号量S初始值为3,当前值为-2,则表示有( 2 )个等待进程。
S.value > 0时, S.value为系统中可用资源的数量;
S.value = 0时,可用资源量正好用完;
S.value < 0时,| S.value |为系统中等待使用该资源的队列长度,即 (在信号量上等待的进程数)。
15、有3个进程共享同一个程序段,而每次只允许两个进程进入该程序段,若用P、V操作同步机制,则信号量S的取值范围是( -1,2 )。
由于每次允许两个进程进入该程序段,所以可能出现的情况是没有进程进入,有一个进程进入,有两个进程进入,两个进程进入并有一个在等待进入,那么这四种情况对应的信号量值为2,1,0,-1。范围为[-1,2]。
16、设某资源关联的信号量初值为3,当前值为1,若M表示资源可以的数量,N表示等待资源的进程数,则M、N分别是( )。
A.0、1 B.1、0 C.1、2 D.2、0
本题目考查信号量的物理含义。根据信号量的物理含义:S.value>0时表示有S.value个资源可用;S.value==0表示无资源可用;S.value<0则|S.value|表示等待队列中的进程个数。信号量的当前值为1,则表示该资源的可用个数为1,没有等待该资源的进程。因此应该选B。
17、执行V操作时,当信号量的值( ),应释放一个等待该信号量的进程。
A.小于0 B.大于0 C.小于等于0 D.大于等于0
pv操作是一对原子操作,p操作的作用是申请资源,即将资源数减1,然后判断资源数是否小于0,若小于0,则自我阻塞在当前资源链表中。
v操作的作用是归还资源,将所申请的资源数加一,然后判断资源数是否小于等于0,若小于等于0说明有进程阻塞在当前资源上,唤醒一个当前资源链表中的进程。
18、对两个并发进程,其互斥信号量为mutex,若mutex=0,则表明( )
A.没有进程进入临界区
B.有两个进程进入临界区
C.一个进程进入临界区但没有进程处于阻塞状态
D.一个进入临界区一个出去等待进入临界区的状态
互斥型信号量是一种特殊的二值信号量,实现对共享资源的独占式处理。它可以在应用程序中用于降解优先级翻转问题。在互斥型信号量中,包括三个元素:1个标志,表示mutex是否可以使用;1个优先级,准备一旦高优先级的任务需要这个mutex,将赋予占有mutex的任务的优先级;1个等待该mutex的任务列表。在互斥型信号量的使用中,其对应的值初始化为1,因此,当其值为1时,所表示的含义是没有进程对这个互斥型信号量所保护的资源进行访问,也就是没有进程进入临界区。临界区不允许两个进程同时进入,D选项明显错误。mutex初值为1,表示允许一个进程进入临界区,当有一个进程进入临界区且没有进程等待进入时,mutex值减1,变为0。
19、信箱通信是一种( )。
A.直接通信 B.间接通信 C.低级通信 D.信号量
信箱通信是一种间接通信方式。
低级通信:只能传递状态和整数值(控制信息),其交换的信息少。
高级通信:用户可直接利用操作系统所提供的一组通信命令高效地传送大量数据的一种通信方式。操作系统隐藏了进程通信的实现细节,即对用户是透明的。
20、下面说法正确的是( )。
A.不论是系统支持的线程还是用户级线程,其切换都需要内核的支持
B.线程是资源分配的单位,进程时调度和分派的单位 (调度)
C.不管系统中是否有线程,进程都是拥有资源的独立单位
D.在引入线程的系统中,进程仍是资源调度和分配的基本单位
引入线程后,进程仍然是资源分配的单位。线程是处理器调度和分派的单位,线程本身不具有资源,它可以共享所属进程的全部资源。
21、下列选项中,会导致用户从用户态切换到内核态的操作是( )
ⅰ.整数除以零 ⅱ.sin函数调用 ⅲ.read函数调用
A. ⅰ和ⅱ B. ⅰ和ⅲ C. ⅱ和ⅲ D. ⅰ、ⅱ和ⅲ
需要在系统内核态执行的操作是整数除零操作和read系统调用函数,答案选B。
二、综合应用题
1、进程之间存在哪些制约关系?下列活动属于哪些制约关系?
(1)若干学生去图书馆借同一本书
(2)两队进行篮球比赛
(3)流水线生产的各道工序
(4)商品生产和消费
进程之间存在两种制约关系,即同步和互斥。
同步是由于并发进程之间需要协调完成同一个任务时引起的一种关系,为一个进程等待另一个进程向它直接发送消息或数据时的一种制约关系。互斥是由于并发进程之间竞争系统的临界资源引起的,为一个进程等待另一个进程已经占有的必须互斥使用的资源时的一种制约关系。1)是互斥关系,同一本书只能被一个学生借阅,或者任何时刻只能有一个学生借阅一本书。2)是互斥关系,篮球是互斥资源。3)是同步关系,一个工序完成后开始下一个工序。4)是同步关系,生产商品后才能消费。2、某组相互合作的进程,其前趋图如下所示,信号量a,b,c,d,e,f的初始值为0,请用P、V操作实现进程间的同步操作。
3、桌子上有一只盘子,每次只能向其中放入一个水果。爸爸专门向盘子中放苹果,妈妈专门向盘子中橘子,儿子专门等吃盘子中的橘子,女儿专门等吃盘子中的苹果。只有盘子为空时,爸爸或妈妈就可向盘子中放一个水果;仅当盘子中有自己需要的水果时,儿子或女儿可以从盘子中取出。请利用P、V操作来实现爸爸、妈妈、儿子、女儿之间的同步和互斥关系。
4、某博物馆最多可以容纳1000人同时参观,有一个出入口,该出入口一次仅允许一个人通过。参观者的活动描述如下:
参观者进程:
{
进门;
……
参观;
……
出门;
}
请添加必要的信号量和P、V操作以实现上述过程中的互斥与同步。要求写出完整的过程,说明信号量的含义并赋初值。
5、有一只最多能装2只兔子的铁笼子,猎人仅能向笼子中放入兔子(每次只能放入1只),若笼子是满的,则猎人必须等待;饭店老板仅能从笼子中取兔子(每次只能取出1只),若笼子是空的则他也必须等待。假设初始时笼子是空的。使用P、V操作实现猎人和饭店老板进程之间的同步与互斥。要求写出完整的过程,并对信号量赋初值。