» 您尚未登录:请 登录 | 注册 | 标签 | 帮助 | 小黑屋 |


发新话题
打印

[电脑] window7系統32位和64位的区别求解

的确烂大街了,连我这种已经搞定SLIC2.1的都申请了一样一份,纯蛋疼……


TOP

我也是  刷好BIOS了还是32bit和64bit各入一套收藏



TOP

[posted by wap, platform: GoogleChrome]

===================
#11 深蓝LWL1123 2009-11-17 11:07

-------------------
原帖由 纵海行舟 于 2009-11-17 10:21 发表
[posted by wap, platform: GoogleChrome]

64位系统跑32位的应用,是慢不是快。
-------------------

依据在哪里?
64位用了几年了,无论哪方面都觉得比32的顺畅

--------------------
自己上网找相关评测,64位的系统跑64位的大型软件,速度优势的确比较明显,但多数程序其实和32位的版本差不多。而64位系统跑32位的程序话,由于使用兼容模式,所以效率比纯粹32系统上要低,游戏方面尤为明显。


TOP

64bit比32bit快是想当然了,多媒体指令集早都不是32bit的了,剩下的应用有多少能发挥64bit的大数据吞吐优势,别跟我说memcpy

64bit的劣势现在倒是很明显:浪费内存浪费硬盘。4g内存多寻址的那部分给64bit指针浪费掉还不够

TOP

[posted by wap, platform: Nokia (E71)]

对64位系统说能用大于4G的真够乐的,看来只是略知表面,正确应该是2G,谢谢。至于为啥,狗狗补课吧!

TOP

64bit的cpu能直接寻址大于4g的空间,没有人会认为寻址空间全是内存的

TOP

反正我都用不着

TOP

引用:
原帖由 纵海行舟 于 2009-11-17 10:21 发表
[posted by wap, platform: GoogleChrome]

64位系统跑32位的应用,是慢不是快。
这话的根据在哪儿

TOP

引用:
原帖由 tanakarena 于 2009-11-17 14:37 发表
[posted by wap, platform: Nokia (E71)]

对64位系统说能用大于4G的真够乐的,看来只是略知表面,正确应该是2G,谢谢。至于为啥,狗狗补课吧!
这也不能一概而论啊,虽然目前win32下的程序都是以2G为标准的,但是能用4g的软件也不是没有啊~~~
何况,64为操作系统能寻址超过4G内存这是确实的啊~~~程序用不用那是另外一说~~~

TOP

[posted by wap, platform: Nokia (E63)]

一句话概括:现阶段要省心还是老实点32位系统吧。

TOP

LZ的问题我也一直想问,原来是这样,那我就给本子申请个32位家庭高级版吧

[ 本帖最后由 Grosso 于 2009-11-18 10:59 编辑 ]

TOP

引用:
原帖由 himula 于 2009-11-18 08:45 发表

这也不能一概而论啊,虽然目前win32下的程序都是以2G为标准的,但是能用4g的软件也不是没有啊~~~
何况,64为操作系统能寻址超过4G内存这是确实的啊~~~程序用不用那是另外一说~~~
用户进程看到的都是独立内存空间,讨论它用多少内存根本没意义。2g的意思是2的32次方总共4g的寻址空间里有2g是用户空间,另2g是内核空间,用户进程不能访问内核空间(被mmu设置了权限)。注意这4g是虚拟地址,当然2g对2g是windows的分法,linux默认是3g用户空间1g内核空间

2g的用户空间是每个进程都独享的,2g内核空间是所有进程所共有的,OK,理论上一个程序可以使用无限大的虚拟内存,只要开足够多的进程即可。用户进程所使用的每个byte内存都是存在于内核空间被映射的物理内存的page上的,由内核统一分配管理,粗俗点说用户进程看到的整个2g用户空间都是浮云

至于寻址超过4g的内存则是另一个概念,这里的内存指的是物理内存。另外物理地址上不可能把2的32次方全部用于映射内存,还有总线和各控制器的寄存器地址需要映射否则cpu无法访问外设,所以32bit的系统不可能用满4g的物理内存

TOP

引用:
原帖由 henvelleng 于 2009-11-21 17:57 发表

用户进程看到的都是独立内存空间,讨论它用多少内存根本没意义。2g的意思是2的32次方总共4g的寻址空间里有2g是用户空间,另2g是内核空间,用户进程不能访问内核空间(被mmu设置了权限)。注意这4g是虚拟地址,当然 ...
那么说到底,64位系统插上超过4g内存,用32位的软件,这软件能用上超过3g的内存吗?

TOP

用64位,不用设虚拟内存了

TOP

引用:
原帖由 日霜衣 于 2009-11-28 21:41 发表

那么说到底,64位系统插上超过4g内存,用32位的软件,这软件能用上超过3g的内存吗?
首先,你对physical memory,virtual memory,address space,process的概念不清,user process无权过问physical memory,只有kernel mode下才能决定使用nonpaged pool还是paged pool

其次,你对“软件”的定义不明确,一个application可以有多个process,每个process有独立的2G user address space(一个32bit的process在windows默认设置下),想要allocate更多的内存只要多开进程就可以了,至于究竟最多可以allocate多少内存,这个问题电脑城的装机小工也知道和系统设置的paging file大小有关,paging file的大小加上available physical memory大致就决定了commit charge的多少(commit limit本身在windows中就是动态的,而且registry作为雷打不动的paged pool也会占掉一定的paging file),也就是系统同时可以分配出多少virtual memory

TOP

发新话题
     
官方公众号及微博