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

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
头像
cuihao
帖子: 4793
注册时间: 2008-07-24 11:33
来自: 郑州
联系:

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

#1

帖子 cuihao » 2008-11-09 20:39

太头疼了,同样用gcc编译出来,linux能脱离操作系统运行,而普通程序却不能,他们有什么区别呢?还有,在windows或dos下编译内核会是什么结果呢?如果不行,那最初的linux又是怎么编译出来的呢?
求人不如求它仨: 天蓝的Wiki 屎黄的Wiki 绿
Site: CUIHAO.TK    Twitter: @cuihaoleo
Machine: Athlon64 X2 5200+ / 2x2GB DDR2-800 / GeForce GTS 450
AD: ~まだ見ぬ誰かの笑顔のために~
头像
冲浪板
论坛版主
帖子: 7513
注册时间: 2007-05-06 8:19

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

#2

帖子 冲浪板 » 2008-11-09 20:54

好问题
头像
zszzd
帖子: 156
注册时间: 2007-12-12 22:54

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

#3

帖子 zszzd » 2008-11-09 21:07

其实也不算完全脱离吧,还有BIOS呢?BIOS引导工作完成后把系统控制权交给linux内核了。
只要是符合标准,在什么平台中应该都可以编译吧,
最初的linux 应该是在其它系统中编译出来的吧,应该是,猜的。
头像
kittycartal
帖子: 100
注册时间: 2008-11-09 17:00

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

#4

帖子 kittycartal » 2008-11-09 22:16

linux有GRUB引导,一般软件就不能脱离操作系统
我也用上传说中的ubuntu啦~~
xeoc
帖子: 1994
注册时间: 2007-05-06 10:12

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

#5

帖子 xeoc » 2008-11-09 22:21

可以,引导过去就可以的,hello world都可以...只要你解决掉文件系统等原来操作系统的工作就行了
头像
CLOCKWORKHEART
帖子: 635
注册时间: 2007-11-05 19:26

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

#6

帖子 CLOCKWORKHEART » 2008-11-09 22:33

好问题,如果都研究透了,计算机应该就学通了。
Everything that has a beginning has an end.
头像
Terpineol
帖子: 1230
注册时间: 2007-12-09 14:35

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

#7

帖子 Terpineol » 2008-11-09 22:54

追上去就是依赖一个个二极管了 :em04
Linux is for human being,love is for human making
头像
冲浪板
论坛版主
帖子: 7513
注册时间: 2007-05-06 8:19

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

#8

帖子 冲浪板 » 2008-11-09 23:03

电子管
头像
xhy
帖子: 3916
注册时间: 2005-12-28 1:16
系统: Ubuntu 12.10 X64
来自: 火星

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

#9

帖子 xhy » 2008-11-09 23:06

交叉编译

看《自己动手写os》
目前负债150多万
ttyever
帖子: 139
注册时间: 2007-10-06 0:56

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

#10

帖子 ttyever » 2008-11-09 23:18

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

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

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

#11

帖子 vmmm » 2008-11-09 23:54

多一点这样的问题就是正路,我一度不想发言了
心中自是的,便是愚昧人
头像
foolegg
帖子: 249
注册时间: 2007-12-01 14:56

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

#12

帖子 foolegg » 2008-11-10 9:40

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

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

至于最初的linux和gcc

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

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

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

....

最后,最简单的自动机器人Z,是纯手工打造的@ @
qqyy
帖子: 10
注册时间: 2006-12-19 13:11

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

#13

帖子 qqyy » 2008-11-12 19:50

楼上解释的很清楚了
普通的应用程序,使用了操作系统提供的功能函数
回复