Chinaunix

标题: 编译器,操作系统,CPU 三者关系 [打印本页]

作者: shihyu    时间: 2009-07-19 03:34
标题: 编译器,操作系统,CPU 三者关系
编译器 & 操作系统 & CPU    三者关系?


还有要先有编译器 , 还是要先有操作系统 ?


谢谢
作者: abutter    时间: 2009-07-19 10:25
标题: 回复 #1 shihyu 的帖子
从历史来看,编译器最先出现(1951年左右),然后才是 CPU,之后是操作系统(60年代中期),。

CPU 出现的晚是因为最开始计算机是一体的,CPU并没有独立出来。
作者: cjaizss    时间: 2009-07-19 16:31
首先得要有CPU,才能谈到各种软件,比如OS和compiler,OS可以用机器语言/汇编语言写,所以编译器和OS之间其实并没有必然关系。但C语言这种语言确实是为了写UNIX诞生出来的。
另外,汇编语转换为机器语言需要使用汇编器,但这种一对一的语言转换工具我们一般不叫它编译器。
作者: abutter    时间: 2009-07-19 20:05
原帖由 cjaizss 于 2009-7-19 16:31 发表
首先得要有CPU,才能谈到各种软件,比如OS和compiler,OS可以用机器语言/汇编语言写,所以编译器和OS之间其实并没有必然关系。但C语言这种语言确实是为了写UNIX诞生出来的。
另外,汇编语转换为机器语言需要使用 ...


CPU 的提出和产生并不在同一时间,正如 CISC 概念的产生和 CISC 不在同一时间一样。

三个关系其实很密切。
作者: mik    时间: 2009-07-19 20:18
现在的 OS 、complier 和以前的 OS、complier 不是同一个概念
所以,很难说哪个先哪个后吧
作者: unixlinuxsys    时间: 2009-07-19 20:19
相互依存
作者: cjaizss    时间: 2009-07-19 20:33
原帖由 abutter 于 2009-7-19 20:05 发表


CPU 的提出和产生并不在同一时间,正如 CISC 概念的产生和 CISC 不在同一时间一样。

三个关系其实很密切。

如果是纯粹的数学理论,这里主要是指计算理论/递归论,这些总是在实际东西产生之前产生的。实际上,有很长一段时间CPU上根本没有OS这种东西,也没有人去想OS这种东西。任何东西的提出自然都是在产生之后,实际上,计算理论倒是在这些技术当初诞生之前早几十年就提出来了,而具体到某一项,比如OS,设计OS完全是一个突然的行为,提出概念,设计形成,这个过程中并没有诞生一个叫OS理论的东西,OS相关理论是人们有了经验以后的事情。compiler与OS本是相对独立的东西,最开始的OS是用机器语言写,后来用汇编写的,而汇编器并不像编译器这样麻烦,最早的compiler提出是为了设计编程语言进行科学运算。只是后来,大家开始用高(中)级语言去写OS.
另外,最开始的计算机的所谓“编程”应该指连线的准备工作,本来并没有CPU(基于指令集)这种结构,每进行一个计算都要设计连线,这一般都要花很长时间,甚至几个月,而计算则是相对很快的事情。正因为有了这个麻烦,人们才想到发明一个基于指令集的东西的必要。

[ 本帖最后由 cjaizss 于 2009-7-19 20:36 编辑 ]
作者: beepbug    时间: 2009-07-19 21:39
楼主问的可能是指计算机发展史。
1)最早的计算机,柜子上几排开关是输入,几排灯是输出。柜子里面的东西,大概全算是CPU吧?尽管当时还没有这名,尽管后来的CPU与它大相径庭。
2)C和UNIX真的是一对冤家。曾看见一篇文章,详细介绍了一个名叫genix的类UNIX系统的移植生成过程。宿主机和目的机,指令系统也不同。先在目的机上做一个C核心,再把宿主机上的系统核源码传过去,在那边做编译。。。C与系统交替生长。类似的,还有UCSD-P系统(一种单用户多任务操作系统)和Pascal语言。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2