博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
物理地址 虚拟地址 逻辑地址 线性地址
阅读量:6260 次
发布时间:2019-06-22

本文共 768 字,大约阅读时间需要 2 分钟。

物理地址

  物理内存的地址,为32位或者64位。

虚拟地址

  现代OS都提供一技术——虚拟内存,它可以使给用户错觉好像自己在使用比实际物理内存大得多的内存,实际上通过映射把虚拟内存的虚拟地址转化为物理内存的物理地址。

  多个进程可以使用相同的虚拟地址,是因为转化的时候把各自的虚拟地址映射到了不同的物理地址。

逻辑地址

  包含在机器语言指令中用来指定一个操作数或一条指令的地址。这种寻址方式在80X86著名的分段结构中表现的尤为具体,它促使MS-DOSWindows程序员把程序分成若干段。每一个逻辑地址都由一个段(segment)和偏移量(offsetdisplacement)组成,偏移量指明了从段开始的地方到实际地址的距离。

线性地址

  线性地址(Linear Address)也叫虚拟地址(virtual address)是逻辑地址到物理地址变换之间的中间层。

  线性地址是一个32位无符号整数,可以用来表示高达4GB的地址,也就是,高达4294967296个内存单元。线性地址通常用十六进制数字表示,值的范围从0x00000000到0xfffffff)。

逻辑地址==>线性地址==>物理地址

  在分段部件中逻辑地址是段中的偏移地址,然后加上基地址就是线性地址。(需要用到全局描述符表,先查找全局描述符表找到相应的基地址再+偏移地址便得到物理内存地址)

    

  如果没有启用分页机制,那么线性地址直接就是物理地址

  如果启用了分页机制,那么线性地址可以再经过变换以产生一个物理地址:

    1. 当采用4KB分页大小的时候,线性地址的高10位为页目录项在页目录表中的编号,中间十位为页表中的页号,其低12位则为偏移地址;

    2. 如果是使用4MB分页机制,则高10位页号,低22位为偏移地址;

转载地址:http://ahqsa.baihongyu.com/

你可能感兴趣的文章
磁盘fat32转NTFS
查看>>
关于和技术人员交流的一二三
查看>>
Ubuntu10下MySQL搭建Amoeba系列(文章索引)
查看>>
产生sdp文件供DSS使用
查看>>
《洛克菲勒留给儿子的38封信》 第五封:要有竞争的决心
查看>>
STL vector vs list function comparison:
查看>>
应用服务器和web server 的区别
查看>>
Libevent笔记
查看>>
mycelipse之安装SVN1.6.5(转载)
查看>>
怎样把数据汇到Excel中的心得经验
查看>>
状态键盘完美适应iOS中的键盘高度变化
查看>>
Linux下oracle11g 导入导出操作详细
查看>>
每日英语:When Computer Games May Keep The Brain Nimble
查看>>
Android AsyncTask运作原理和源码分析
查看>>
demos.jquerymobile
查看>>
【Android】解决Android横竖屏切换数据丢失问题的方法
查看>>
spring+mybatis的多源数据库配置实战
查看>>
Oracle 导入外部文件数据库
查看>>
数值压缩存储方法Varint
查看>>
【转】Unity3.5 GameCenter基础教程
查看>>