阅读:1516回复:16
一个关于存储器管理的概念性问题,请赐教.
我在看<<WINDOWS环境下的设备驱动程序设计>>的时候,看到了这样两句话,我有一点不解
1。在保护模式下的虚拟地址是由两部分构成的:一个16位的段选择器和一个32位的地址偏移量。综合段选择器和地址偏移量,一个保护模式下的应用程序可以访问64TB的虚拟地址空间。 2。VMM采用Inter 86或更新处理器的分页分段内存管理技术,为系统虚拟机建立了32位的虚拟地址空间,操作系统需要管理的内存空间为4GB。 在这上面的两段话中为什么一会说虚拟地址空间是64TB,一会又说是32位的虚拟空间(4GB)呢,不解中,望大家赐教 |
|
最新喜欢:![]()
|
沙发#
发布于:2002-08-19 10:15
我的理解:
平坦内存模式一个段可以利用4G的空间(32位)。有16位的段选择器,所以说有64T的虚拟空间,但是我觉得真正能利用的就是4G,其他的是重复算得,正如第二句所说的 “系统虚拟机建立了32位的虚拟地址空间,操作系统需要管理的内存空间为4GB。” 不知道说对了没有,关注中 |
|
|
板凳#
发布于:2002-08-19 14:56
单个程序可访问虚拟地址空间为4GB,超过则需系统换程序段,段选择器为16位,所以系统可管理的虚拟地址空间为64TB :)
|
|
|
地板#
发布于:2002-08-19 16:01
呵呵,刚看到
由于全局和局部描述符表都可以包含多达8192个描述符,而每个描述符所描述的段的最大值可达4G字节,因此最大的虚拟地址空间可为: 4GB*8192*2=64MMB=64TB |
|
|
地下室#
发布于:2002-08-19 16:37
在windows中,每个进程在地址编码上是相互独立的。所以每个进程具有自己的4G的虚拟地址空间。至于64TB,楼上老大说的没错。
|
|
5楼#
发布于:2002-08-19 16:48
单个程序可访问虚拟地址空间为4GB,超过则需系统换程序段,段选择器为16位,所以系统可管理的虚拟地址空间为64TB :) \"VMM采用Inter 86或更新处理器的分页分段内存管理技术,为系统虚拟机建立了32位的虚拟地址空间,操作系统需要管理的内存空间为4GB。\" 64TB与4GB好象矛盾了呀??? |
|
|
6楼#
发布于:2002-08-20 09:20
4G是实在的,32位地址决定的,至于64T,是把这4G重复算了16k次,OS管理的就4G,而在用户使用上,每个段都是4G可用(当然你用不了那么多了),然后有多个进程,好像每个进程都有4G。
|
|
|
7楼#
发布于:2002-08-20 12:15
操作系统能访问的虚拟地址空间是64TB,它需要管理的空间是4GB,难道能访问的空间与需要管理的空间不一样大吗?
|
|
|
8楼#
发布于:2002-08-20 13:14
64T只是给你的感觉(我觉得根虚拟的概念有点像),实际上管理的就是4G。
0-4m,DOS区 4m-2G,用户进程私有 2G-3G,共享内存区 3-4G,系统内存区 好像是这样的把。 |
|
|
9楼#
发布于:2002-08-20 14:02
64T只是给你的感觉(我觉得根虚拟的概念有点像),实际上管理的就是4G。 这是98的 |
|
10楼#
发布于:2002-08-20 14:43
64T只是给你的感觉(我觉得根虚拟的概念有点像),实际上管理的就是4G。 加入真的给计算机插上64T内存,他能管吗? :P |
|
11楼#
发布于:2002-08-20 14:57
不对!OS是管理64TB,4GB是CPU直接管理的,当程序需要超过4GB时再由OS切换为另4GB,所以程序以4GB为一段。 [编辑 - 8/20/02 by fnight] |
|
|
12楼#
发布于:2002-08-20 15:27
cpu管理是什么意思?4G本来就是虚拟出来的,没有OS支持行吗?
有个问题 一个进程能用4G以上内存吗? |
|
|
13楼#
发布于:2002-08-20 19:50
根据80x86的cpu功能,运行在保护模式下时,每个段选择器不是dos下的段选择器概念,每个段选择器对应一个段描述符,描述指定内存空间区域的属性,在每个段选择器描述符中,内存开始地址和结束地址都是32位的,所以单从cpu的功能来看,不可能超过4g空间; 但是微软为了其他的应用,使用软件的方法,利用其他一套机制AWE来达到64gb的访问空间,但从没听说过64tb; |
|
14楼#
发布于:2002-08-21 09:11
我想应该是这样的对于每个程序来说都可以使用4G的虚拟地址空间
而操作系统可以管理多个(原理上是16K个)使用4G虚拟地址空间的程序,所以又说可以管理64TB的空间,不知对不对?? |
|
|
15楼#
发布于:2002-08-21 09:25
我想差不多这意思吧,98的和2k的具体好像有些不一样,可以查查资料,不误人子弟喽 :D :D
|
|
|
16楼#
发布于:2004-07-26 09:30
谢谢~
|
|
|