操作系统ch2 进程与线程的重点题型

上传人:kms****20 文档编号:40480645 上传时间:2018-05-26 格式:DOC 页数:4 大小:48KB
返回 下载 相关 举报
操作系统ch2 进程与线程的重点题型_第1页
第1页 / 共4页
操作系统ch2 进程与线程的重点题型_第2页
第2页 / 共4页
操作系统ch2 进程与线程的重点题型_第3页
第3页 / 共4页
操作系统ch2 进程与线程的重点题型_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《操作系统ch2 进程与线程的重点题型》由会员分享,可在线阅读,更多相关《操作系统ch2 进程与线程的重点题型(4页珍藏版)》请在金锄头文库上搜索。

1、1第第 2 2 章章 进程与线程习题进程与线程习题三、名词解释 进程:进程:一个具有一定独立功能的程序在一个数据集合上的一次动态执行过程。PCB:进程控制块:进程控制块 PCB(Process Control Block),PCB 是进程存在的唯一标志。它是描述和管理进程的数据结构。线程:线程:线程是进程内一个相对独立的、可调度的执行单元。 (线程自己基本上不拥有资源,只拥有一点在运行时必不可少的资源(如程序计数器、一组寄存器和栈) ,但它可以与同属一个进程的其他线程共享进程拥有的全部资源。 )原语:原语:由若干条机器指令构成,用以完成特定功能的一段程序。这段程序在执行期间不可分割。临界区:临

2、界区:在每个进程中,访问临界资源的一段代码。临界资源:临界资源:在同一时刻,只允许有一个进程对其访问的资源。管程:管程:代表共享资源的数据结构,以及由于对该共享数据结构实施操作的一组过程所组成的资源管理程序,共同构成了一个操作系统的资源管理模块,我们称之为管程。系统吞吐量系统吞吐量: 每秒的数据处理量。吞吐量是在给定时间段内系统完成的交换数量。即系统的吞吐量越大,说明系统在单位时间内完成的用户或系统请求越多, 系统的资源得到充分利用。四、简答题1 在操作系统中为什么要引入进程概念?它与程序的差别和关系是怎样的?在操作系统中为什么要引入进程概念?它与程序的差别和关系是怎样的? 由于多道程序的并发

3、执行时共享系统资源,共同决定这些资源的状态,因此系统中各程序在执行过程中就出现了相互制约的新关系,程序的执行出现“走走停停”的新状态。用程序这个静态概念已经不能如实反映程序并发执行过程中的这些特征。为此,人们引入“进程(Process) ”这一概念来描述程序动态描述程序动态执行过程执行过程的性质。进程和程序是两个完全不同的概念。进程与程序的主要区别主要区别:进程程序进程是动态概念程序是静态概念进程具有并发性,宏观上同时运行程序本身具有顺序性,程序的并发执行是通过进程实现的进程具有独立性,是一个能独立运行的单位,是系统资源分配的基本单位,是运行调度的基本单位程序本身没有此特性程序和进程无一一对应

4、关系,一个进程可顺序执行多个程序一个程序可由多个进程共用进程异步前进,会相互制约程序不具备此特性进程和程序之间存在密切的关系密切的关系:进程的功能是通过程序的运行得以实现的,进程活动的主体是程序,进程不能脱离开具体程序而独立存在。2 什么是进程的互斥与同步?什么是进程的互斥与同步? 进程的同步与互斥是指进程在推进时的相互制约关系。进程的同步与互斥是指进程在推进时的相互制约关系。在多道程序系统中,由于进程合作 与资源共享,这种进程间的制约称为可能。我们把前者称为进程同步,后者称为进程互斥。进程同步是进程间共同完成一项任务时直接发生相互作用的关系。进程同步是进程间共同完成一项任务时直接发生相互作用

5、的关系。为进程之间的直接 制约关系。在多道环境下,这种进程间在执行次序上的协调是必不可少的。同步进程之间 的关系如同接力赛跑中的运动员,或生产流水线的每一道工序。 进程互斥是进程之间的间接制约关系。进程互斥是进程之间的间接制约关系。在多道系统中,每次只允许一个进程访问的资 源称为临界资源,进程互斥就是保证每次只有一个进程使用临界资源。互斥进程之间的关 系如同汽车在交叉路口争用车道,篮球比赛中双方争抢篮板球。23 进程的创建有哪些步骤?进程的创建有哪些步骤? a. 操作系统发现请求创建新进程事件后,调用进程创建原语 Creat(); b. 申请空白 PCB; c. 为新进程分配资源; d. 初始

6、化进程控制块; e. 将新进程插入就绪队列. 4 在操作系统中,引起进程调度的因素有哪些?在操作系统中,引起进程调度的因素有哪些?(1)正在执行的进程执行完毕。这时,如果不选择新的就绪进程执行,将浪费处理机资源。(2)执行中进程自己调用阻塞原语将自己阻塞起来进入睡眠等状态。(3)执行中进程调用了 P 原语操作,从而因资源不足而被阻塞;或调用了 v 原语操作激活了等待资源的进程队列。(4)执行中进程提出 I/O 请求后被阻塞。(5)在分时系统中时间片已经用完。(6)在执行完系统调用等系统程序后返回用户进程时,这时可看作系统进程执行完毕,从而可调度选择一新的用户进程执行。以上都是在可剥夺方式下的引

7、起进程调度的原因。以上都是在可剥夺方式下的引起进程调度的原因。在 CPU 执行方式是可剥夺时还有(7)就绪队列中的某进程的优先级变得高于当前执行进程的优先级,从而也将引发进程调度。 5. 操作系统中引入线程概念的主要目的是什么?简述线程和进程的主要异同操作系统中引入线程概念的主要目的是什么?简述线程和进程的主要异同 点。点。线程是进程中执行运算的最小单位,即处理机调度的基本单位。目的是目的是为了减少程序并发执行所付出的时空开销,使操作系统具有更好的并发性。异同点异同点:它与进程的关系是:一个线程只能属于一个进程,而一个进程可以有多个线程;资源分配给进程,同一进程的所有线程共享该进程的所有资源;

8、处理机分给线程,即真正在处理机上运行的是线程;线程在运行过程中,需要协作同步,不同进程的线程间要利用消息通信的办法实现同步。五、应用题 1、一个理发店,只有一个理发师,只有、一个理发店,只有一个理发师,只有 n 张可供顾客等待理发的椅子,如果没有顾客,张可供顾客等待理发的椅子,如果没有顾客, 则理发师睡觉;如果有一顾客进入理发店发现理发师在睡觉,则把他叫醒,写一个程序协则理发师睡觉;如果有一顾客进入理发店发现理发师在睡觉,则把他叫醒,写一个程序协 调理发师和顾客之间的关系。调理发师和顾客之间的关系。答: 在这两个活动中,从资源的角度来看,理发师是顾客争用的资源,用信号量 barber 表示,初

9、值为 0;除此以外,顾客还要争用 n 张椅子,信号量 customers 表示等候理发的顾客数,初值为 0;最后设置信号灯变量 mutex 用于这两个活动对资源 barber、customers 的互斥,初值为1。题目中要求描述理发师和顾客的行为,因此需要两类进程 Barber ()和 Customer()分别描述理发师和顾客的行为。当理发师看报时顾客近来需要唤醒理发师为其理发,当有顾客时理发师为其理发,没有的时候理发师看报,因此理发师和顾客之间是同步的关系,由于每次理发师只能为一个人理发,且可供等侯的椅子有限只有 n 个,即理发师和椅子是临界资源,所以顾客之间是互斥的关系。故引入 3 个信号

10、量和一个控制变量:1)控制变量 waiting 用来记录等候理发的顾客数,初值均为 0;2)信号量 customers 用来记录等候理发的顾客数,并用作阻塞理发师进程,初值为 0;3)信号量 barbers 用来记录正在等候顾客的理发师数,并用作阻塞顾客进程,初值为 0;4)信号量 mutex 用于互斥,初值为 1 1.PV 操作代码如下操作代码如下: int waiting=0 ; /等候理发的顾客数 int chairs=n; /为顾客准备的椅子数 semaphore customers=0, barbers=0,mutex=1; barber() 3 while(TRUE); /理完一人

11、,还有顾客吗? P(cutomers); /若无顾客,理发师睡眠 P(mutex); /进程互斥 waiting := waiting 1; /等候顾客数少一个 V(barbers); /理发师去为一个顾客理发 V(mutex); /开放临界区 cut-hair( ); /正在理发 customer() P(mutex); /进程互斥 if (waiting) waiting := waiting+1; / 等候顾客数加 1 V(customers); /必要的话唤醒理发师 V(mutex); /开放临界区 P(barbers); /无理发师, 顾客坐着养神 get-haircut( ); /

12、一个顾客坐下等理/ else V(mutex); /人满了,走吧! 2、设公共汽车上,司机的活动是:启动车辆,正常行车,到站停车;售票员的活动是:上、设公共汽车上,司机的活动是:启动车辆,正常行车,到站停车;售票员的活动是:上 乘客,关车门,售票,开车门,下乘客。在汽车不断到站、停车、行驶过程中,这两个活乘客,关车门,售票,开车门,下乘客。在汽车不断到站、停车、行驶过程中,这两个活 动有什么同步关系?请用信号灯的动有什么同步关系?请用信号灯的 PV 操作实现它们的同步。操作实现它们的同步。第一步:确定进程间的关系。司机启动车辆的动作必须与售票员的动作取得同步;售票员开车门的动作也必须同司机停车

13、取得同步。第二步:确定信号量及其值。由于司机与售票员之间要互通消息,司机进程设置一个私有信号量 run,用于判断是否关车门,司机能否启动车辆,初值为 1。售票员进程设置一个私有信号量 stop,用于判断是否停车,售票员是否能够开车门,初值为 0 第三步: 确定 P、V 操作的位置司机操作中,是否关门?没关则等待,这是一个 P 操作,P(run);司机操作中,设立停车标志,这是一个 V 操作,V(stop);售票员操作中,是否停车?没停则等待,这是一个 P操作,P(stop);售票员操作中,设立关门标志,这是一个 V 操作,V(run) stop ,run:semaphorerun:=1; /是

14、否关车门stop:=0; /是否停车Driver:begin cobegindriver: beginL1: P(run);启动车辆;正常行车;到站停车;V(stop);goto L1;end; Conductor:beginL2:上乘客;4关车门;V(run);售票;P(stop);开车门;下乘客;goto L2;end;coend; end; 3、桌上有一只盘子,每次只能放入或取出一个水果。现有许多苹果和橘子。一家四口人各、桌上有一只盘子,每次只能放入或取出一个水果。现有许多苹果和橘子。一家四口人各 行其职。爸爸专门向盘子中放苹果,妈妈专门向盘子中放橘子,儿子专等吃盘子中的橘子,行其职。爸

15、爸专门向盘子中放苹果,妈妈专门向盘子中放橘子,儿子专等吃盘子中的橘子, 女儿专等吃盘子中的苹果。请用女儿专等吃盘子中的苹果。请用 PV 操作来实现四人之间的同步算法。操作来实现四人之间的同步算法。 int S=1;int Sa=0;int Sb=0; main() cobeginfather();mather();son();daughter(); coend father() while(1)p(S);将一个苹果放入盘中V(Sa); mather() while(1) p(S);将一个桔子放入盘中V(Sb); son() while(1) p(Sb);从盘中取出桔子V(S);吃桔子; daughter() while(1) p(Sa);从盘中取出苹果 V(S);吃苹果;5

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号