北工大-操作系统-作业合集

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第八次作业基础作业1.假设一个磁盘驱动器有5000个柱面,从0到4999。驱动器正在为143的一个请求服务,且前面的一个请求在125。按照FIFO的顺序,即将到来的请86,1470,913,1774,948,1509,1022,1750,130。请按照FCFS、SSTF、SCAN、LOOK、C-SCAN、C-LOOK,要满足队列中的服务要求磁头总的移动距离是多少。1438614709131774948150910221750130a.FCFS:143,86,1470,913,1774,948,1509,1022,1750,130.总寻道距离7081.b.SSTF:143,130,86,913,948,1022,1470,1509,1750,1774.总寻道距离1745.c.SCAN:143,913,948,1022,1470,1509,1750,1774,4999,130,86.总寻道距离9769.d.LOOK:143,913,948,1022,1470,1509,1750,1774,130,86.总寻道距离3319.e.C-SCAN:143,913,948,1022,1470,1509,1750,1774,4999,0,86,130.总寻道距离9813f.C-LOOK:143,913,948,1022,1470,1509,1750,1774,86,130.总寻道距离3363.2.为什么文件分配的位图必须保存在大容量存储器中,而不是主存中?答:因为如果保存在存中,当系统崩溃时,这些空闲区间的信息将会被丢失,而如果保存在大容量存储器中就可以解决这个问题。3.假设要为一个文件换一个名字。一种选择是使用操作系统提供的RENAME方法,另一种方法是:把文件复制为新文件,然后删除原来的文件以实现重命名。请问,这两种方法在实现上有什么不同?答:RENAME方法是修改目录文件的文件名部分,而删除原来文件再重命名则需要再创立一个新文件,目录文件中增加一项,分配新空间;删除目录文件中的文件项目,然后回收占用的空间。4.请解释使用索引节点有什么好处答:减小目录文件的大小,提高查找文件的效率5.在UNIX中open系统调用绝对需要么?如果没有会产生什么结果。答:如果没有open命令,那么每个read命令都需要确定要打开的文件名。系统必须找到文件的i节点,虽然这个数据放入cache可以减少一些时间,但是当数据变化的时候,i节点的数据需要刷新到磁盘上。6.UNIX系统中有关盘块的分配与释放是借助超级块中的栈来进行的。假如某个时刻系统状况如下图所示,若此时某个进程要删除文件A,并归还它所占用的盘块220,110,645,549,176。请说明过程,并给出删除完毕后有关数据及表目的更改情况。100199786278…802301106452549176…7.考虑一个索引节点所表示的UNIX文件的组织。假设有12个直接块指针,在每个索引节点中有一个单重、双重和三重间接指针。此外,假设系统块大小和磁盘扇区大小都是8K,如果磁盘块指针是32位,其中8位表示物理磁盘,24位表示物理块,那么a.该系统支持的最大文件大小是多少?b.该系统支持的最大文件分区是多少?c.假设主存中除了文件索引节点外没有其他信息,访问在位置12423956中的字节需要多少磁盘访问?答:a.通过用块大小除以指针大小得到盘块指针的数目:每块8K/4=2K这样I节点可以支持的最大文件容量是:12+2k+2k*2k+2k*2k*2k=(12+2K+4M+8G)*8K(块大小)=96KB+16MB+32GB+64TB直接寻址一级间接寻址二级间接寻址三级间接寻址b.在一个分区中识别一个块需要24位。所以:*8K=16M*8K=128GBc.使用从(a)得到的信息,发现直接块只能表示96KB,而一次间接块表示16MB.题目中要求的请求位置在13M左右,使用一次间接块.就可以了。所以要用两次磁盘访问,一次访问一次间接块,另一次访问包含数据的盘块第七次作业1.什么是设备无关性?应用程序只按套路调用操作系统提供的功能即可,不关心实际的设备是什么,这就是与设备无关性2.以下各项工作由I/O软件的哪一层完成?a.为一个磁盘读操作计算磁道、扇区、磁头;设备驱动程序b.向设备寄存器写命令;中断处理程序c.检查用户是否允许使用设备;设备独立性软件d.将二进制整数转换成ASCII码以便打印硬件3.为什么在要打印的文件通常都假脱机输出到磁盘上?答:达到缓冲的目的,实现提高I/O设备性能的目的。为了打印一个文件,一个进程首先要生成需要打印的整个文件并把它放在假脱机目录里。由守护进程打印该目录下的文件,该进程是允许使用打印机设备文件的唯一进程。通过保护设备文件来防止用户直接使用,可以解决某些进程不必要地长期空占打印机的问题。第六次作业1.假设页表在存保存的分页系统,a.如果一次访问存用200ns,那么访问一个页的一次数据访问用多少时间?b.如果加入TLB,有75%的命中率,那么存有效访问时间是多少?a)访问一个页数据需要访问两次存,第一次访问存中的页表,第二次根据页表中的信息形成的物理地址访问存访问数据,所以要用200*2=400nsb)加入TLB,获得物理地址的过程为:先在TLB中查找,如果TLB中命中,则直接获得物理地址,如果TLB中不存在,则去访问页表,所以需要的访问时间为0.25*200=50ns总共需要的时间为50ns+200ns=250ns2.在一个虚拟存储管理系统中采用页式方法对存空间进行管理,它有24位的虚拟地址空间,而实际的物理地址空间是16位,页框大小为2k。假设有两个进程A和B。其中A进程的0、2页已经调入到存的2、3号页框;B进程的1、3页已经调入到存的7、8号页框。请问:A进程的虚拟地址12FF可以转换成什么物理地址?B进程的虚拟地址17BA可以转换成什么物理地址?如果不能转换,操作系统会执行什么操作?页框大小为2k=2^11,有11位的位移。A进程:12FF=0001001011111111,00010=2,A进程中2页调进3号框,因此物理地址为:0001101011111111B进程:17BA=0001011110111010,在进程2中没有2号页,需要的页面不在存时,请求调入所需的页面判断对错如果缺页率太高,通常说明一个进程分得的页框太多了。X第五次作业基础作业1.部碎片与外部碎片之间的区别?部碎片:存分页时,最后一页未装满的部分就是部碎片。或因调入的数据小于分区而产生分区空间的浪费,称为部碎片。外部碎片:共享时要分段,在段的换入换出时未使用的部分就是外部碎片。一开始运行得很好,但是在执行一段时间后,会出现一些小的洞。这种在分区外的洞称为外部碎片。存按顺序有100k,500k,200k,300k,600k,用首次适应、最佳适应和最差适应如何放置212k,417k,112k,426k的进程?首次适应:212k分配给500k,417k分配给600k,112k分配给200k,426k没有可分配最佳适应:首先将212k分配给300k,将417k分配给500k,将112k分配给200k,将426k分配给600k;最差适应:将212k分配给600k,将417分配给500k,将112分配给300k,最后426没有可分配的。2.假设一个有8个1k页面的逻辑地址空间,映射到一个32个页框的物理存,问:逻辑地址多少位?物理地址多少位?逻辑地址:13位物理地址:15位4.(8.12)有段表段基地址长度02196001230014290100313275804195296下面的物理地址是多少?a)0,430;b)1,10;c)2,500;d)3,400;e)4,122a、649b、2310c、590d、1727e、20745.在页面大小为4k的系统中,根据图中所示页表,下面的逻辑地址经过重定位之后的物理地址是什么?a)20;b)4100;c)8300A、49172b、53252c、615486.一台计算机为每个进程提供65536字节的地址空间,页面的大小为4k。一个程序有32768字节的正文,16386字节的数据,15870字节的堆栈,此程序是否能装入此地址空间?若页面大小为512字节呢?4k不能,512字节可以;解析过程:65536/4096=16,共计16个页面;正文需要页面:32768/4096=8数据需要页面:16386/4096=5对战需要:15870/4096=4共需17个页面,所以不能装入512字节同理可得正好能够装入补充作业判断对错编译时绑定是大多数通用操作系统使用的地址绑定方法。X最佳适配法可以在存分配过程中留下最小的洞。√为解决存分配时导致的外部碎片可以采用压缩的方法来解决,因此需要在地址绑定的时候采用静态重定位方法。X如果现在基地址寄存器的值是1200,界限寄存器的值是350,那么当前进程产生对绝对地址1551的访问是合法的。X可重入代码不可以被共享。X基础作业1.考虑下面一组进程,进程占用的CPU区间长度以毫秒计算。假设在0时刻进程以P1,P2,P3,P4,P5的顺序到达。进程区间时间优先级P1103P211P323P414P552(1)画出4个Gantt图,分别演示使用FCFS,SJF,非抢占优先级(数字越小表示优先级越高)和RR(时间片=1)算法调度时进程的执行过程。(2)每个进程的周转时间是多少?(3)每个进程在每种调度算法下的等待时间是多少?解:(1)GANTT图FCFS:P1P2P3P4P5SJF:P2P4P3P5P1非抢占优先级:P2P5P1P3P4RR:P1P2P3P4P5P1P3P5P1P5P1P5P1P5P1(2)周转时间:FCFSSJF非抢占优先级RRP110191619P211112P3134187P4142194P5199614(3)等待时间:FCFSSJF非抢占优先级RRP10969P210001P3112165P4131183P5144192.考虑下面一个系统在某一个时刻的状态。AllocationMaxAvailableABCDABCDABCDP0001200121520P110001750P213542356P306320652P400140656使用银行家算法回答下面的问题:(1)Need矩阵的容(2)系统是否处于安全状态(3)如果从进程P1发来一个请求(0,4,2,0),这个请否可以立即满足?解:(1)Need矩阵ABCDP00000P10750P21002P30020P40642(2)处于安全状态,先是P0完成,之后P3,之后P2,之后P1,之后P4。(3)可以立即满足,满足后仍处于安全状态。补充作业判断对错在RR调度中,上下文切换的时间应该小于时间片的长度。XSJF调度算法是最适合分时系统的调度算法。XFCFS调度算法只能是非抢占式的。√如果资源分配图中有环,那么就一定有死锁。X死锁的时候系统一定处于非安全状态。√第三次作业一、基础作业1.什么是忙等待?持续地检测一个变量直到它具有某一个特定值称为忙等待。2.吸烟者问题:有3个吸烟者和一个供应者。第一个吸烟者有自己的烟草;第二个吸烟者有自己的纸;第三个吸烟者有自己的火柴。供应者每次随机放两样东西到桌子上提供给3个吸烟者之中的一个以完成吸烟。请用信号量为吸烟者和供应者进程编写程序。Semaphoren[2]={0};Semaphores=1;0代表烟草,1代表纸,2代表火柴.//供应者程序Voidprocucer(){While(1){随机生成一个在0~2之间的数i;Wait(s);将除了i表示的另外两件东西放在桌子上;Signal(n[i]);}//吸烟者程序Voidsmoker(inti){While(1){Wait(n[i]);Somke();Signal(s);}}二、补充作业1.假设有三个进程R、W1、W2共享缓冲区B。B中只能存放一个数。R每次从输入设备中读一个整数放入B中。如果这个整数是奇数,由W1取出打印。如果这个整数是偶数,则由W2取出打印。规定仅当B中没有数据或数据已经被

1 / 23
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功