内存管理概述:linux 0.11内核,最大支持16M物理内存。如果以最大内存16M讲解内核将其分块管理分别为:

--内核区[0~end] (从物理0地址开始,存放内核代码)

--缓冲区[end~4M] (面向文件系统,为文件缓冲机制提供缓冲区,从640K~1M为显存和BIOSrom信息存放点)

--虚拟盘[4M~4.5M] (虚拟盘ramdisk是一个可选项,空间大小可以自定,但是占用主内存区)

--主内存区[4.5M~16M] (进程使用的内存区域,操作系统负责对这部分内存分配和回收管理)

Linux 0.11内核中,所有进程都使用一个页目录表,而每个进程都有自己的页表。

内存长度为16MB。

首先,其分段机制变换,内存位于线性地址空间的头16MB范围内。

其次,使用1个页目录表+4个页表,即head.s中4个页表进行管理,即2^12(偏移)*1024(页表内偏移)*4(表数)字节=16MB。

其一一对应映射,因此对于内核来说,其线性地址即物理地址。

results matching ""

    No results matching ""