这两天有个问题一直萦绕着,计算机中的物理地址和内存地址,虚地址究竟是怎么回事?地址是怎样分配的呢?
翻了下操作系统课本,恩,晚上回去看看存储器管理,虚拟存储器,磁盘存储器管理这几章。隐约还记得微机原理学的寄存器寻址,现在网上看看,搜集一下待做整理。
昨天看到论坛上有人问,调程序的时候编译器分配的是物理地址还是虚地址(差不多是这意思),看到大家基本回答是说虚地址,操作系统之上的根本就不可能接触物理地址,而且可用的物理地址是相当混乱的,必须由操作系统整理映射。(差不多吧?个人认为应该没错)刚刚搜索的结果有说:程序里指针用的地址都是些虚拟地址,而且其范围完全可以大于你拥有的内存大小。当要执行这些程序段落时,系统首先要把机器码装进内存,这里就有个把虚拟地址映射到物理地址的问题。
在一台 计算机 中,计算机系统为了唯一的标示一个内存单元,操作系统会给每一个内存单元编上一个绝对的号,计算机系统就通过这个编号来定为每一个内存单元的物理位置,这个编号称为内存的物理地址 。
针对程序编译过程中的地址问题: