虽然x386是支持分段和分页(基于前面分段实现的)两个机制的,而Linux系统变项只支持分页机制。
(1)i386段式管理:逻辑地址(如8086分段机制,CS,SS,DS,ES),线性地址(linux中虚拟地址一样),物理地址(芯片级寻址单元);i386在实地址模式,对地址,没有保护和检查,无法构建真正的OS;保护模式下,增加FS,GS。段寄存器存放段选择符,根据段寄存器的低3位判别级别和取GDTR,LDTR,高13位找到段描述符(8字节,含有段基址,段大小,描述符类型code or data)。
(2)i386页式管理(页大小固定,换出换入便于管理):其实由于i386使用段式管理,地址映射就要经历段式和页式两级管理,逻辑地址经段式管理成为线性地址,线性地址经页式管理成为物理地址;i386页式管理采用两级分页机制(页面目录,页目录)。如果dir和page合并时,我们有1K*1K和表项,就有4G个内存寻址范围;如果只用一级表项即只有页面表,则有2^20个页表项,若进程访问不到4G内存,大多数页表项是空的,浪费空间,需占用4B*1M需1K个页面;如果用两级,