计算机操作系统 作业答案.doc
《计算机操作系统 作业答案.doc》由会员分享,可在线阅读,更多相关《计算机操作系统 作业答案.doc(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第一章作业1.1. 设计现代OS的主要目标是什么?方便性,有效性,可扩充性和开放性. 1.2. OS的作用可表现为哪几个方面?a. OS作为用户与计算机硬件系统之间的接口;b. OS作为计算机系统资源的管理者;c. OS实现了对计算机资源的抽象. 第二章作业2.2. 试画出下面4条语句的前趋图:S1: a:=x+y; S2: b:=z+1; S3: c:=a-b; S4: w:=c+1; S1 其中,语句S3必须在语句S1和语句S2都执行S4S3后才能执行,这样S2语句 S4也只能在c赋值后才能执行。对应的前驱图如右所示:2.6. 试从动态性,并发性和独立性上比较进程和程序?a. 动态性是进程
2、最基本的特性,可表现为由创建而产生,由调度而执行,因得不到资源而暂停执行,以及由撤销而消亡,因而进程由一定的生命期;而程序只是一组有序指令的集合,是静态实体。b. 并发性是进程的重要特征,同时也是OS的重要特征。引入进程的目的正是为了使其程序能和其它建立了进程的程序并发执行,而程序本身是不能并发执行的。c. 独立性是指进程实体是一个能独立运行的基本单位,同时也是系统中独立获得资源和独立调度的基本单位。而对于未建立任何进程的程序,都不能作为一个独立的单位来运行。第三章作业3.2. 为什么进程在进入临界区之前应先执行“进入区”代码?而在退出前又要执行“退出区”代码?2. 如何利用Test-and-
3、set指令来实现互斥?它有何缺点?为了实现多个进程对临界资源的互斥访问,必须在临界区之前加一段用于检查临界资源是否正在被访问的代码,如未被访问,该进程可进入临界区对此临界资源进行访问;如正被访问,则该进程不能进入临界区访问临界资源。在退出临界区后,执行恢复访问标志的代码为“退出区”,而在退出前执行“退出区”代码主要是为了使其它进程能再访问此临界资源。3.4. 如何利用Test-and-set指令来实现互斥?它有何缺点?Test-and-set指令是一种借助于一条硬件指令,即测试并建立指令TS(Test-and-set)来实现互斥的方法。利用TS实现进程互斥:每个临界资源设置一个公共布尔变量lo
4、ck,初值为FALSE在进入区利用TS进行检查:有进程在临界区时,重复检查;直到其它进程退出时,检查通过。所有要访问临界资源的进程的进入区和退出区代码都是相同的。缺点:利用硬件指令能有限实现进程互斥,但不能满足让权等待的准则,造成处理器时间的浪费,而且也很难用于解决较复杂的进程同步问题。3.7. 如何利用信号量机制来实现多个进程对临界资源的互斥访问?并举例说明。为了使多个进程能互斥访问某临界资源,只需为该资源设置一互斥信号量mutex,并设其初始值为1,用于表示临界资源未被访问,然后将各进程访问该资源的临界区CS置于wait(mutex)和signal(mutex)操作之间即可。这样,每个欲访
5、问该临界资源的进程,在进入临界区之前,都要先对mutex执行wait操作,若该资源此刻未被访问(mutex的值为1),本次wai操作必然成功,进程便可以进入自己的临界区。这时,若有其他进程也想进入自己的临界区,由于对mutex执行wait操作定会失败(mutex的值已为-1),因而该进程被阻塞,从而保证了该临界资源能被互斥地访问。举例:Var mutex:semaphore:=1;beginparbeginprocess 1: begin repeat wait(mutex); critical section signal(mutex); remainder seetion until fa
6、lse; end process 2: begin repeat wait(mutex); critical section signal(mutex); remainder section until false; end parend3.8. 试写出相应的程序来描述图2-17所示的前驱图。 a. Var a, b, c, d, e, f, g, h; semaphore:= 0, 0, 0, 1, 0, 0, 0, 0; begin parbegin begin S1; signal(a); signal(b); end; begin wait(a); S2; signal(c); sig
7、nal(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); S7; end; parend end b. Var a, b, c, d, e, f, g, h, i, j; semaphore:= 0, 0, 0, 0, 0, 0, 0, 0, 0, 0; begin parbegin beg
8、in S1; signal(a); signal(b); end; begin wait(a); S2; signal(c); signal(d); end; begin wait(b); S3; signal(e); signal(f); end; begin wait(c); S4; signal(g); end;begin wait(d); S5; signal(h); end;begin wait(e); S6; signal(i); end;begin wait(f); S7; signal(j); end;begin wait(g); wait(h); wait(i); wait(
9、j); S8; end; parend end3.11. 为某临界资源设置一把锁W,当W=1时表示关锁;当W=0时表示锁已打开,试写出开锁和关锁原语,并利用它们去实现互斥。 整型信号量:lock(W): while W=1 do no-op W:=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; begin repeat lock(W); critical section unl
10、ock(W); remainder section until false; end3.13. 试利用记录型信号量写出一个不会出现死锁的哲学家进餐问题的算法。(课堂练习)Var chopsiick array of semaphore:=(1,1,1,1,1);prosessi repeat think; Sswait(chopstick(i+1)mod 5, chopsticki); Eat; Ssignal(chopstick(i+1)mod 5, chopsticki) until false;第四章作业4.1. 高级调度与低级调度的主要任务是什么?为什么要引入中级调度?高级调度的主要任
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机操作系统 作业答案 计算机 操作系统 作业 答案
限制150内