我知道许多相同的程序可以在两个内核上完美运行。我知道,从历史上看,这两个内核来自不同的起源。我也从哲学上知道它们代表不同的事物。我的问题是,今天,2011 年,是什么让 Unix 内核与 Linux 内核不同,反之亦然?
答案1
不存在名为“Unix 内核”的独特事物。原始 Unix 内核源代码主干有多个后代,它们在不同阶段从它派生出分支,并根据自己的需要分别发展。
如今主流的操作系统是从 System V 源代码创建的:AIX、HPUX、Solaris 或从 BSD 源代码创建的操作系统:OpenBSD、FreeBSD 和 Mac OS/X。
所有这些内核都有其特定的优点和缺点,就像 Linux 和其他“从头开始”的类 Unix 内核(minix、Gnu hurd...)一样。
以下是可以观察到差异的领域的非详尽列表(排名不分先后):
- CPU架构支持
- 司机的可用性
- 支持的文件系统
- 虚拟化能力
- 调度功能(备用调度类、实时……)
- 模块化
- 可观测性
- 可调性
- 可靠性
- 表现
- 可扩展性
- 版本间 API 稳定性
- 开放/闭源,使用许可证
- 安全性(例如:权限粒度)
- 内存管理
答案2
首先,这里不存在名为“Unix内核”的独特事物
- Linux 是开源的,由 Linux 开发者社区开发。
- Unix 由 AT&T 贝尔实验室开发,不是开源的。
- Linux 是免费使用的。
- Unix 是许可操作系统。