第5678次作业 答案操作系统 大学课程 作业

i第五次作业
书上的作业
9.2内部碎片与外部碎片之间的区别?
答:一个作业占据了一个内存区域或者页,但是其中的一部分没有使用,把没有使用的部分称为内部碎片。内部碎片不会被操作系统或者其他进程使用,除非这个作业执行完并且释放它所占用的内存区域。外部碎片是在分区之间存在的不能够被使用的小的内存。
9.5内存按顺序有100k,500k,200k,300k,600k,用首次适应、最佳适应和最差适应如何放置212k,417k,112k,426k的进程?
答:
(1)首次适应算法
212K 放入 500K 的分区
417K 放入 600K 的分区
112K 放入 288K 的分区(产生新的分区 288K = 500K - 212K)
426K 必须等待
(2)最佳适应算法
212K放入300K的分区
417K放入500K的分区
112K放入200K的分区
426K放入600K的分区
(3)最差适应算法
212K放入600K 的分区
417K放入500K 的分区
112K放入388K 的分区
426K 必须等待
在这个例子中,最佳适应算法是最好的。
9.8假设一个有8个1k页面的逻辑地址空间,映射到一个32个页框的物理内存,问:逻辑地址多少位?物理地址多少位?
a. 逻辑地址: 13 bits
b. 物理地址: 15 bits
9.14为什么纯分段比纯分页更容易实现共享可充入模块。
答:因为段是基于内存逻辑划分而非物理划分,因此任意长度的段都可以通过段表的一个表项来实现共享。而对于分页系统来说,只能对每个页实现共享,而页面的大小是固定不变的。
9.16 有段表
段    基地址    长度
0    219        600
1    2300        14
2    90        100
3    1327        580
4    1952        96
下面的物理地址是多少?
a)0,430; b)1,10; c)2,500; d)3,400;e)4,122
答:
a. 219 + 430 = 649
b. 2300 + 10 = 2310
c.地址错误
d. 1327 + 400 = 1727
e.地址错误
补充作业
1.在页面大小为4k的系统中,根据图中所示页表,下面的逻辑地址经过重定位之后的物理地址是什么?a)20;b)4100;c)8300
答:(a) 49172 (b)57348 (c) 61548
2.一台计算机为每个进程提供65536字节的地址空间,页面的大小为4k。一个程序有32768字节的正文,16386字节的数据,15870字节的堆栈,此程序是否能装入此地址空间?若页面大小为512字节呢?
答:文本占8页,数据占5页,堆栈占4页。因此程序需要17页,而实际上只有65536/4k=16页的空间,不足。而如果页面有512字节,正文需要64页,数据需要33页,堆栈需要31页,一共128页,而实际上有65536/512=128页的空间,所以正好放入。
3.若两个进程共享一个页面,该页面可否对一个进程只读,对另一个进程可读写?如何实现?
答:可以实现。在页表里面为每一页增加一个保护字段就可以了。
附加题
1. 考虑一个伙伴系统,在当前分配下一个特定块的地址是011011110000
a.如果块的大小是4,它的伙伴的二进制地址是多少?
b.如果块的大小是16,它的伙伴的二进制地址是多少?
答:    a.    011011110100 (是这一块后面的一块)
    b.    011011100000 (是这一块前面的一块)
第六次作业
9.10 假设页表在内存保存的分页系统,a.如果一次访问内存用200ns,那么访问一个页内的一次数据访问用多少时间?b.如果加入TLB,有75%的命中率,那么内存有效访问时间是多少?
a. 400 ns; 200 ns访问页表,200 ns访问内存中的字
b. 有效访问时间 = 0.75*(200 ns) + 0.25*(400 ns) = 250 ns.
10.5假设一个请求调页存储器,页表放在寄存器中。处理一个页错误时,当要置换的也没有被修改时用8ms,如果被修改了用20ms。存储器的访问时间是10ns。假设被置换的页面中有70%被修改过,那么要让有效访问时间不超过200ns的最大可以接受的缺页率是多少?
0.2 us = (1- P) * 0.1 us + (0.3P) *8 ms + (0.7P) * 20 ms
P=1/163999=0.000006
10.10 考虑下面的一个数组定义:int A[][] = new int[100][100];其中 A[0][0] 位于地址 200, 在一个分页内存系统中,页面的大小也是200。有一个小进程在页面0中(地址是0到199)用于处理这个数组。在有三个页框的情况下(一个页框放置程序,其他两个页框是空的),如果采用LRU,下面的两个数组初始化程序的缺页次数是多少?
a.
for (int j = 0; j < 100; j++)
for (int i = 0; i < 100; i++)
A[i][j] = 0;
b.
for (int i = 0; i < 100; i++)
for (int j = 0; j < 100; j++)
A[i][j] = 0;
:A[100][100]一共需要50个页面。存储的顺序是:A[0][0]到A[0][99]、A[1][0]到A[1][99]在第1页中,以此类推。程序所在的页面一直被使用,一直占用内存。所以按照a的方式访问,每两次赋值就会产生一次缺页,共有两个页框可以使用,所以,10000次数据访问会产产生5000次缺页;而采用b的方式访问则是顺序访问内存,数据一共占用了50个页,顺序访问,缺页50次。
a. 5,000
b. 50
10.11 有页面访问次序1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6。当页框数是4时,分别使用LRU,FIFO,最优置换算法,分别产生多少次缺页?假设初始时页框都为空。
答:
页框数    LRU    FIFO    Optimal
4        10        14        8
补充作业
1.在一个虚拟存储管理系统中采用段页式方法对内存空间进行管理,它有32位的虚拟地址空间,一个程序最多可以分成4个段,而实际的物理地址空间是16位,页框大小为2k。假设有两个进程A和B。其中A进程共有2个段,0段的0、2页已经调入到内存的2、3号页框,1段的3、5、7页已经调入到内存的5、6、10号页框;B进程有3个段,0段的1、页已经调入到内存的7、8号页框,1段的2页已经调入到内存的9号页框,2段没有页面调入到内存中。假设所有的用于管理的表如果在内存中保存都要保存在一个页框的开始位置。
(1)请根据上述条件画出两个进程的段表和页表,并把可以填写的数据写入表格的正确位置。
(2)A进程的虚拟地址12FF可以转换成什么物理地址?B进程的17BA可以转换成什么物理地址?如果不能转换,操作系统会执行什么操作?
答:
(1)
A进程的段表
页表的开始位置
页表的长度
0
X
2k
X
A进程的页表
恳谈会为我唱首歌吧 阅读答案
页框号
P
2
1
0
0
3
1
渗透压力
页框号
P
0
0
0
0
0
0
5
1
0
0
6
1
0
0
10
1
B进程的段表
页表的开始位置
页表的长度
8K
X
22K
X
24K
X
B进程的页表
腾飞电开水器
页框号
P
0
0
7
1
0
0
8
1
页框号
P
0
0
0
0
9
1
nc患者…
页框号
P
0
0
(2)
A进程的12FF转换成物理地址为1AFF
B进程的17BA无法转换成物理地址,因为这个页不在内存,需要发生缺页中断,调入这个页面
2.一个计算机中拥有cahce、主存和用作虚存的磁盘。如果访问的字在cache中,需要20ns得到它;若不在cache而在主存中,需要60ns的时间把它从主存中装入cache,然后再访问;若不在主存中,需要12ms把它从磁盘读到主存,再用60ns从主存读入cache,然后访问。若cache的命中率是0.9,主存的命中率是0.6,则在系统中访问一个字的平均时间是多少?
答:应该有下面的3种情况:
Location of referenced word
Probability
Total time for access in ns
在cache中命中
0.9
20
不在cache但是在主存中
(0.1)(0.6) = 0.06
60 + 20 = 80
不在cache也不在主存中
(0.1)(0.4) = 0.04
12ms + 60 + 20 = 12000080
所以平均访问时间是:
(0.9)(20) + (0.06)(80) + (0.04)(12000080) = 480026 ns
附加题
1.假设页的大小是4k,页表一个表项有4个字节。如果要映射64位地址空间,并且最顶层的页表对应于一页,需要几级页表?
成都体育学院图书馆答:因为每个页表表项用4个字节每一个页有4 K字节,所以一页的页表中可以指向1024 = 210 个页, 地址是210 * 212 = 222 字节. 但是地址空间是264 字节. 加上一个二级页表,上级页表会指向210 个页表,地址空间是232 字节. 继续这个过程,可以看出5 级页表也不能满足64 位地址空间, 所以需要第6级页表。
2. 现在要调入一个机器语言指令,这个指令要把一个32位的字存入一个32位的寄存器。请问这个操作可能引起的最大缺页次数是多少?
答:首先这个指令可能跨越两个页,要调入它到内存最多引起两次缺页。其次要装入的32
位的字也可能跨越两个页(这在很多的系统中是允许的),这也最多需要两次缺页才可能把数据放入寄存器。
第七次作业
书上的作业
14.2 假设一个磁盘驱动器有5000个柱面,从0到4999。驱动器正在为143的一个请求服务,且前面的一个请求在125。按照FIFO的顺序,即将到来的请求是86,1470,913,1774,948,1509,1022,1750,130。请按照FCFS、SSTF、SCAN、LOOK、C-SCAN、C-LOOK开计算磁头移动距离。
答:
a. 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.

本文发布于:2024-09-22 06:54:04,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/283643.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:页表   内存   页面   访问   地址
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议