新警察 发表于 2009-09-09 12:48

我的看法,linux最大进程数是4090,就算每个进程都疯狂使用进程,用到4GB(把分给系统的一半也算上),那么也用不掉全部虚拟内存,只能用掉1/4。
4090*4GB和64TB
还是很困惑啊

vxasm 发表于 2009-09-09 13:37

原帖由 mik 于 2009-9-8 23:18 发表 http://linux.chinaunix.net/bbs/images/common/back.gif
:em06: :em06:

to vxasm:

很明显,你的解释是错误的,张冠李戴,牵强附会!

你这个:4GB×8096×2=64TB 的想法是怎么得来的?

首先:

1、descriptor table 可以容纳、可寻址的 descrptor 数 ...

汗,我前面说“全局描述符表和局部描述符表各一张”是打错字了,我所说的意思是:全局描述符表和局部描述符表最大都可容纳8096个描述符,而每个描述符又可描述4G空间,所以最大虚拟地址空间是:4GB×8096×2=64TB。

另外说明下:

1 mik说的2点都没错;

2 64TB只是理论上386可描述的最大虚拟地址空间,和实际应用挂不上钩,在实际操作系统中也找不到此理论的实践;

新警察 发表于 2009-09-09 13:54

我找到的资料:
Red Hat Enterprise Linux 2.1 支持最大32个swap分区, 单个最大2GB, 总共最大64GB.
我想这里的64GB也就是开启了PAE之后能寻址的内存范围吧。只是不知道有的说为大型应用划分200GB交换分区是为什么啊

[ 本帖最后由 新警察 于 2009-9-9 13:56 编辑 ]

新警察 发表于 2009-09-09 13:59

google到的:

Red Hat Enterprise Linux 3 以及更新的版本支持更大的swap分区, 单个分区的大小将取决于该系统的最大文件大小的限制和swap分区的块设备的限制。Red Hat Enterprise Linux 3 的block设备限制是1TB,所以限制是 1TB.更大的swap空间也是可以实现的,一个很大的swap分区会影响系统的性能, 更好的选择是使用多个磁盘分区存放swap. 可以降低单个磁盘的压力。

mik 发表于 2009-09-09 20:10

原帖由 vxasm 于 2009-9-9 13:37 发表 http://linux.chinaunix.net/bbs/images/common/back.gif


汗,我前面说“全局描述符表和局部描述符表各一张”是打错字了,我所说的意思是:全局描述符表和局部描述符表最大都可容纳8096个描述符,而每个描述符又可描述4G空间,所以最大虚拟地址空间是:4GB×8096× ...
不吐不行
:outu: :outu: :outu:
8096 是怎么来的?

>> 2 64TB只是理论上386可描述的最大虚拟地址空间,和实际应用挂不上钩,在实际操作系统中也找不到此理论的实践;

拜托不要继续误导人家


解释一下什么叫做”最大虚拟地址空间”?

好,退一步来说:按你的说法是:所有可描述的地址空间总和??那也远远不止 64T 这个数量

lixinwei1985@si 发表于 2009-09-11 13:15

LS 真恶心
不关对错至少在vxasm说出的自己观点而且描述清楚
你还不吐不行。。。还远不止64T 你给说个能有多少 你当自己是神阿

mik 发表于 2009-09-12 11:10

原帖由 lixinwei1985@si 于 2009-9-11 13:15 发表 http://linux.chinaunix.net/bbs/images/common/back.gif
LS 真恶心
不关对错至少在vxasm说出的自己观点而且描述清楚
你还不吐不行。。。还远不止64T 你给说个能有多少 你当自己是神阿

你有没有看贴的?

我在17楼已经讲得很清楚,有理有据,议事论事。

他哪里描述清楚了?

不看贴,别乱放P

bluehumor 发表于 2009-09-12 22:20

没怎么细看各位的分析,觉得这个问题好像并没有什么实际意义。


随手翻了两本自己手头上的中文的关于保护模式的书。

杨季文的《80x86汇编语言程序设计教程》有这句“虚拟存储器的地址(逻辑地址)由指示描述符的选择子和段内偏移两部分构成,这样的地址集合成为虚拟地址空间。80386支持的虚拟地址空间可达64T字节。”

周明德主编的《保护方式下的80386及其编程》写到“线性地址空间具有与物理地址空间同样的结构。和二维虚拟地址空间相对比,线性空间与物理空间都是一维空间。虚拟地址空间包含的段数,最大可到16K个,每个段可以有4G字节的容量,从而构成64兆兆(2^46)字节容量的虚拟地址空间。而线性地址空间及物理地址空间的容量都是4G字节。”

顺便说一下,杨的这本书保护模式文字部分基本上是摘自周的这本书上的,而周这本书93年出的,据某人说是翻译的80386总设计师写的《Programming the 80386》

[ 本帖最后由 bluehumor 于 2009-9-12 22:21 编辑 ]

lixinwei1985@si 发表于 2009-09-14 08:55

原帖由 mik 于 2009-9-12 11:10 发表 http://linux.chinaunix.net/bbs/images/common/back.gif


你有没有看贴的?

我在17楼已经讲得很清楚,有理有据,议事论事。

他哪里描述清楚了?

不看贴,别乱放P

至少比你说的清楚多了
vxasm 说的 4GB×8096×2=64TB 要比你的 0xffffffff + 0xffffffff = 8G 更有道理

借用你话
你这个:0xffffffff + 0xffffffff = 8G 的想法是怎么得来的?

mik 发表于 2009-09-14 21:11

原帖由 lixinwei1985@si 于 2009-9-14 08:55 发表 http://linux.chinaunix.net/bbs/images/common/back.gif


至少比你说的清楚多了
vxasm 说的 4GB×8096×2=64TB 要比你的 0xffffffff + 0xffffffff = 8G 更有道理

借用你话
你这个:0xffffffff + 0xffffffff = 8G 的想法是怎么得来的?

你看不懂就算,看多点资料才来为别人辨解

我不屑回答你,你爱咋认为就咋认为。
页: 1 2 [3] 4 5 6
查看完整版本: 请问关于CPU的虚拟地址空间和虚拟内存