当前位置:文档之家› 湖南大学操作系统作业 (5)

湖南大学操作系统作业 (5)

操作系统第五次作业第八章Explain the difference between internal and external fragmentation.简述内部碎片和外部碎片的区别答:内部碎片存在于块的内部,如内存块大小为512k,而某逻辑内存要求一个200k大小的块,此时操作系统会分配给它一个大小为512k的块(由于块是内存分配的最小单元),所以会造成了312k大小的内存碎片,这部分碎片即使是空的也无法使用,称作内部碎片。

减少内部碎片可以通过减小块的大小来解决。

外部碎片是指在连续内存分配的进程装入和移出内存的过程中,空闲的内存空间被分成了较多小片段,这些小片段不连续,所以无法被连续分配,这样会造成即使碎片大小之和大于新进程所需内存,但是也无法给新进程分配的情况,这就是外部碎片。

外部碎片可以通过紧缩来解决。

Given five memory partitions of 100 KB, 500 KB, 200 KB,300 KB, and 600KB (in order), how would each of the first-fit,best-fit, and worst-fit algorithms place processes of 212 KB,417 KB, 112 KB, and 426 KB (in order) Which algorithm makes the most efficient use of memory给出100kb,500kB,200kB,300kB,600kB大小的内存空间(按顺序),对于首次适应,最佳适应和最差适应算法,要按顺序放置212kB,417kB,112kB和426kB 大小的进程会是怎样安排的哪个算法的内存利用率最高答:首次适应是每次从头开始找,直到找到第一个比当前要放置的内存大小要大的内存空间时,放置该内存。

最佳适应是每次遍历内存空间一次,找大于当前要放置的内存块大小要大的中间的最小者,放置该内存。

最差适应则相反,是取大于当前内存大小中的最大者。

下面给出三种存储分配方式的最终分配结果:首次适应:对于212kB的进程,选择第一个大于它大小的内存空间,为500kB,并分配给它相应大小的空间,该部分剩余大小500-212=288KB对于417kB的进程,选择第一个大于它的大小的内存空间,为600kB,分配给它相应大小的空间,该部分剩余大小为600-417=183KB对于112kB的进程,选择第一个大于它大小的内存空间,为288kB,分配给它相应大小的空间,该部分剩余大小288-112=176KB对于426kB的进程,找不到比他大的内存空间,无法分配,只能等待其他进程释放空间才能为它分配空间。

内存利用率为(212+417+112)/(100+500+200+300+600) *100%=%最佳适应:对于212kB的进程,选择大于它大小的内存空间中的最小者,为300kB,并分配给它相应大小的空间,该部分剩余大小300-212=88KB对于417kB的进程,选择大于它大小的内存空间中的最小者,为500kB,分配给它相应大小的空间,该部分剩余大小为500-418=83kB对于112kB的进程,选择大于它大小的内存空间中的最小者,为200kB,分配给它相应大小的空间,该部分剩余大小200-112=88kB对于426kB的进程,选择大于它大小的内存空间中的最小者,为600kB,分配相应大小的空间,该部分生育大小为600-426=174kB内存利用率为(212+417+112+426)/(100+500+200+300+600) *100%=%最差适应:对于212kB的进程,选择大于它大小的内存空间中的最大者,为600kB,并分配给它相应大小的空间,该部分剩余大小600-212=388kB对于417kB的进程,选择大于它大小的内存空间中的最大者,为500kB,分v1.0 可编辑可修改配给它相应大小的空间,该部分剩余大小为500-417=83kB对于112kB的进程,选择大于它大小的内存空间中的最大者,为388kB,分配给它相应大小的空间,该部分剩余大小388-112=276kB对于426kB的进程,找不到比他大的内存空间,无法分配,只能等待其他进程释放空间才能为它分配空间。

内存利用率为(212+417+112)/(100+500+200+300+600) *100%=%综上所述,本例中最佳适应的内存利用率最高,为%Consider a paging system with the page table stored in memory.a. If a memory reference takes 200 nanoseconds, how long does a paged memory reference takeb. If we add associative registers, and 75 percent of all page-table references are found in the associative registers, what is the effective memory reference time (Assume that finding a page-table entry in the associative registers takes zero time, if the entry is there.)考虑一个分页系统将页表存在内存中A 如果一个内存访问占用200ns,那么一个页面内存查询占用多少时间B 如果添加相关寄存器,且所有页表中的75%的访问可以在寄存器中找到,那么有效内存访问时间为多少(假设寻找页表条目不花时间)答:A 首先访问内存中的页表项,耗时200ns,然后在页表项中查询对应的物理地址(0ns),然后根据对应物理地址去访问内存,耗时200ns,一共耗时为400ns。

B (书上翻译associative registers是TLB,感觉不是很恰当,但是只能当作TLB来理解)首先去查找TLB表,如果命中(75%的概率),就直接得到了物理地址,此时可以直接访问物理地址,耗时200ns。

如果TLB不命中(25%的概率),此时要按照A中的步骤先访问页表再访问主存,耗时400ns。

所以耗时期望E(t)=200*+400*=250nsConsider the following segment table:Segment Base Length0 219 6001 2300 142 90 1003 1327 5804 1952 96What are the physical addresses for the following logical addresses a.0,430 b. 1,10 c. 2,500 d. 3,400 e. 4,112考虑下面的段表,要求对应逻辑地址的物理地址是多少答:A 0,430 先查询段号为0的基地址为219,然后判断是否在段内,由于430<600,所以在段内,对应物理地址为219+430=649B 1,10,首先查找段号为1的基地址2300,然后判断是否在段内,由于10<14,所以在段内,对应物理地址为2300+10=2310C 2,500,首先查找段号为2的基地址90,然后判断是否在段内,由于500>100,所以不在段内,访问非法D 3,400,首先查找段号为3的基地址1327,然后判断是否在段内,由于400<580,所以在段内,对应物理地址为1327+400=1727E 4,112,首先查找段号为4的基地址1952,然后判断是否在段内,由于112>96,所以不在段内,访问非法第九章A certain computer provides its users with a virtual-memory space of 2 32 bytes. The computer has 2 18 bytes of physical memory. The virtual memory is implemented by paging, and the page size is 4096 bytes.A user process generates the virtual address . Explain how the system establishes the corresponding physical location. Distinguish between software and hardware operations.某电脑提供给虚拟存储一个2^32b大小的空间,电脑只有2^18b大小的物理存储,虚拟存储以分页存储,页面大小4096b,一个用户进程产生虚拟地址,解释系统如果建立对应的物理地址,区分硬件和软件的操作。

答:化成二进制表示为0001 0001 0001 0010 0011 0100 0101 0110 由于虚存有32位地址,页面大小为2^12b,所以页偏移就有12位,取虚拟地址的后12位为页偏移,这也是物理地址上的偏移,而虚拟地址剩余的20位则是页号,物理地址剩余的6位是物理页号在查询时,操作系统先根据前20位0001 0001 0001 0010 0011查询页表,查找到对应的物理页号,这是软件操作;然后找到物理页号后计算出对应的物理地址,这也属于软件操作。

而在查询页表时,如果发生缺页,此时对页面的调度则是硬件操作。

A page-replacement algorithm should minimize the number of page faults. We can do this minimization by distributing heavily used pages evenly over all of memory, rather than having them compete for a small number of page frames. We can associate with each page frame a counter of the number of pages that are associated with that frame. Then,to replace a page, we search for the page frame with the smallest counter.页面调度算法应该最小化页面错误,我们可以通过分配常被使用的页面给其他内存来做最小化操作,而不是让他们竞争一小片内存。

相关主题