编译器,操作系统,CPU 三者关系
编译器 & 操作系统 & CPU 三者关系?
还有要先有编译器 , 还是要先有操作系统 ?
谢谢
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
编译器 & 操作系统 & CPU 三者关系?
还有要先有编译器 , 还是要先有操作系统 ?
谢谢
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(7)
从历史来看,编译器最先出现(1951年左右),然后才是 CPU,之后是操作系统(60年代中期),。
CPU 出现的晚是因为最开始计算机是一体的,CPU并没有独立出来。
首先得要有CPU,才能谈到各种软件,比如OS和compiler,OS可以用机器语言/汇编语言写,所以编译器和OS之间其实并没有必然关系。但C语言这种语言确实是为了写UNIX诞生出来的。
另外,汇编语转换为机器语言需要使用汇编器,但这种一对一的语言转换工具我们一般不叫它编译器。
CPU 的提出和产生并不在同一时间,正如 CISC 概念的产生和 CISC 不在同一时间一样。
三个关系其实很密切。
现在的 OS 、complier 和以前的 OS、complier 不是同一个概念
所以,很难说哪个先哪个后吧
相互依存
如果是纯粹的数学理论,这里主要是指计算理论/递归论,这些总是在实际东西产生之前产生的。实际上,有很长一段时间CPU上根本没有OS这种东西,也没有人去想OS这种东西。任何东西的提出自然都是在产生之后,实际上,计算理论倒是在这些技术当初诞生之前早几十年就提出来了,而具体到某一项,比如OS,设计OS完全是一个突然的行为,提出概念,设计形成,这个过程中并没有诞生一个叫OS理论的东西,OS相关理论是人们有了经验以后的事情。compiler与OS本是相对独立的东西,最开始的OS是用机器语言写,后来用汇编写的,而汇编器并不像编译器这样麻烦,最早的compiler提出是为了设计编程语言进行科学运算。只是后来,大家开始用高(中)级语言去写OS.
另外,最开始的计算机的所谓“编程”应该指连线的准备工作,本来并没有CPU(基于指令集)这种结构,每进行一个计算都要设计连线,这一般都要花很长时间,甚至几个月,而计算则是相对很快的事情。正因为有了这个麻烦,人们才想到发明一个基于指令集的东西的必要。
[ 本帖最后由 cjaizss 于 2009-7-19 20:36 编辑 ]
楼主问的可能是指计算机发展史。
1)最早的计算机,柜子上几排开关是输入,几排灯是输出。柜子里面的东西,大概全算是CPU吧?尽管当时还没有这名,尽管后来的CPU与它大相径庭。
2)C和UNIX真的是一对冤家。曾看见一篇文章,详细介绍了一个名叫genix的类UNIX系统的移植生成过程。宿主机和目的机,指令系统也不同。先在目的机上做一个C核心,再把宿主机上的系统核源码传过去,在那边做编译。。。C与系统交替生长。类似的,还有UCSD-P系统(一种单用户多任务操作系统)和Pascal语言。