分页: 1 / 1

我始终想不明白,linux用和普通程序一样的语言,怎么却能独立运行呢?

发表于 : 2008-11-09 20:39
cuihao
太头疼了,同样用gcc编译出来,linux能脱离操作系统运行,而普通程序却不能,他们有什么区别呢?还有,在windows或dos下编译内核会是什么结果呢?如果不行,那最初的linux又是怎么编译出来的呢?

Re: 我始终想不明白,linux用和普通程序一样的语言,怎么却能独立运行呢?

发表于 : 2008-11-09 20:54
冲浪板
好问题

Re: 我始终想不明白,linux用和普通程序一样的语言,怎么却能独立运行呢?

发表于 : 2008-11-09 21:07
zszzd
其实也不算完全脱离吧,还有BIOS呢?BIOS引导工作完成后把系统控制权交给linux内核了。
只要是符合标准,在什么平台中应该都可以编译吧,
最初的linux 应该是在其它系统中编译出来的吧,应该是,猜的。

Re: 我始终想不明白,linux用和普通程序一样的语言,怎么却能独立运行呢?

发表于 : 2008-11-09 22:16
kittycartal
linux有GRUB引导,一般软件就不能脱离操作系统

Re: 我始终想不明白,linux用和普通程序一样的语言,怎么却能独立运行呢?

发表于 : 2008-11-09 22:21
xeoc
可以,引导过去就可以的,hello world都可以...只要你解决掉文件系统等原来操作系统的工作就行了

Re: 我始终想不明白,linux用和普通程序一样的语言,怎么却能独立运行呢?

发表于 : 2008-11-09 22:33
CLOCKWORKHEART
好问题,如果都研究透了,计算机应该就学通了。

Re: 我始终想不明白,linux用和普通程序一样的语言,怎么却能独立运行呢?

发表于 : 2008-11-09 22:54
Terpineol
追上去就是依赖一个个二极管了 :em04

Re: 我始终想不明白,linux用和普通程序一样的语言,怎么却能独立运行呢?

发表于 : 2008-11-09 23:03
冲浪板
电子管

Re: 我始终想不明白,linux用和普通程序一样的语言,怎么却能独立运行呢?

发表于 : 2008-11-09 23:06
xhy
交叉编译

看《自己动手写os》

Re: 我始终想不明白,linux用和普通程序一样的语言,怎么却能独立运行呢?

发表于 : 2008-11-09 23:18
ttyever
linux本身就是个操作系统啊,怎么叫脱离操作系统运行呢?
事实上操作系统本身就是一个程序,只是把很多需要作的事情都提取出来,让上层的软件可以更为灵活而简单的实现而已。

至于编译器是由什么来编译的,就更简单了,电脑刚出现的时候,程序极为简单,是没有编译这个概念的,就是0101的开关而已,后来出现了卡片,再后来才出现了极为简单的编译器。最早出现的编译器已经无法考证了,但是毫无疑问是非常简单的,而且一定是人工进行编译的,运用手中粗糙的编译器去编译更为先进的编译器代码,得到更为先进的编译器,目前的GCC就是这样来的。

Re: 我始终想不明白,linux用和普通程序一样的语言,怎么却能独立运行呢?

发表于 : 2008-11-09 23:54
vmmm
多一点这样的问题就是正路,我一度不想发言了

Re: 我始终想不明白,linux用和普通程序一样的语言,怎么却能独立运行呢?

发表于 : 2008-11-10 9:40
foolegg
关于linux系统和普通程序的问题,其实很简单,因为普通的应用程序,使用了操作系统提供的功能函数,而操作系统,只使用了硬件提供的功能(比如bios)。

所以操作系统只需要硬件环境就可以运行,而应用程序还需要操作系统。

至于最初的linux和gcc

楼主可以想象一下工厂里的自动机器人A

这些机器人A是在另一个工厂里,由更简单一点的自动机器人B制造出来的

而机器人B也是在另一个工厂里,由再简单一点的自动机器人C制造出来的

....

最后,最简单的自动机器人Z,是纯手工打造的@ @

Re: 我始终想不明白,linux用和普通程序一样的语言,怎么却能独立运行呢?

发表于 : 2008-11-12 19:50
qqyy
楼上解释的很清楚了
普通的应用程序,使用了操作系统提供的功能函数