操作系统第二次作业.doc

上传人:M****1 文档编号:548002439 上传时间:2023-07-02 格式:DOC 页数:6 大小:41.01KB
返回 下载 相关 举报
操作系统第二次作业.doc_第1页
第1页 / 共6页
操作系统第二次作业.doc_第2页
第2页 / 共6页
操作系统第二次作业.doc_第3页
第3页 / 共6页
操作系统第二次作业.doc_第4页
第4页 / 共6页
操作系统第二次作业.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《操作系统第二次作业.doc》由会员分享,可在线阅读,更多相关《操作系统第二次作业.doc(6页珍藏版)》请在金锄头文库上搜索。

1、问题1:发明进程的根本动机为何?它与程序是什么关系?请予以论述。进程是为了实现多道程序设计而产生的,它是程序的一次执行,是放在内存中的程序问题2:进程带给我们的最大好处是什么?它有什么缺点吗?(1)提高了CPU的运行效率,或则说提高了系统的吞吐量。(2)改善系统的响应时间。缺点是(1)同一时间只能做一件事情(2)阻塞时如有不需要依赖输入数据的部分工作也无法执行问题3:进程空间是什么意思?它包括哪些东西?它与进程是什么关系?进程空间就是地址空间,是在内存中给进程分配的地址。是进程所需要的资源问题4:操作系统管理进程的根本手段是什么?维护关于进程的一些信息,即在一个进程产生时建立进程表或进程程序控

2、制块(PBC)问题5:进程管理时的两个重要因素是公平和效率。除此之外,还有什么因素需要考虑吗?还需要考虑公平和效率哪方面重要些。优先级,重要的任务优先。问题6:多道编程是否总能提高CPU的利用效率?为什么?不是,当多道编程的度达到一定数量的时候,CPU利用率的提升空间就会很小,进程切换带来的系统消耗则变得非常明显。问题7:从某种程度上,人类社会里的一个家庭可以看做是一个进程,而家庭成员则是线程。请根据对家庭的体验论述线程之间资源共享有可能存在的矛盾。如果一个家庭代表一个进程,在家庭内部,各个成员就是线程,家庭中的每个成员都有义务对家庭的财富进行积累,同时也有权利对家庭财富进行消费,当面对一个任

3、务的时候,家庭也可以派出几个成员来协同完成,而家庭之外的人则没有办法直接消费不属于自己家庭的财产。问题8:试详细论述从信号量机制发展到管程机制的必然性。一个信号量只能置一次初值,以后只能对之进行p操作或v操作。由此也可以看到,信号量机制必须有公共内存,不能用于分布式操作系统,这是它最大的弱点。信号量机制功能强大,但使用时对信号量的操作分散,而且难以控制,读写和维护都很困难。因此后来又提出了一种集中式同步进程管程。其基本思想是将共享变量和对它们的操作集中在一个模块中,操作系统或并发程序就由这样的模块构成。这样模块之间联系清晰,便于维护和修改,易于保证正确性。 所以,管程比信号量机制更安全,管程由

4、系统来实现,而信号量的不足是,程序员对程序的不负责任,诸如用完资源不调用signal(),或者多信号量里 几个wait()操作交换次序,等使得系统资源紊乱。 问题9:设有n个进程共享一个互斥段,如果:(1)每次只允许一个进程进入互斥段;(2)每次最多允许m个进程(mn)同时进入互斥段。试问:所采用的信号量初值是否相同?信号量值的变化范围如何?(1)所采用的初值是不相同的,其中的初值是1,变化范围是-1,1,(2)中的初值是n,变化范围是-(n-m),m问题10: 有两个优先级相同的进程P1和P2,各自执行的操作如下,信号量S1和S2初值均为0.试问P1、P2并发执行后,x、y、z的值各为多少?

5、p1()y=1;y=y+3;V(s1);z=y+1;P(s2);y=z+y;p2()x=1;x=x+5;P(s1);x=x+y;P(s2);z=z+x;现对进程语句进行编号,以方便描述P1 : P2 :begin beginy : = 1 ; x :=1 ; y :=y+3 ; x :=x+5 ; V(S1); P(S1);z:=y+1 ; x :=xy ;P(s2); V(S2);y:=z+y; z:=z+x;End end 、 、 和 是不相交语句,可以任何次序交错执行,而结果是唯一的。接着无论系统如何调度进程并发执行,当执行到语句 时,可以得到x = 10 , y = 4 。按Berns

6、tein 条件,语句 的执行结果不受语句 的影响,故语句 执行后得到z = 5 。最后,语句 和 并发执行,这时得到了两种结果为:语句 先执行:x =10 , y =9 , z= 150语句 先执行:x =10 , y =19 , z =15此外,还有第三种情况,语句 被推迟,直至语句 后再执行,于是依次执行以下三个语句:z :=z + x :z : = y + 1 ;y : z十y ;这时z 的值只可能是y 1=5 ,故y =zy=5 + 4=9,而x = 10 。第三种情况为:x = 10 ,y=9 , z = 5 。问题11:(读者写者问题) 中国航信的航空订票数据库系统是中国国内所有航

7、空公司的共享数据库系统。所有的旅行社订票均使用该系统进行查询、预定和出票。由于旅行社众多,在任意一个时间都可能有多个线程对该数据库进行操作。所有读写数据库的线程分为读者和写者:读者读数据库而已,写者则对数据库进行更新。为了保持数据一致性,该数据库的访问需满足如下限制: 多个读者可以同时对数据库进行读操作。 如果有一个写者线程在对数据库进行写操作,则其他线程都不能对数据库进行操作。 请写出读者和写者的伪代码程序。count:=0;Wmutex:=1;Rmuter:=1; Writer() While(1) P(mutex); If(count=0) P(Rmutex); P(Wmutex); c

8、ount+; V(Wmutex); Weading file; P(Wmutex); count- -; If(count=0) V(Rmutex); V(Wmutex);问题12:一个快餐厅有4类职员:(1)领班:接受顾客点菜;(2)厨师:准备顾客的饭菜;(3)打包工:将做好的饭菜打包;(4)出纳员:收款并提交食品。每个职员可被看作一个进程,试用一种同步机制写出能让四类职员正确并发运行的程序。设四个信号量 S1 、 S2 、 S3 和 S4 来协调进程工作。 var S1,S2,S3,S4:semaphore ; S1:=1 ; S2:=S3:=S4:=0 ; begin process P1beginrepeat有顾客到来; P(S1) ; 接受顾客点菜; V(S2) ; untile false ; endprocess P2beginrepeatP(S2) ; 准备顾客的饭菜; V(S3) ; untile false ; endprocess P3beginrepeatP(S3) ; 将做好的饭菜打包; V(S4) ; untile false ; endprocess P4beginrepeatP(S4) ; 收款并提交食品; V(S1) ; untile false ; endend

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

当前位置:首页 > 生活休闲 > 社会民生

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