GNU如何与Linux相关?

时间:2012-06-27 02:59:16

标签: linux gnu

我想知道Linux和GNU是如何相互关联的。任何人都可以清楚我的怀疑吗?

谢谢!

2 个答案:

答案 0 :(得分:5)

GNU由Richard Stallman创建,是一组工具,或多或少有助于创建功能齐全的操作系统。 GNU的目标是创建一个完全免费的开源替代UNIX。

Linux由Linus Torvalds创建,与GNU无关。 Linux充当操作系统内核。在创建Linux时,已经创建了许多GNU组件,但GNU缺少内核,因此Linux与GNU组件一起使用来创建完整的操作系统。现在有一个由开发中的GNU团队(GNU Hurd)创建的内核,它可以代替Linux生成一个完全基于GNU的操作系统。但是,GNU Hurd仍然处于开发阶段(已经有20年了),Linux是一个更成熟的内核。

也有可能(例如在Android的情况下)拥有一个没有GNU组件的基于Linux的操作系统。

但通常一个完整的操作系统将包含Linux +许多GNU组件,有时也称为GNU / Linux。

答案 1 :(得分:1)

最初,GNU是一个逐个构建完整的Unix兼容操作系统的项目。

计划是根据规范重写每个小实用程序,通过替换原始实用程序在工作的Unix上测试它。除了内核之外,它的进展非常顺利,因为几个优秀的开发人员无法就绝对最佳设计达成一致。

计划中的HURD内核实际上是一个非常先进的设计,有很多创新,但它似乎不会很快完成。

与此同时,Linus Torvalds正在编写自己的内核,主要是为了自学如何控制Intel 80386处理器的低级方面。起初它只是一个任务切换器,但他很快就实现了大多数旧的系统调用规范,直到他设法运行大部分MINIX(另一个类Unix系统,主要用于教育)环境在新内核之上。

很快,其他人建议使用GNU实用程序而不是MINIX实用程序,并获得了更完整的系统。它工作得很好,以至于大多数GNU开发人员只是采用Linux内核而不是永远等待HURD内核。

生成的操作系统通常称为“Linux”,但Linux确实只是内核。所有GNU实用程序都有很多代码,因此更适合称为GNU / Linux。