当前位置:  技术问答>linux和unix

问个问题:名空间、地址空间不在存储器上,那么是在哪里呢?

    来源: 互联网  发布时间:2016-04-15

    本文导语:  刚才看书看到:   地址空间:一个用高级语言编制的源程序,我们说它存在于由程序员建立的符号名字空间(简称名空间)内。源程序经编译后得到的目标程序,则存在于它所限定的地址范围内,我们称这个地址范...

刚才看书看到:

  地址空间:一个用高级语言编制的源程序,我们说它存在于由程序员建立的符号名字空间(简称名空间)内。源程序经编译后得到的目标程序,则存在于它所限定的地址范围内,我们称这个地址范围为地址空间。一个编译好的程序存在于它自己的地址空间中,当它要在计算机上运行时,才把它装入存储空间。


  我想知道:根据上面这段话可以看出,地址空间是不在存储空间中的,名空间肯定也不在;那么它们是在什么地方呢?


  谢谢!!

|
空间,是一个抽象的概念

比如我们说,值空间,一个变量可能取的所有值,组成了一个值空间

所以,一个程序员使用的符号,即形成了一个符号空间
一个程序员所写的程序,只采用这个符号空间中的符号,就可以理解为是建立在这个符号空间上的

你要问:这个空间在哪里呢?   本人觉得,这个空间就在程序员写的程序中,我们可以通过程序,反过来构造出这个空间,不妨使用名称A来表示这个空间

引申一步来讲,所有的程序员,采用高级语言写的程序,综合起来,可以形成一个复杂的符号空间,不妨使用名称B来表示这个空间,那么A就是B的一个子集,对吧

更引申一步来讲,所有可能的符号,综合起来,形成一个很泛意义上的符号空间,不妨使用名称C来表示,那么B又可以看成是C的一个子集

编译链接之后,目标代码或者可执行文件中,使用地址来标识各个函数或者各个变量,等等
所有用到的地址,就形成了这个程序的地址空间D,

这个地址空间也是抽象的
符号空间A与这个地址空间D之间存在一定的映射关系,比如某个符号对应地址空间中的某个地址,之类的


装载之后,在物理内存中,将会使用物理地址来访问指令、数据等等
所有用到的物理地址,就形成了这个程序相关的存储空间E,显然这个存储空间,是整个计算机存储空间F的一个子集

地址空间D与存储空间E之间存在一定的映射关系

以上仅仅是个人感觉


|
可行程序或者目标码执行之前是在你所说的外存上的,比如硬盘等。当执行的时侯,通过一种加载方式,将其加载到内存中,如果不好理解,你可以简单地理解为内存中的目标代码就是磁盘上的目标代码的一份拷贝!将其加载到内存是为了执行,因为cpu不能寻址到外存上的目标代码! 大概意思就是这样,里面还有很多细节。

    
 
 

您可能感兴趣的文章:

  • Unix系统中关于硬盘空间问题?(我的硬盘空间快满了,我应该怎么做?,我的硬盘只有8、4G)
  • new几个相同的类,对于方法(method)的内存分配问题?大家公用一块方法的空间,还是每个都有自己的空间?
  • Linux 内核空间与用户空间批量数据传输问题!
  • 求助关于内核空间和用户空间通信的问题
  • 关于linux的栈空间问题
  • 关于进程地址空间的问题
  • Redhat AS4的空间问题?
  • linux安装jdk出现空间不足的问题
  • 关于 “Solaris 10 磁盘空间重新划分”的问题,在线等。
  • 硬盘空间不够的问题!
  • 关于服务器空间问题
  • 关于写文件报磁盘空间不够的错的问题
  • 关于打印用户空间函数栈的问题
  • Linux 磁盘空间的问题
  • 关于磁盘空间的问题
  • linux安装后的空闲硬盘空间问题
  • 请教一个关于内存分配的问题(系统和DMA共享一块物理内存空间)
  • 增加了交换分区,patch命令还是提示空间不足,蛋碎的问题啊!!!
  • Solaris 下磁盘空间分配的问题,高手请进
  • 问题4:什么命令在shell下显示磁盘空间剩余大小?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 求助:关于聊天室的问题 不在乎分数,只要我有,你要多少给多少!
  • 请问:哪位高人有做过大批量数据打印的代码?能否提供预览功能的实现?分我不在乎,您开个口,只求能解决问题
  • 菜鸟问题:用于servlet的包不在JDK1.4里面,请问这些扩展包包含在什么地方?下载地址?
  • gdb调试多线程程序时的问题, 为何不在断点处停下来?
  • 分?我不在乎,只要问题解决...........(很简单,但要尽快!!!!!!!!!!!11)
  • linux版结帖率很底。如果你觉的你回答了问题而帖主既不在提出问题也不结帖。就把帖子帖出来,然后我来结帖。
  • 还是有关ftp client和list的问题,您进来看看,也许会呢:)我不在乎分数的
  • linux超级菜鸟问题:在WinXP下再装一个redhat linux9.0.3(不在VM虚拟机上装,直接在硬盘上装)
  • 修改配置真正解决php文件上传大小限制问题(nginx+php)
  • 简单问题简单问题简单问题简单问题
  • 修改配置真正解决php文件上传大小限制问题(apache+php)
  • 小问题,急问题,重大问题!!!
  • sharepoint 2010中item.Update()和item.SystemUpdate 修改数据版本问题解决
  • 弱弱的一问,linux下的中文问题及网络问题,分不是问题
  • 八个问题帮你快速了解Docker
  • 请教两个小问题:一个cgywin下使用vi的问题,另一个socket的问题
  • 错误:将'const x'作为'x'的'this'实参时丢弃了类型限定问题解决
  • 网页的编码问题!或者java的编码问题,由此引出一条解决中文问题的思路
  • nginx Windows版相关问题及使用说明
  • 死锁的问题 多级锁定问题 循环锁定问题
  • vs2010下禁用vmware的方法以及解决vmware插件导致vs2010变慢的问题
  • [问题]双系统出现的问题!求问题的原因和解决办法!
  • Linux下时钟同步问题:Clock skew detected原因分析及解决方法
  • 初学者问题。一个是编译hello world的问题,一个是配置ssh的问题
  • c/c++服务器程序内存泄露问题分析及解决
  • C程序问题:哪个高手帮我解释下下面的问题,主要是a[0]和&[0] 的区别 和编译器的问题??
  • ​部署 Docker 前必须问自己的四个问题
  • swing的问题还是jbuiler的问题??
  • spring的事务类型及spring和hibernate可能导致的问题分析
  • 菜鸟第一次安装红帽子7.2的一箩筐问题。每个问题会开个帖子,各放100分!请有安装经验的老鸟们帮忙解决。第二个问题:什么是LILO?怎么样


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3