逻辑地址

发布时间:2017-7-1 11:38:34编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"逻辑地址 ",主要涉及到逻辑地址 方面的内容,对于逻辑地址 感兴趣的同学可以参考一下。

例如,你在进行C语言指针编程中,能读取指针变量本身值(&操作),实际上这个值就是逻辑地址,他是相对于你当前进程数据段的地址,不和绝对物理地址相干。

您需要了解一下操作系统的虚拟内存机制。
操作系统会为新建立的每一个进程开辟一个独立却完整的地址空间(32位机器是4GB),其中除了一部分地址要交给操作系统的内核或用于某些特殊功用,程序可以自由地使用这些内存,就好像每个进程可以独自使用一台4GB内存的机器一样。但是要注意这是由操作系统虚拟出来的,系统的内存管理器要负责把这些虚拟的内存映射到真实的物理内存中。系统往往同时运行很多进程,要把真实的内存给每个进程都分配4GB当然不可能,所以系统往往还要借用硬盘来存放物理内存存不下的内容,协助虚拟内存的实现。实际的物理内存的状况是:零散无规律地分布着各个进程的内存页面。
当一个新进程启动时,操作系统首先为该进程创建虚拟内存空间,然后把程序的代码段和一部分数据放在固定的虚拟内存地址上。你说的那个变量A就是被包含这部分数据中,每次启动程序都可以看到它在一个固定的地址上,但是这个地址是在虚拟内存中的,实际它所对应的真实物理内存的地址是未知的,只有管理内存的系统内核知道。
当然,还有一部分数据在你的虚拟内存空间的地址也是未知的,这就是堆,堆允许程序在运行过程中动态分配和释放内存(其他的内存分配方式在程序启动时就在固定位置分配,不能改变),堆的分配和释放由C运行时库和操作系统协同管理,分配的内存地址是随机的。你说的那个变量A不是堆中的。
你说的逻辑地址就是在虚拟内存中的地址,物理地址就是在真实的物理内存中的地址。
对于以上有不懂的概念名词可百度查资料。收起
poseidon_k  发布于2012-08-02 16:04
评论(3) 


上一篇:编写bat脚本执行msyql建库sql
下一篇:ftp软件中保持连接命令CWD、PWD、LIST、NOOP四个操作命令解析

相关文章

关键词: 逻辑地址

相关评论

本站评论功能暂时取消,后续此功能例行通知。

一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!

二、互相尊重,对自己的言论和行为负责。

好贷网好贷款