免费注册 查看新帖 |

Chinaunix

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

[菜鸟提问]关于操作系统移植 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-01-11 22:31 |只看该作者 |倒序浏览
前几天本人在此发了一个关于操作系统移植的问题,通过看大家的回帖和自己查阅的一些资料,对此算是有了一点点感性的认识,还有一些问题不是很清楚,还望各位大哥多多指点!!!

首先,我们在安装一个操作系统时,安装的应该是二进制文件吧?这些二进制文件是否就是机器码?
如果是,那么我们在不同的机器上使用同一个安装程序,是不是说在不同的机器上能执行相同的机器码呢?

另外想问一下:是不是大多数的编译器,比如我们现在用的gcc、vc、jdk等,都是把原文件编译成机器码啊?

ps:计算机在运行的时候会有一个  取指令(pc)、译码的过程,其中的取指令取得是汇编指令吗?

[ 本帖最后由 RedSkyF 于 2007-1-11 22:34 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2007-01-12 10:21 |只看该作者
1、安装的操作系统是二进制文件。其中的一部分是机器码,有一部分是在用这些已安装好的机器码来进行处理的可执行文件等

2、例如,intel的cpu上机器码就是兼容的。而要在不同体系的cpu上安装,需要首先重新编译内核才行,这就是为什么我们在编译内核时需要选择相应的体系结构

3、gcc、vc是将源文件编译成一个可执行文件,其中有机器码,一般放在text段中,也有其他一些辅助信息
jdk则是将源文件翻译成一种中间字节码,用来在运行时靠java环境进行即时编译的(.net的原理也是这样),从而实现了跨平台的功能。但是,由于需要在运行时即时编译,其运行效率也相应较低

4、取的指令是机器码。

记住,cpu只认识机器码!

论坛徽章:
0
3 [报告]
发表于 2007-01-12 10:40 |只看该作者
原帖由 朱熹之 于 2007-1-12 10:21 发表
1、安装的操作系统是二进制文件。其中的一部分是机器码,有一部分是在用这些已安装好的机器码来进行处理的可执行文件等

2、例如,intel的cpu上机器码就是兼容的。而要在不同体系的cpu上安装,需要首先重新编 ...


谢谢!!

论坛徽章:
0
4 [报告]
发表于 2007-01-12 10:49 |只看该作者
大家一起学习和交流

论坛徽章:
0
5 [报告]
发表于 2007-01-12 10:56 |只看该作者

回复 #4 朱熹之 的帖子

还有一个问题,呵呵,
现在有多少个体系结构?x86、ia32、x86-64、ia64?

论坛徽章:
0
6 [报告]
发表于 2007-01-12 11:05 |只看该作者
这几种应该大体相差不大,还有很多其他的,像什么mips等等,我对其他的研究不够,平时只看过x86-ia32

论坛徽章:
0
7 [报告]
发表于 2007-01-12 11:11 |只看该作者

回复 #6 朱熹之 的帖子

是不是现在amd是采用的x86,intel是采用ia32(都是指32位机)?
他们的指令集差别大吗?

论坛徽章:
0
8 [报告]
发表于 2007-01-12 11:19 |只看该作者
不太清楚,我的cpu是intel的,也就只看过关于intel的东西,应该区别不是很大,毕竟都是差不多的体系

论坛徽章:
0
9 [报告]
发表于 2007-01-12 16:49 |只看该作者
硬件结构体系的不同是版权所限,在低层软件的努力下,均能达到效果兼容。

论坛徽章:
0
10 [报告]
发表于 2007-01-12 18:38 |只看该作者
突然想起来了,在源代码的arch目录下就能看到很多不同的体系了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP