一个理论有关问题。
一个理论问题。。。。。。。。。。。。。。
设,一个任务被分成4个大小相等的段,且32位系统为每个段建立一个有8行的页表,假设页尺寸为2kb,
每段的最大尺寸为?
该任务的逻辑地址空间为?
第一问:
8行,每行对应一个页,加上系统本身生成的一页,9页,18kb?感觉不知道是不是这么算的?
第二问:
4Gb?
还请大牛们指点一二。
------解决方案--------------------
操作系统的那些事 不懂帮顶
------解决方案--------------------
1)首先要确认一下系统地页表是几级,linux有三级四级..,如果是三级结构,理论上说,如果你的8个页表项刚好位于2级同一个页表中,那么应该是1+1+8个页表,如果2级页表不是在同一个页表的话,最差情况下8个需要8个2级页表那么需要1+8+8
2)逻辑地址空间,32位的话是4G.
纯属个人理解
------解决方案--------------------
以linux为例,一般来说,一页大小为4K,如果一个页表项的大小是4的话,那么一页可以装1K个表项.顺便说一句,页表项的大小设计与具体的cpu体系结构和操作系统有关.也就是说,你可以设计一个页表项的大小为8.具体你说的多少行我不太清楚.
------解决方案--------------------
操作系统的东西啊,我们还没开始讲呢,目前看书有点迷迷糊糊的,太理论了有点不是很明白
------解决方案--------------------
我也只能友情帮顶了
设,一个任务被分成4个大小相等的段,且32位系统为每个段建立一个有8行的页表,假设页尺寸为2kb,
每段的最大尺寸为?
该任务的逻辑地址空间为?
第一问:
8行,每行对应一个页,加上系统本身生成的一页,9页,18kb?感觉不知道是不是这么算的?
第二问:
4Gb?
还请大牛们指点一二。
------解决方案--------------------
------解决方案--------------------
1)首先要确认一下系统地页表是几级,linux有三级四级..,如果是三级结构,理论上说,如果你的8个页表项刚好位于2级同一个页表中,那么应该是1+1+8个页表,如果2级页表不是在同一个页表的话,最差情况下8个需要8个2级页表那么需要1+8+8
2)逻辑地址空间,32位的话是4G.
纯属个人理解
------解决方案--------------------
以linux为例,一般来说,一页大小为4K,如果一个页表项的大小是4的话,那么一页可以装1K个表项.顺便说一句,页表项的大小设计与具体的cpu体系结构和操作系统有关.也就是说,你可以设计一个页表项的大小为8.具体你说的多少行我不太清楚.
------解决方案--------------------
操作系统的东西啊,我们还没开始讲呢,目前看书有点迷迷糊糊的,太理论了有点不是很明白
------解决方案--------------------
我也只能友情帮顶了