美文网首页
linux内存映射,内存分布情况

linux内存映射,内存分布情况

作者: sgy1993 | 来源:发表于2017-09-06 22:17 被阅读0次

Linux_Memory_Address_Mapping
Linux内存地址映射
http://ilinuxkernel.com/?p=1276

[root@localhost Memory_Address_Mapping]# ./mem_map 

%ebp:0xBFD56888
tmp address:0xBFD56880
cr4=000006D0  PSE=1  PAE=0  
cr3=0ED64000 cr0=8005003B
pgd:0xCED64000
gdtr address:C180B000, limit:FF

gdtr address:C180B000 - PAFE_OFFSET=0x180b000.这个是物理地址

tmp address:0xBFD56880这个地址是逻辑地址,怎么转化成线性地址呢?

tmp address:0xBFD56880,高10位值为0x2ff,表示页目录的索引

cr3=0ED64000寄存器是页目录所在的基地址,第0x2ff项,一项是4个字节

所以地址里面的内容是0x385E3067

000000ED64BF0   00000000    00000000    00000000    385E3067  ............g0^8

0x385E3000是二级页表所在的物理基地址,067是物理偏移,tmp的中间10位是0x156
所以页面地址是0x385E3000+0x156*4=0x385E3558

得到的地址是0x385E2067,最终加上temp的低12位0x385E2880
最终里面存放的数据确实是0x12345678
00000385E2880 12345678

640kb-1M的空间用来做高速缓冲区

相关文章

  • linux内存映射,内存分布情况

    Linux_Memory_Address_MappingLinux内存地址映射http://ilinuxkerne...

  • Linux内存映射

    在查看Linux内存使用情况时,发现系统内存被anonpage占用很多,这部分内存未统计在程序中,因此找了一些内存...

  • linux内存映射

    关于页表,页表其实仅仅就是保存虚拟内存和物理内存的映射关系的,跟物理内存有没有被使用没关系的。 关于内存管理,物理...

  • 进程虚拟内存

    Linux虚拟内存空间分布Linux虚拟内存空间描述linux进程虚拟内存 .text(代码段)可执行文件加载到内...

  • CSAPP : 内存映射

    内存映射单独拿出来说,因为很有趣,不仅关系到共享库,还有fork等 什么叫内存映射? linux通过将一个虚拟内存...

  • Binder IPC - 基础知识

    基础知识 Linux 内存模型 MMU MMU即内存管理单元,其主要作用是实现虚拟内存到物理内存的映射,其工作原理...

  • Linux中物理内存管理

    1. Linux中内存模型:平坦、非连续和稀疏模型 Linux中的内存模型说的是站在cpu的角度,物理内存的分布情...

  • Linux内核如何管理少于1GB的物理内存

    我们在学习Linux内存管理时了解到: Linux内核将 0MB ~ 896MB 物理内存,映射为 0xC0000...

  • DBus for IPC in Qt

    Linux 系统IPC种类: 信号 管道 命名管道 信号量 消息队列 共享内存 内存映射文件 套接字 DBus 概...

  • Linux mmap内存映射

    将最近网上搜索的资料统一整理下,方便后续复查。 一、什么是mmap mmap是一种内存映射文件的方法,即将一个文件...

网友评论

      本文标题:linux内存映射,内存分布情况

      本文链接:https://www.haomeiwen.com/subject/fyjvjxtx.html