操作系统作业_第1页
操作系统作业_第2页
操作系统作业_第3页
操作系统作业_第4页
操作系统作业_第5页
免费预览已结束,剩余22页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第一次作业书上的作业1.1 ife作系统的两个主要目标是什么?答:(1)为计算机用户提供一个环境让用户可以方便地在计算机段件上执行程序(2)以公平有效的方式分配计算机的资源用于解决特定的问題彳.3多道程序设计的主要优点是什么? 答: 通过把各种不同的用户提出的对CPU和I/O设备的请求相互交替执行而更爲效地使用CPU. 它通过不斷让CPU工作而提高CPU的利用率。2. 2监督程序模式和用户模式之间的区别?答: 通过只能在系统模式(或者称为监督程序模式)下执行特权指令可以保证操作系统时刻控制 整个计算机系统,并保证关键数据的安全.2.3陷入与中斷之间的区别?答: 中断是一个系统中由碳件产生的用于

2、改变执行流程的信号。一个中斷控制程序来处理中斷, 执行完成后返回被中断的程序指令。陷阱是一个较件产生的中断。例如可以用陷阱提示I/O操作的完成,或者调用操作系统的系 统调用,或者捕荻舞术运算错误.2.5下面哪些指令是特权檔令? a)设置定时器的值;b)读时钟;C)渝除存;d)关闭中斷;o) 从用户模式切换到监督程序模式。a, C, d,e是特权指令补充作业1.把下面的应用程序分为交互性和批处理两类;字处理.按月生成银行报裘.计算E周率 到百万分位、飞行模拟S 答:交互性:字处理、飞行模拟器批处理:按月生成银行报表.计舞圆周率到百万分位2.写出操作系统的五大功能。答:进程管理.存管理.文件管理.

3、设备管埋、与用户之间的接口。第二次作业书上的作业4.2论述短期、中期.长期调度之间的区别答:短期调度一从就绪队列中选择进程执行并把CPU分配给它。中期调度一主要在分时系统中使用将存中的作业换出到外存中等到存允许的情况下再 换入到存中执行。长期调度一确定把哪个作业放到存中执行。它们之间的主要区别是执行的频率不同。短期调度执行频率离而长期调度执行频率低。4 4两个进程进行上下文切换的操作3. 2答:通常,操作系统必须保存当前运行进程的状态并恢复下一个要调度的进程的状态。保存 一个进程的状态通常包括CPU所有寄存器的值和存的分配情况。5.3用户级钱程和核级线程之间的区别?相互对比的优勞在哪里?答:(

4、1)垓不知道用户级线程的存在,但核知道核级线程的存在 (2)核调度核级线程,而用户级线程则由线程库调度在要体现系统灵活性的吋候使用用户级线程好,因为用户级线程可以自己设计自己的调 度.核级线程则被核知道,所以可以保证一个线程阻塞时可以调度一个进程的另一个线程, 减少系统开销。补充作业r 假设有一个进程,它的工作流程是先运行150ms,保后进行I/O,聂后执行250ms结束。 如果系统中的进程有三个状态,当时间片为200ms时,请写出进程A从被系统接纳到运 行结束所经历的状态转换并说明原因答:被系统接纳之后:就绪-运行(原因:被调度执行)、运行-阻塞(原因:执行I/O操作人 阻塞-就绪(原因:I

5、/O操作完成)、就绪-运行(原因;被调度执行人 运行-就绪(原因: 吋间片到)、就绪-运行(原因:被调度执行)、结東。2.图中程序的运行结果int vq1uc=5; int nainOpid t pid=forkO, if TpidO)value*二5;return 0;else if (pid>0)wait(HULL);printf(*value=Sd*, value); return 0,答:输出 “valued';3图中程序运行完共有多少进程?int maxnOforkO; forkO; forkO ; return 0;答:一共有8个进程。第三次作业7.1什么是忙等待?答

6、:所谓忙等待是不断测试等待一个条件满足。79吸烟者问题:有3个吸烟者和一个供应者.第一个吸烟者有自己的烟草;第二个吸烟者 有自己的城;第三个吸烟者有自己的火柴。供应者每次随机放两样东西到桌子上提供给3 个吸烟者之中的一个以完成吸烟。请用仿号量为吸烟者和供应者进程铸写程序。semaphore a2 = |0| ;semaphore agent=1;provider0whi Ie (true)set i to value between 0 and 2: wa i t (agent);/put two items on table according to iSmoker(int i)whi Ie

7、 (true)wa i t Cai);smoke;signal (agent);补充作业1. 假设有三个进程R、Wb *2共享壤冲SB。B中只能存放一个数。R每次从输入设备中 读一个搭数放入B中。如杲这个整数是奇数,由*1取出打印。如果这个整数是偶数,則由 W2取出打印.规定仅当B中没有数据或数据已经被打印才会启动R去读数。W1, W2对B中 的数据不能重复打印,当B中没有数据时也不能打印。要求用信号量操作写出R、利、W2 三个进程的程序。(请详细描述所使用变量的含义)semaphoreS0=1(衷示煖冲区中可以存放的数据数目)semaphoreS1=0(衷示帕可以打印的数据数0)semaph

8、oreS2=0(表示W2可以打印的数据数目)R:While (true)Read integerInto Itemwa it (SO);put item in Bif (item%2= =1)signal (S1);if (item%2= =0)s i gna I (S2);Wl:While (true)wa i t (S1);Take item fromB;S1gnaI (SO);Pr int item;W2:While (true)wa it (S2);Take item from B;S ignaI (SO);Pr int item;2. 有一个铁笼子,猎手放入老虎,农民放入猪,动物a等

9、待取走老虎,饭店等待取走猪。 笼子中只能放入一个动物请使用信号*方法为猜手、农民、动物a、饭店进程编写程序semaphore no=1» tiger=0;pig=0;hunter ()wa it(no);put in tiger;signal(tiger);farmer ()wa it(no);put in pig;signal (pig);zoo 0wait(tiger);take tiger;s ignaI(no);hole I 0wa i t (p i g);take pig;s ignaI(no);3, 某寺庙,有小.老和尚若干有一个水缸,由小和尚提水入缸供老彌尚饮用水缸可容

10、 10桶水.水取自一个井中,水井窄,每次只能容一个水桶.水桶总数为3.水缸每次进出 也仅1桶水,不可以同时进行.请设置合适的信号畳描述小和尚、老和尚取水、入水的算 法Semaphore bucket=3, we 11=1, jar=1, empty=10, fuI I=0;Void Ii ttI emonk 0wh i le (1)wa i t (em pty);wa i t (bucket);wa i t (we II);取水;signaI (weII);wait (jar);放水;signal (jar);signaI (bucket);signal (full);Void oldmonk

11、()wh i le (1)wait (fu11);wa i t (bucket);wait (jar);取水;signal (jar);signal (bucket);s i gna I (empty);附加题1.独木桥问题:某条河上只有一座独未桥,两边都有人要过河,为保证安全,一个方向有 人过河另一个方向的人就要等待,笄且允许一个方向上的人连续过河.请使用信号童实现 正确的管理semaphore s=1,s1=1, s2=1;int rc1» rc2;one 0wait (si);rc1+;if (rc1=1) wait(s);signal (si);walk through;wa

12、it (si);rd;if Crc1=0) signal (s);signal (si);another ()wa i t (s2);rc2+;if(rc2=1) wait(s);signal (s2);walk through;wa i t (s2);if (rc2=0) signal (s);signal (s2);有人给出这样的程木桥问题的答案,看看有什么问题么?(1) 定爻两个信号量S1和S2, SI: =1, S2; =0.(2) 假定开始时让河东的一个人先过桥,则用PV操作管理时的程序应如下: oneOP (S1);过桥:V (S2);an other ()P (S2);过桥:V

13、(S1);第四次作业6.3 之 b, c, db.各个进程的周转吋间FCFSRRSJFPrior hy10J91916卩2IL211P31374IS114rw卩51914g6c各个进程的等待时间PCfSRRSJFPriiuilv卩.0QQ6P:10J00PaII516円1331IS14Q4Ld.最小的是SJF-次只能保留或者释放一个资源。每个进程最大需要2个8.8有3个进程共享4个资源, 单元。说明不会发生死饋 答:如果所有的资源都被占用并且还有一个或多个进程在无限制的等待更多的资源那么死锁 就会发生。但是,如果所有的4个资源都被占用,那么一定有一个进程已经得到了所有的两 个资源,那么这个进程

14、就可以运行完并释放它占用的两个资源,这样就可以让其他的进程正确地工作完成。8.13a.Need矩阵的样子是b因为有一个执行次序是p3、pl、p2、p4、pO可以执行完,所以是安全状态。C.如果满足.則系统的available变成1 1 0 0al local io n 变成这时的Need是这时如果P0先归还它占有的(0 0 1 2),那么availabie的值是(1 1 1 2),可以找 到一个执行次序p0,p2,p1p3,p4保证所有进程都可以安全执行完,会处于安全状态,因此 这个请求会被满足。第五次作业书上的作业9. 2部碎片与外部碎片之间的区别?答:一个作业占据了一个存区域或者页,但是其

15、中的一部分没有使用,把没有使用的部分成 为部碎片。部碎片不会被操作系统或者其他进程使用,除非这个作业执行完并且释放它所占 用的存区域外部碎片是在分区之间存在的不能够被使用的小的存。9.5存扶顺序有100k, 500k. 200k, 300k, 600k,用首次适应、最佳适应和*差适应如何 放置 212k, 417k. 112k, 426k 的进程?答:(1)首次适应舞法212K放入500K的分区417K放入600K的分区112K放入288K的分区(产生新的分区288K = 500K - 212K)426K必须等待最佳适应算法212K放入300K的分区417K放入500K的分区112K放入200

16、K的分区426K放入600K的分区(3) 最差适应舞法212K放入600K的分区417K放入500K的分区112K放入388K的分区426K必须等待在这个例子中,最佳适应算法是最好的。98假设一个有8个1技页面的逆辑地址空间,映射到一个32个页框的物理存,问:逆辑地 址多少位?物理地址多少位?a.逻辑地址;13 bitsb物理地址;15 bits 9.14为什么纯分段比絶分页更容易实现共享可充入模块。答:因为段是基于存的逻辑划分而不是物理划分,因此任意长度的段都可以通过段表的一个 表项来实现共享。而对于分页系统来说,只能对每个页实现共享,而页面的大小是固定不变 的。9.16有役表段基地址长度0

17、2196001230014290100313275804195296下而的物理地址是多少?a)0.430; b)1 JO; c)2,500; d)3,400;©)4J22答:a. 219 + 430 = 649 b 2300 + 10 = 2310 c地址错误 d 1327 + 400 = 1727e地址错误补充作业1,在页面大小为4k的系娩中,根据图中所示页表,下面的逻辑地址经过重定位之后的豹理 地址是什么? a)20;b)4100;<5)8300第六次作业9.10假设页表在存保存的分页系统,乩如果一次访问存用200ns,那么访问一个页的一次 數据访问用多少时间?b如果加入T

18、LB,有75%的命中率,那么存有效访问时间是多少?a.400 ns; 200 2访问页衷,200 ns访问存中的字b有效访问时间=0. 75(200 ns) + 0. 25 _ (400 ns) = 250 ns5.间,而实际的扬理地址空间是16位,贡框大小为2k假设有两个进稳A和B。其中A进程 的0. 2页已经调入到存的2. 3号页框;B进程的仁3页已经调入到存的7. 8号页框。请 问:A进程的虛拟地址12FF可以转换成什么扬理地址? B进程的虚拟地址17BA可以转换成 什么物理地址?如果不能转换,操作系统会执行什么操作?在一个虚拟存储管理系统中采用贡式方法对存空间进行管理,它有24位的虚撅

19、地址空答:A进程的12FF转换成物埋地址为1AFFB进程的17BA无法转换成物理地址,因为这个页不在存,需要发生缺页中斷,调入这个页 面0123456冷12亘1510n匚n4(a) 49172 (b) 57348 (c) 615482. -台计算机为每个进程提供65536字节的地址空间,贡而的大小为4k。一个程序有32768 字节的正文,16386字节的数据,15870字节的堆桟,氏程序是否能装入此地址空间?若页 面大小为512字节呢? 答:文本占8页,数据占5页,堆栈占4页.因此程序需要17页,而实际上只有65536/4k=16 页的空间,不足。而如果页面有512字节,正文需要64页,数据需

20、要33页,堆栈需妥31页, 一共128页,而实际上有65536/512=128页的空间,所以正好放入。3. 若两个进程共享一个贡面,该贝面可否对一个进程只读,对另一个进程可读写?如何实 现? 答:可以实现。在页表里面为毎一页增加一个保护字段就可以了。第七次作业书上的作业14.2假设一个陵盘驱动器有5000个柱面,从0到4999.驰动器正在为143的一个请求服 务,且询面的一个请求在125.按照FIFO的顺序,即将到来的请86, 1470, 913, 1774, 948, 1509, 1022, 1750, 130.请按照 FCFS、SSTF. SCAN. LOOK. C-SCAN. C-LOO

21、K 开计算 屢头移动距离 答:a.FCFS : 143, 86, 1470, 913, 1774, 94& 1509, 1022, 1750, 130.总寻道距离7081.b SSTF : 143, 130, 86, 913, 948, 1022, 1470, 1509, 1750, 1774,总寻道距离1745,cSCAN : 143, 913, 948, 1022, 1470, 1509, 1750, 1774, 4999, 130, 86.总寻道距离9769.d. LOOK: 143, 913.948.1022, 1470, 1509. 1750, 1774, 130.86.总寻

22、道距离3319,e.C-SCAN : 143,913,948, 1022, 1470, 1509, 1750, 1774,4999, 0, 86, 130.总寻道距离9985f. C-LOOK : 143,913,948, 1022, 1470, 1509, 1750, 1774,86, 130.总寻道距离3363.补充作业1.什么是设备无关性?答:设备独立性是指应用程序独立于具体使用的物埋设备。2.以下各项工作由I/O软件的哪一屋完成? a为一个琏盘读操作计算屢道.扇区.冷头;b.向设备寄存器写命令;5.检查用户是否允许使用设备:d.将二进制扭数转换成ASCII码 以便打甲答:a.设备驱动程

23、序;b设备驱动程序:<5设备独立性软伴:d.用户空间的I/O较件。3.为什么在要打印的文件通常都假脱机输出到琏盘上?答:打印机作为一个独占的设备无法保证多个用户共享,这样用户在打印时经常因为无法申请到打印机而等待。使用spooling技术将打印机这样的独占设备变成了共享设备,用户需 要打印的容只要假脱机输出到磁盘上用户就可以认为打印成功,方便了用户的使用。第八次作业书上的作业12.4为什么文件分配的位图必须保存在大容*存備器中,而不是主存中?答:因为如果保存在存中,当系统崩溃时,这些空闲区间的信息将会被去失,而如果保存在 大容量存储器中就可以解决这个问題。补充作业1.假设矣为一个文件换一个名字一种逸择是使用操作系统提供的RENAME方法,另一种方 法是:把文件复制为新文件,然后删除原来的文件以实现重命名。请问,这两种方法在实 现上有什么不同? 答;RENAME方法是修改目录文件的文件名部分,而删除原来文伴再重命名则需要再创立一个 新丈件,0录文件中增加一项,分配新空间:刪除0录文件中的文件项0,然后回收占用的 空间。2,请解释使用索引节点有什么好处答:减小目录文伴的大小,提爲查找文件的效率3 在UNIX中open系统调用绝对需要么?如果没有会卢生什么结果答:如果没有

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论