![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
文章平均质量分 81
cx132123
这个作者很懒,什么都没留下…
展开
-
80386控制寄存器
80386控制寄存器和系统地址寄存器如下表所示。它们用于控制工作方式,控制分段管理机制及 分页管理机制的实施。 控 制寄存器CRxBIT31BIT30—BIT12BIT11—BIT5BIT4BIT3BIT2BIT1BIT0CR0PG0000000000000000ETTSEMMPPECR1保留CR2页故障线性地址CR3页目录表物理页码000000000000 BIT47—BIT16BIT15—B转载 2011-07-02 12:47:49 · 385 阅读 · 0 评论 -
Linux内核编译后地址空间的整理
有这么一系列的问题,是否在困扰着你:用户程序编译连接形成的地址空间在什么范围内?内核编译后地址空间在什么范围内?要对外设进行访问,I/O的地址空间又是什么样的? 先回答第一个问题。Linux最常见的可执行文件格式为elf(Executable and Linkable Format)。在elf格式的可执行代码中,ld总是从0x8000000开始安排程序的“代码段”,对每个程序都是这样。至于程序执转载 2011-07-02 20:18:46 · 630 阅读 · 0 评论 -
内核页表的初始化
LINUX 内核代码备忘录1.swapper_pg_dir : Global Page Directory (全局页目录,即最顶层页目录,PGD) 的地址pgd_index(addr): 宏函数,返回PGD包含的项中,地址字段 值为addr的项的索引。PAGE_OFFSET:宏函数,返回进程地址空间(线性地址)中kernel所属的地址空间的起始地址,x86_32下是0xc0000000PAGE_S转载 2011-07-02 20:24:14 · 1231 阅读 · 0 评论 -
高端内存映射
1 内核空间和用户空间 用户空间:在Linux中,每个用户进程都可以访问4GB的线性虚拟内存空间。其中从0到3GB的虚存地址是用户空间,通过每个进程自己的页目录、页表,用户进程可以直接访问。内核空间:从3GB到4GB的虚存地址为内核态空间,存放供内核访问的代码和数据,用户态进程不能访问,只有内核态进程才能寻址。所有进程从3GB到4GB的虚拟空间都是一样的,linux以此方式让内核态进程共享代码段和转载 2011-07-02 20:52:10 · 993 阅读 · 0 评论