LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1360|回复: 9

64位 双核 各种问题

[复制链接]
发表于 2007-5-30 09:37:47 | 显示全部楼层 |阅读模式
硬件发展真是快,
转眼到了"64位" "双核" 的时代,
好些概念搞不懂,
找个高手来解难。

我只知道:
CPU的"64位" "双核"是硬件结构,不能变;
要内核支持双核,只要加入SMP支持;
运行时库有“位数”的区别,CLFS里有讲64-32兼容的库的安装;

那么,内核和应用程序有“位数”的分别吗?怎么区别?
如果我是完全从源代码安装,可以做出纯64位的系统吗?如果可以,和其它的32位系统之间的通信会出问题吗?

不好意思,一下子问了太多的问题,希望知道一两个答案的也要不吝赐教。
其实,最好是哪个高手能把下面的概念系统地解释一下,最好有例子,这样会方便很多。


比如说:
内核编译与两者的关系?
运行时库与两者的关系?
应用程序与两者的关系?

谢谢各位了先。
发表于 2007-5-30 18:20:42 | 显示全部楼层
这个问题技术性比较强,捡自己觉得理解了的回答吧:
    既然在64位机上还可以运行32位系统,显然机器硬件上有兼容32位的功能部分。这样会导致,如果编译成32位的操作系统,那么现有操作系统结构没有办法在上面运行任何64位的的应用程序(这点不像当年的WIN3.X,那时是16位的操作系统,但通过WIN32S可以运行部分32位的应用程序,现在的LINUX 32-64 结构还没相应的扩展组件);而如果编译成64位操作系统,由于有32-64兼容库的支持,可以运行64位及32位的应用程序。

    之所以在一个64位系统上可以同时存在64位和32位两种应用程序,必然是可执行代码上有一个区分的标识,从而使系统能分别用不同的装入程序来加载它们。

    这些都是从概念上的理解,我自己并没有在实际系统上进行过代码分析。
回复 支持 反对

使用道具 举报

发表于 2007-5-30 19:48:02 | 显示全部楼层
可以纯64位也可以是32+64位的合体(multilib),这个完全根据个人的喜好而定,当然纯64位系统下会有一些应用程序有些问题,不过我想逐步都会解决的。
回复 支持 反对

使用道具 举报

发表于 2007-5-30 20:48:17 | 显示全部楼层
其实,纯64,也没啥,实在不行可以装 32 的库。嘿嘿。(gentoo 就这么做的,我觉得挺好,不过就是要小心别覆盖了64的)。。。。
回复 支持 反对

使用道具 举报

发表于 2007-5-30 20:54:30 | 显示全部楼层
恩,纯64和纯32性质是一样的......
回复 支持 反对

使用道具 举报

发表于 2007-5-31 02:29:43 | 显示全部楼层
我在想的是,是不是把32的重新打包一下就好了,把目录改名一下,,不知道是否可以,有机会试试才行。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-31 09:27:36 | 显示全部楼层
Post by youbest
可以纯64位也可以是32+64位的合体(multilib),这个完全根据个人的喜好而定,当然纯64位系统下会有一些应用程序有些问题,不过我想逐步都会解决的。



有一些应用程序有些问题?
这句话是什么意思?
应用程序在设计的时候应用了“32位”的某些特性吗?以致于不能在64位的环境下运行?

这个位数和程序设计有关系吗?我写程序好像从来没有接触到CPU位数的问题呀,是不是孤陋寡闻了?
谢谢
回复 支持 反对

使用道具 举报

发表于 2007-5-31 20:04:48 | 显示全部楼层
一般是因为没有开源,所以没有64 的build。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-6-1 09:11:21 | 显示全部楼层
Post by 晨想
一般是因为没有开源,所以没有64 的build。


是不是可以这样理解:如果所有的软件都是用源代码来安装,那么就可以用一个纯64位或者纯32位的系统,如果有些软件是用的是二进制的版本,那么必须用相应的库?

谢谢
回复 支持 反对

使用道具 举报

发表于 2007-6-1 13:46:59 | 显示全部楼层
基本上。。是这个意思。。:)。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表