课后作业4.4:页式虚存提交
/8/28 5:04:56
第1关:可执行文件的执行
本关任务:
在 bochs 虚拟机中编译程序 01.c ,可以得到一个可执行文件 。请分析该程序的运行,回答下列问题:
1.执行该文件的系统调用刚开始执行时,当前进程的用户虚空间是什么?该空间的第一个页表项和最后一个页表项分别是什么?
2.执行该文件的系统调用执行结束时,该进程的用户虚空间是什么?该空间占据几个页目录项?第一个页目录项的地址和值分别是什么?
3.该可执行文件的代码段和数据段的长度之和是多少?
首先需要将文件复制到指定目录下:
然后用版本 0 内核启动虚拟机,并在虚拟机中用mcopy命令将该文件拷入虚拟
机,并编译 。
文章插图
可以在 bochs虚拟机中先将该文件放入 b盘,然后关闭 bochs虚拟机,并在弹出的对话框中选择 yes:
然后启动gdb调试,在处设置断点,一直c,直到最后一个:
然后在bochs虚拟机中运行之前编译好的可执行文件:
回到调试中,输入指令(进程的用户虚空间的起始地址是 ->,长度是 ->brk),本题用户的虚空间为
~
求页表项是什么实际上就是求页表项的值:
根据前面学的方法,先以线性地址的高 10 位为索引在页目录中找到对应的页目录项,然后以线性地址的中间 10 位为索引在页表中找到对应的页表项,
文章插图
然后输入指令,结束该系统调用 。
输入相应指令查看虚空间 。
输入指令x/wx 0x+64*4,即可求得相应的地址和值 。
【课后作业4.4:页式虚存提交】按quit退出调试,用 命令查看一个可执行文件的具体内容:
最终答案:
1.执行该文件的系统调用刚开始执行时,该进程的用户虚空间是什么?(~)该空间的第一个页表项和最后一个页表项分别是什么?()()
2.执行该文件的系统调用执行结束时,该进程的用户虚空间是什么?(~)该空间占据几个页目录项?(1)第一个页目录项的地址和值分别是什么?(0x100)(0x0)
3.该可执行文件的代码段和数据段的长度之和是多少?()
- 点赞!嘉祥残疾小伙靠嘴折纸获世界吉尼斯纪录 作业帮吉尼斯记录
- php大作业关于中国美食,有关于中国美食的作文
- 一 4.4.2分类模型评判指标
- 澳洲留学生再用ChatGPT写作业,98%概率会被抓!
- 云天励飞上市:年营收5.5亿亏4.4亿 募资39亿市值370亿
- 自从有了作业帮超大屏学习机,大大提高了孩子的学习效率 作业帮中国之最
- 央视赞美建筑工人高温下作业,穷人的苦难不是用来歌颂的 作业中国之最
- 作业帮如何答题挣钱,作业帮怎么赚钱
- 作业拍一拍扫出答案,作业帮怎样扫条码查答案
- 作业帮提问怎么撤回,作业帮怎样*电脑版