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

IamBillGates 2003-04-26 08:53:58
操作系统是用计算机语言编写的,一般最低层和硬件打交道,在裸机的情况下建立起最低层结构一般都会用低级语言-汇编语言,但汇编语言本身也是要编译、连接的,而这一切本身就需要寄托在操作系统之上(就比如汇编语言编译器就需要在操作系统下运行)。既然连最低级的与硬件直接打交道的汇编语言都要运行在操作系统之上,那么这个操作系统又怎么来编写的呢?
...全文
655 34 打赏 收藏 转发到动态 举报
写回复
用AI写文章
34 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhaobird 2003-08-04
  • 打赏
  • 举报
回复
不管是哪个先,都是由机器语言写成的。
nicememory 2003-08-04
  • 打赏
  • 举报
回复
先有的恐龙蛋,再有的鸡。。。
caulrb 2003-08-04
  • 打赏
  • 举报
回复
哇噻!各位老鸟都好厉害啊!看来我得努力努力再努力啊!向各位老鸟敬礼啊!
freeia 2003-08-04
  • 打赏
  • 举报
回复
楼上说的对.
很多朋友把汇编抬得高高的,没搞清楚硬件的特性.
这个偶深有体会,我们在4位CPU上做实验,写16进制的代码(经过程序转化为2进制代码--机器指令)来操作CPU(相当于是OS了)
Yashmak 2003-08-04
  • 打赏
  • 举报
回复
To BlueSky2008():
这好象并不是一个先有鸡还是先有蛋的问题.


楼主说汇编和底层打交道,
其实应该说是汇编得到的机器码程序和底层打交道

但机器码本来就是一种编程语言,楼主过于抬举了汇编的地位,或者说忽视了汇编的本质

汇编只是一些助记符,
不将其翻译成机器码(手工或是借助编译器),
那只是一堆无意义的符号

并非所有的机器码都必须依靠操作系统才可执行,
那样的话,你的系统有时怎么启动的呢?

如果你愿意,可以这样验证一下我的话:
写一段汇编程序,
注意您只能使用BIOS调用,不能有任何Dos调用,
然后将这一段代码写到软盘引导区中,
使用此软盘启动电脑,看到了吗,你的程序被执行了,
仅仅依靠硬件特性和Bios.

WYlslrt 2003-08-03
  • 打赏
  • 举报
回复
偶不知道。
Rance 2003-08-03
  • 打赏
  • 举报
回复
xal_king 说的好
nicememory 2003-07-21
  • 打赏
  • 举报
回复
tangl_99(Min-Kyeong):
似乎是先有的unix,再有的c
unix:1969
c:1970
BlueSky2008 2003-07-21
  • 打赏
  • 举报
回复
先有鸡还是先有蛋?
kuangjingbo 2003-07-21
  • 打赏
  • 举报
回复
硬件自动生成吧!!!!!!!!!!!!!!
bearfly1980 2003-07-20
  • 打赏
  • 举报
回复
当然先有编译器,先在一台工作机上用交叉编译器将代码编译成目标机的机器代码!!!!!最早的机器是用硬连线搞定的!!!!
ahjoe 2003-07-20
  • 打赏
  • 举报
回复
向克终前辈敬礼!
ahjoe 2003-07-20
  • 打赏
  • 举报
回复
这么简单的问题,不用脑都知道啦。
HashCodeWithJava 2003-07-20
  • 打赏
  • 举报
回复
依照UNIX操作系统和C语言的诞生.
那么应该是先有C语言编译器再有操作系统的.
之所以要开发C语言,就是为了完成UNIX操作系统的编写.

操作系统的Boot Loader是用汇编语言写的.
nicememory 2003-07-20
  • 打赏
  • 举报
回复
这个比先有鸡还是先有蛋好解决一些,年代还不久远,可以考证
xenix 2003-07-20
  • 打赏
  • 举报
回复
不是您为第一台微机编写了附带操作系统功能的basic编译器吗?
怎么还问这样的问题?
Tranquillo 2003-07-19
  • 打赏
  • 举报
回复
我觉得应该是先用机器码实现一些基本的输入输出、引导功能
然后有机器码写成的编译器,这样系统就可以自支持了
输入输出和引导应该算os的底层功能吧
NOV 2003-07-19
  • 打赏
  • 举报
回复
楼上说的没错,正是这样。
phchenjie 2003-07-19
  • 打赏
  • 举报
回复
最早的程序好象是要手工接线,用电路来实现的,体力活啊……
abutter 2003-07-19
  • 打赏
  • 举报
回复
不知道操作系统的严格概念是什么。
早期的计算机是没有操作系统的。
加载更多回复(14)

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧