分页: 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
追上去就是依赖一个个二极管了

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
楼上解释的很清楚了
普通的应用程序,使用了操作系统提供的功能函数