《操作系统导论》ostep_homework(Chapter151617182022)

阅读: 评论:0

Chapter15
首先明确relocation.py的运行参数设置含义
15.1
首先运行relocation.py文件,明确题目的意思是让我们计算进程生成的每个虚拟地址是否越界。运行可知虚拟地址空间大小为1k,物理内存大小为16k。
分别使用种子1,2,3.观察具体的环境,运行结果如下,进程的起始地址为Base,被分配的虚有限拟空间大小为Limit,地址转换的计算公式是Base+hex(decimal),如果地址值在[Base,Base+hex(Limit)]区间范围内则处于界限内,否则处于界限外,或者直接用decimal 与Limit直接比较,decimal的值在[0,Limit]区间范围内则处于界限内,否则处于界限外。
对于VA1,地址转换为0x00003741。
对于VA0,地址转换为0x00003ce2,对于VA1,地址转换为0x00003cff。
对于VA3,地址转换为0x00002317,对于VA4,地址转换为0x000022e1。
15.3
首先分析指令的意义,“-s1”表示采用种子1运行,“-n10”表示产生的虚拟地址个数,“-l100”表示产生的限位寄存器的值是100。运行如下图,不指定-a、-p标志的值得情况下,地址空间大小默认为1k,而物理内存大小为16k。要求得设置界限的最大值并使得地址空间仍然完全放在物理内存中,则需要Base+Limit<=16k(十进制),16k等于16384个字节,而Limit 的值已经设定为100,因此Base<=16284,运行命令并加上-b标志的设置,分别设置为16284和16285进行验证,并加上-c标志查看答案。运行结果如下二图:当设置为16284时,仍能正常判断虚拟地址空间是在界限内还是界限外,
当设置为16285时,程序报错,并输出错误信息,显示Base+Limit已经大于Psize的值,验证成功。因此可以设置的Base最大为16284,设置界限的最大值为16384。
Chapter16
16.1
首先明确命令中各标志的含义,“-a128”表示设置地址空间大小为128,“-p512”表示设置物理内存大小为512,“-b0”表示段0的基址寄存器的值为0,“-l20”表示段0的限位寄存器的值为20,“-B512”表示段1的基址寄存器的值为512,“-L20”表示段1的限位寄存器的值为20。
输入一条命令,得到以上提示信息,题目的意思是对每个虚拟地址,判断该地址在界限内还是界限外,如果在界限内则计算其地址转换。在这个问题中,假设一个简单的地址空间分成两段,通过该地址的值的最高位来判断该地址位于哪一段,如果topbit=0则位于段0,如果topbit=1则位于段1。段0是正方向生长的,而段1是负方向生长的。
由以上解释可知,对于段0的虚拟地址,其地址转换公式为base+decimal,而对于段1的虚拟地址,其地址转换公式为base-(asize-decimal)。
运行以上3条命令,得到以下3个结果:
因此可判断只有VA0处于seg1的界限内,其地址转换为0x000001ec,VA1和VA4位于seg1的界限外,VA2和VA3位于seg0的界限外。
因此VA0处于seg0的界限内,其地址转换为0x00000011,VA1处于seg1的界限内,其地址转换为0x000001ec,VA2位于seg1的界限外,VA3和VA4位于seg0的界限外。
因此VA0处于seg1的界限内,其地址转换为0x000001fa,VA1处于seg1的界限内,其地址转换为0x00001f9,VA2处于seg0的界限内,其地址转换为0x00000007,VA1处于seg0的界限内,其地址转换为0x0000000a,只有VA4处于seg1的界限外。
结果验证如下:
16.2
答:由1可得,seg0的基地址为0,限位20,seg0为正方向生长,因此最高的合法地址应该是20-1=19,最低的非法地址为20;而seg1的基地址为512,限位20,seg1为负方向生长,地址空间大小为128,因此最低的合法地址应该是128-20=108,最高的非法地址为107。
利用标志“-A”指定生成的虚拟地址值为19、20、107、108。运行结果如下,可知19、108位于界限内,而20、107位于界限外。

本文发布于:2023-05-05 06:28:12,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/3/88028.html

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

标签:地址   界限   运行   虚拟地址
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图