Linux 0.11
新学期开始,读 linux 0.11 代码注释,不定期更新自己觉得有必要注意的东西,希望自己可以坚持
对于linux 0.11内核,系统设置全局描述符表 GDT 中的段描述符项数最大为256,
其中 2 项空闲,2 项系统使用,
每个进程使用两项。因此,此时系统可以最多容纳 (256-4)/2 + 1=127 个任务,
并且虚拟地址范围是 ((256-4)/2)* 64MB约等于 8G。
但0.11内核中人工定义最大任务数 NR_TASKS = 64 ,
每个进程虚拟地址(或线性地址)范围是 64M(2^26 字节),
并且各个进程的虚拟地址起始位置是(任务号-1)*64MB。
因此所使用的虚拟地址空间范围是64MB*64=4G.
[ 本帖最后由 madfrogme 于 2012-10-3 23:06 编辑 ]