




免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二章作业第一次作业:1. 进程有哪三种基本状态?进程在三种基本状态之间转换的典型原因是什么? 答: 三种基本状态:就绪状态、执行状态、阻塞状态。 (1)就绪状态执行状态:进程分配到CPU资源(进程调度);(2)执行状态就绪状态:时间片用完(3)执行状态阻塞状态:I/O请求(4)阻塞状态就绪状态:I/O完成2. 在Linux系统中运行下面程序,最多可产生多少个进程?画出进程家族树。main() fork(); fork(); fork();答:最多可以产生7个进程。其家族树为: 3. 试从动态性、并发性和独立性上比较进程和程序。答:1) 动态性是进程最基本的特性,可表现为由创建而产生,由调度而执行,因得不到资源而暂停执行,以及由撤销而消亡,因而进程由一定的生命期;而程序只是一组有序指令的集合,并存放于某种介质上,其本身并不具有运动的含义,因而是静态的;2) 并发性是进程的重要特征,同时也是OS的重要特征。引入进程的目的正是为了使其程序能和其它建立了进程的程序并发执行,而程序本身(没有建立PCB)是不能并发执行的;3) 独立性是指进程实体是一个能独立运行、独立分配资源和独立接受调度的基本单位。凡未建立PCB的程序,都不能作为一个独立的单位来运行。4. 分析下列代码的功能:答:sleep_on实现进程的睡眠过程;wake_up实现进程的唤醒过程。第二次作业:1. 同步机制应该遵循哪些基本准则?你认为整型信号量机制遵循了同步机制的哪些基本准则? 答:同步机制应遵循四个基本准则:a.空闲让进:当无进程处于临界区时,应允许一个请求进入临界区的进程立即进入自己的临界区,以有效地利用临界资源。b.忙则等待:当已有进程进入临界区时,其它试图进入临界区的进程必须等待,以保证对临界资源的互斥访问。c.有限等待:对要求访问临界资源的进程,应保证在有限时间内能进入自己的临界区,以免陷入“死等”状态。d.让权等待:当进程不能进入自己的临界区时,应立即释放处理机,以免进程陷入“忙等”状态。整型信号量机制使进程处于“忙等”状态,并未遵循“让权等待”的准则;而记录型信号量机制则完全遵循了同步机构的四条准则。 2. 使用信号量实现下面的前趋图。答:Var a,b,c,d,e,f,g,h:semaphore:=0,0,0,0,0,0,0,0; begin parbegin begin S1;signal(a);signal(b);end; begin wait(a);s2; signal(c); signal(d); end; begin wait(b);s3; signal(e); end; begin wait(c);s4; signal(f); end; begin wait(d);s5; signal(g); end;begin wait(e);s6; signal(h); end; begin wait(f);wait(g);wait(h);s6; end; parend end3. 我们为某临界资源设置一把锁W,当W=1时表示关锁;当W=0时表示锁已打开,试写出开锁和关锁原语,并利用它们去实现互斥。答:整型信号量:lock(W): while W=1 do no-opW:=1;unlock(W): W:=0;记录型信号量:lock(W): W:=W+1;if(W1) then block(W, L)unlock(W): W:=W-1;if(W0) then wakeup(W, L)例子:Var W:semaphore:=0;beginrepeatlock(W);critical sectionunlock(W);remainder sectionuntil false;end4. 桌子上有一个空盘子,允许存放一只水果,爸爸可以向盘中放苹果,妈妈向盘子中放橘子,女儿专门吃盘子中的苹果,儿子专门吃盘子中的橘子。规定当盘子空的时候一次只能放一只水果,请用信号量实现他们之间的同步与互斥关系。答:S, S1, S2 :semaphore=1,0,0;Process Father:Begin:L1: P(S); Put Apple; V(S1);End;Process Mother:Begin:L2: P(S); Put Orange; V(S2);End;Process Son:Begin:L3: P(S2); Get Orange; V(S);End;Process Daughter:Begin:L4: P(S1); Get Apple; V(S);End;5. 用信号量解决“独木桥”问题:同一个方向行人可连续过桥,当某一方向有人过桥时,另一个方向的行人必须等待;当某一方向无人过桥时,另外方向的行人可以过桥。(1)本问题中有哪些同步或互斥关系?(2)给出两个方向任一行人通过该独木桥的同步算法。答:将独木桥的两个方向分别标记为A和B;并用整形变量countA和countB分别表示A、B方向上已在独木桥上的行人数,初值为0;再设置三个初值都1的互斥信号量:SA用来实现对countA的互斥访问,SB用来实现对countB的互斥访问,mutex用来实现两个方向的行人对独木桥的互斥使用。则具体描述如下:VarSA,SB,mutex:semaphore:=1,1,1;CountA,countB:integer:=0,0:beginparbeginprocessA:beginwait(SA);if(countA=0)thenwait(mutex);countA:=countA+1;signal(SA);过独木桥;wait(SA);countA:=countA-1;if(countA=0)thensignal(mutex);signa(SA);endprocessB:beginwait(SB);if(countB=0)thenwait(mutex);countB:=countB+1;signal(SB);过独木桥;wait(SB);countB:=countB-1;if(countB=0)thensignal(mutex);signa(SB);endparendend6. (选做)设有两个生产者进程A、B和一个销售者进程C,他们共享一个无限大的仓库,生产者每次循环生产一个产品,然后入库供销售者销售;销售者每次循环从仓库中取出一个产品销售。如果不允许同时入库,也不允
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 幼儿园生活活动测试题【附答案】
- 借款协议书模板
- 2025下半年新疆兵团招聘事业单位工作人员2398人备考练习试题及答案解析
- 2025年阿里云客服专项客服条件检测认证考试试题及参考答案
- 2025年河北保定望都县公开招聘社区工作者54名备考练习试题及答案解析
- 全国职工安全健康知识竞赛试题及参考答案
- 危重孕产妇的管理与救治考核试题及答案
- 中医护理技术个案护理范文
- 学生作业ZITISHEJI69课件
- 电工基础考试题及答案必考宝典
- 语音发声(第四版)语音篇
- 湖南美术出版社小学三年级上册书法练习指导教案
- 浙江省杭州市西湖区2023-2024学年数学三年级第一学期期末学业质量监测试题含答案
- 院内感染预防控制
- 人教版小学数学知识点总结(1-6年级全)
- 决定你一生成就的21个信念及要点
- 五年级上册数学教案-练习一-北师大版
- 2023年山西晋中日报社招考聘用笔试题库含答案解析
- 运动营养学概述
- 成长型思维课件完整版
- 浙教版数学七年级上册全册优质课件
评论
0/150
提交评论