`
skyxiaobai
  • 浏览: 12073 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

linux内核学习笔记(2)——内存寻址

阅读更多

硬件中的分页 :

 

                       分页单元把线性地址转换为物理地址。  注:分页异常的产生(访问无效——>访问类型与访问权限)

 

                       页的概念:线性地址被分为固定长度为单位的组。

                       页框是一个存储区域,页是一个数据块。两者的长度一致(一个),每个页框包含一个页。4KB

线性地址的3个域:

 

                        1:Directory   最高10位

                        2:Table         中间10位

                        3:Offset        最低12位

 

 

 

 

                 两级页表 :
                           两级表的第一级表称为页目录,存储在一个4K字节的页中,页目录表共有1K个表项,每个表项为4个字节,线性地址最高的10位(22-31)用来产生第一级表索引,由该索引得到的表项中的内容定位了二级表中的一个表的地址,即下级页表所在的内存块号。 第二级表称为页表,存储在一个4K字节页中,它包含了1K字节的表项,每个表项包含了一个页的物理地址。二级页表由线性地址的中间10位(12-21)位进行索引,定位页表表项,获得页的物理地址。页物理地址的高20位与线性地址的低12位形成最后的物理地址。

 

                   用户空间 :
  在Linux中,每个用户进程都可以访问4GB的线性虚拟内存空间。其中从0到3GB的虚存地址是用户空间,用户进程可以直接访问。
                    内核空间:
  从3GB到4GB的虚存地址为内核态空间,存放供内核访问的代码和数据,用户态进程不能访问。所有进程从3GB到4GB的虚拟空间都是一样的,linux以此方式让内核态进程共享代码段和数据段。

分享到:
评论

相关推荐

    《Linux内核学习笔记》.pdf

    《Linux内核学习笔记》.pdf

    Linux内核汉化大揭秘——基于Linux核心的汉字显示.pdf

    《Linux内核汉化大揭秘——基于Linux核心的汉字显示》深入探讨了在Linux操作系统中实现汉字显示的技术细节。文章首先介绍了Linux下终端和帧缓冲的实现机制,这是理解汉字显示的基础。 在Linux中,控制台(console)...

    Linux内核阅读心得体会——pdf高清版

    本文作者以Linux内核版本2.6.13为基础,分享了他对Linux内核启动过程的理解和阅读源代码的心得,内容涵盖了内核从引导到运行的各个阶段,以及内核编程中的一些关键技术。 在内核启动部分,作者首先介绍了内核生成的...

    《Linux设备驱动开发详解——基于最新的Linux4.0内核》源码.zip

    《Linux设备驱动开发详解——基于最新的Linux4.0内核》是一本专注于嵌入式Linux系统中的设备驱动程序开发的专业书籍。这本书的核心内容是讲解如何为Linux操作系统编写和理解设备驱动,以实现硬件与操作系统之间的...

    Linux学习笔记——入门资料

    Linux学习笔记——入门资料 Linux,作为一款开源、免费的操作系统,因其稳定性和安全性而备受开发者和系统管理员的青睐。这份“Linux学习笔记”旨在帮助初学者快速掌握Linux的基础知识和操作技能,从而轻松入门。 ...

    linux内核解析笔记

    学习Linux内核解析,不仅需要理解基本的计算机科学概念,还需要熟悉C语言,因为Linux内核主要是用C语言编写的。此外,理解汇编语言也有助于更深入地了解内核的底层运作。通过深入研究内核,开发者可以优化系统性能,...

    linux内核驱动笔记-尚观

    本笔记将深入探讨Linux内核驱动及其相关概念。 首先,我们要理解内存管理在内核中的重要性。内存管理子系统是内核的关键部分,它涉及到地址类型如物理地址、虚拟地址和逻辑地址的转换。在16位CPU中,虽然地址线可以...

    linux内核设计与实现第二版 学习笔记

    在《Linux内核设计与实现》第二版的学习笔记中,我们可以深入探讨以下几个关键知识点: 1. **内核架构**:Linux内核采用微内核架构,主要由进程管理、内存管理、文件系统、设备驱动和网络协议栈等模块组成。这些...

    linux学习资料——内存管理

    2. **虚拟内存**:Linux采用虚拟内存机制,使得每个进程都有独立的4GB(或更大,取决于架构)地址空间。这通过页表(Page Table)实现,页表映射了虚拟地址到物理地址的关系。Linux还支持分页和分段两种虚拟内存机制...

    linux 内核 内存泄露检测

    linux 内核 内存泄露检测 linux 内核 内存泄露检测 linux 内核 内存泄露检测 linux 内核 内存泄露检测 linux 内核 内存泄露检测 linux 内核 内存泄露检测 linux 内核 内存泄露检测

    linux 内核学习笔记

    2. 内存管理:内核分配和回收内存,实现虚拟内存机制,保证多进程之间内存的隔离。 3. 文件系统:内核提供了抽象化的文件系统接口,允许用户访问和操作各种类型的存储设备,并实现文件权限、缓存等管理。 4. 设备...

    关于linux内核学习 linux内核学习

    2. **《Linux内核源代码情景分析》**:毛德操和胡希明合著,分为上下两册,基于2.4.0内核,涵盖了从内存管理到设备驱动的广泛主题。虽然版本较旧,但深入的分析对理解内核机制非常有价值。此书适合有一定基础的读者...

    Linux学习心得——内存管理方法

    ### Linux学习心得——内存管理方法 #### 1. 概述 本文主要针对Linux操作系统中的内存管理技术进行探讨,特别是针对内核版本2.6.32的TI Linux-Davinci-Staging。本文将从以下几个方面展开讨论: - **Linux内核...

    Linux内核学习笔记

    总之,Linux内核的学习涵盖了从其历史、构成、代码结构到配置编译等多个方面,理解这些知识点对于系统管理员、开发者以及任何对操作系统原理感兴趣的人来说都是至关重要的。通过深入研究和实践,可以更有效地定制和...

    Linux内核内存管理

    Linux 采用了伙伴系统算法来管理内存,通过将内页按 2^0, 2^1, 2^2…2^10 大小进行分组,每次分配内存时,从相应大小的池中分配内存,然后再把余下的内存分配给它的下一级缓存池。 在 Linux 内核中,大内存分配的...

    经典Linux内核编程著作——《The Linux Kernel》

    ### 经典Linux内核编程著作——《The Linux Kernel》 #### 书籍概述 《The Linux Kernel》是一本由David A. Rusling所著的经典Linux内核书籍,它旨在为那些希望深入了解Linux内核工作原理的爱好者提供一个全面且...

    S5PV210(TQ210)学习笔记——内存配置(DDR2)

    S5PV210(TQ210)学习笔记——内存配置(DDR2) S5PV210是三星电子生产的一款基于ARM Cortex-A8内核的处理器,主要应用于智能电子设备等领域。TQ210开发板则是搭载S5PV210处理器的一款开发平台。本文重点介绍的是关于...

    Linux内核学习路径

    Linux内核学习路径是指为学习者提供的一系列步骤和资源,以系统地掌握Linux内核的相关知识。Linux内核是Linux操作系统的核心部分,负责硬件资源的管理、内存管理、进程调度等关键任务。了解Linux内核的设计与原理...

    疯狂内核之——Linux虚拟内存

    高端内存映射(High Memory Kernel Mapping)是Linux内核为了访问高端内存区域而采用的一种特殊映射方式。这通常涉及到对物理内存的直接访问。 ##### 1.8 内存映射机制 - **永久内存映射**:为了长期使用而建立的...

Global site tag (gtag.js) - Google Analytics