操作系统的第二个操作

操作系统的第二个操作

ID:6555717

大小:39.50 KB

页数:6页

时间:2018-01-17

操作系统的第二个操作_第1页
操作系统的第二个操作_第2页
操作系统的第二个操作_第3页
操作系统的第二个操作_第4页
操作系统的第二个操作_第5页
资源描述:

《操作系统的第二个操作》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

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个进程(m≤n)同时进入互斥段。试问:所采用的信号量初值是否相同?信号量值的变化范围如何?(1)所采用的初值是不相同的,其中的初值是1,变化范围是[-1,1],(2)中的初值是n,变化范围是[-(n-m),m]问题10:有两个优先级相同的进程P1和P2,各自执行的操作如下,信号量S1和S2初值均为0.试问P1、P2并发执行后,x

5、、y、z的值各为多少?p1(){p2(){y=1;y=y+3;V(s1);z=y+1;P(s2);y=z+y;}x=1;x=x+5;P(s1);x=x+y;P(s2);z=z+x;}现对进程语句进行编号,以方便描述.P1:P2:beginbeginy:=1;①x:=1;⑤y:=y+3;②x:=x+5;⑥V(S1);P(S1);z:=y+1;③x:=x+y;⑦P(s2);V(S2);y:=z+y;④z:=z+x;⑧Endend①、②、⑤和⑥是不相交语句,可以任何次序交错执行,而结果是唯一的。接着无论系统如何调度进程并发执行,当执行到语句⑦时,可以得到x=10,y=4。按Bernstein条件

6、,语句③的执行结果不受语句⑦的影响,故语句③执行后得到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=z+y=5+4=9,而x=10。第三种情况为:x=10,y=9,z=5。问题11:(读者写者问题)中国航信的航空订票数据库系统是中国国内所有航空公司的共享数据库系统。所有的旅行社订票均使用该系统进行查询、预定和出票。由于旅行社众多,在任意一个

7、时间都可能有多个线程对该数据库进行操作。所有读写数据库的线程分为读者和写者:读者读数据库而已,写者则对数据库进行更新。为了保持数据一致性,该数据库的访问需满足如下限制:·多个读者可以同时对数据库进行读操作。·如果有一个写者线程在对数据库进行写操作,则其他线程都不能对数据库进行操作。请写出读者和写者的伪代码程序。count:=0;Wmutex:=1;Rmuter:=1;Writer(){While(1){P(mutex);

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。