免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
1234下一页
最近访问板块 发新帖
查看: 7734 | 回复: 37
打印 上一主题 下一主题

问个很傻的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-08-28 10:40 |只看该作者 |倒序浏览
近日被一个问题所困扰:
我的电脑256M内存,CPU32 ,硬盘40g,按道理CPU只能识别4G程序空间,为什么硬盘可以大到40G

论坛徽章:
0
2 [报告]
发表于 2008-08-28 10:44 |只看该作者
这个.......不是吧

32位CPU 4G是说可以寻址的内存地址空间!!因为你的程序是要放到内存里运行的

评分

参与人数 1可用积分 +15 收起 理由
bitmilong + 15 鼓勵 一下

查看全部评分

论坛徽章:
0
3 [报告]
发表于 2008-08-28 10:45 |只看该作者
2的32次方就是4G

论坛徽章:
0
4 [报告]
发表于 2008-08-28 10:51 |只看该作者
比如说进程A和进程B同时驻留在内存内,每个进程的地址空间是2G,这时候cpu还能识别别的进程的地址空间吗、?

论坛徽章:
0
5 [报告]
发表于 2008-08-28 10:55 |只看该作者
CPU只能识别4G程序空间,这个是内存,

硬盘是分扇区,块来管理的,大约是2的32次方块吧,具体不是很清楚

论坛徽章:
0
6 [报告]
发表于 2008-08-28 10:55 |只看该作者
糊涂了,不管怎么样程序编译完成后总会生成一张页表的,比如说操作系统对应的虚拟空间是0x0000,0000-0x1000,0000(256m),程序A分配的虚拟地址空间是0x1000,0001-0xFFFF,FFFF,那就完了啊 别的程序根本就没有虚拟的空间可以分配了

论坛徽章:
0
7 [报告]
发表于 2008-08-28 11:00 |只看该作者

回复 #1 schordinge 的帖子

这个问题同样会在嵌入式Linux中上演,我们的NAND Flash已经超过4GB。

论坛徽章:
0
8 [报告]
发表于 2008-08-28 11:01 |只看该作者
原帖由 schordinge 于 2008-8-28 10:51 发表
比如说进程A和进程B同时驻留在内存内,每个进程的地址空间是2G,这时候cpu还能识别别的进程的地址空间吗、?


虚地址,没有什么关系的,只要单个进程的地址小于4G就是了

[ 本帖最后由 gigabyte 于 2008-8-28 11:11 编辑 ]

论坛徽章:
0
9 [报告]
发表于 2008-08-28 11:02 |只看该作者
LINUX的程序的虚拟空间是4G 不是2G

0-3G是用户态空间
3G-4G是内核态空间

硬盘的大小跟这个没什么关系 分区格式的不同所支持的最大单个文件大小是不一样的 象fat根式的不支持大文件大于4G的

论坛徽章:
0
10 [报告]
发表于 2008-08-28 11:03 |只看该作者
每个程序都有自己的地址空间......每个程序的地址空间都是4G
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP