linux复习题2

  • 格式:doc
  • 大小:67.00 KB
  • 文档页数:2

1.结合X86的分段保护机制,回答下列问题:
(1)分段机制如何定义一个程序的权力?
(2)如何定义逻辑段的安全级别?
(3)分段保护机制的规则是什么?
2.结合X86的分页保护机制,回答下列问题:
(1)分页机制如何定义一个程序的权力?
(2)如何定义页的安全级别?如何定义巨页的安全级别?
(3)分页保护机制的规则是什么?
3.试说明为何X86采用两级页表结构。

4.已知某进程用于映射线性地址0x08048000的页目录项的内容是0x0378d067,页表项的
内容是0x032c0025。

(1)这两个表项分别在页目录表和页表中的索引号是多少?
(2)请解析这两个表项,写出每个标志的取值和含义。

(3)该线性地址所属的页是否为超级特权页?如不是可写吗?
(4)该线性地址转换成对应的物理地址是多少?
5.已知某进程的线性地址0xc0000000对应的页目录项的内容是0x000001e3,
(1)请解析该表项,写出每个标志的取值和含义。

(2)该线性地址转换对应的物理地址是多少?
6.结合分页机制回答下列问题:
(1)进程的逻辑地址空间划分为用户空间和内核空间的目的何在?
(2)对于这种划分方法有何要求?在映射内核时应满足什么条件?
(3)这种划分逻辑地址的方法有何实际效果?
7.已知一个线性地址0x18005759,
(1)求其页号、偏移量以及所属页的起始线性地址。

(2)求用于映射该线性地址的页目录项和页表项的索引号。

8.讨论0x60号页目录项所能映射的线性地址范围。

9.已知页描述符的字节数为0x20,mem_map数组的首地址为0xc1000000,某内存区描述
符的zone_mem_map域的取值为0xc1020000。

一个页框的页描述符地址为0xc1024ea0,求该页框的页框号以及它在上述内存区中的区内索引。

10.编写三个宏分别用于flags变量中第8位的置位、清零和测试。

(请用两种方法)
11.假设一个内存区中包含16个页框,该内存区空闲内存块链表如下图所示。

(1)画出该内存区的页框分布图,在每个空闲内存块的首页中标出阶数,已分配页框用
阴影标出(不考虑保留页框)。

(2)假设现在要分配两个1阶的内存块,请简述伙伴系统的分配过程,并画出分配后的
空闲内存块链表示意图。

12.假设一个内存区中包含16个页框,该内存区空闲内存块链表如下图所示。

(1)画出该内存区的页框分布图,在每个空闲内存块的首页中标出阶数,已分配页框用
阴影标出(不考虑保留页框)。

(2)如果要释放首索引为2的一个0阶内存块,请填写下表以反映释放时的内存块合并
过程。

其中,order是待合并内存块的阶,page_idx和buddy_idx分别是待合并内
存块及其伙伴的首索引。