本文主要是介绍linux-0.11调试教程,task2参数所在内存页的页目录项和页表项,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
此文内容在do_execve()函数的change_ldt()函数之后create_table()函数运行之前的情形。change_ldt()函数会调用put_page()函数把参数内存页放置到当前任务的线性地址的末端。
第一步:在页目录表里找到任务2的参数内存页所在的页目录项,算出页表所在的地址0xffd000,因为每个进程64M对应16个字的空间任务2的在第32-47个字处。
第二步:根据页表里面的页表项找出内存页所在的地址0xff7000。
第三步,可以看出这时的参数块只填充到了0xff7fec
附上change_ldt()之前的页目录项:
这篇关于linux-0.11调试教程,task2参数所在内存页的页目录项和页表项的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!