我说的是 GNU/Linux,而不是 GNU 或 Linux!
我知道内核是操作系统的核心组件,但我想知道什么定义了“操作系统”(什么可以被视为操作系统)?
关于 GNU 和 Linux 的维基百科页面说:
GNU 是一个广泛的计算机软件集合,可用于构建类 Unix 操作系统
和
Linux 是一个类 Unix 且大部分符合 POSIX 的计算机操作系统 (OS),在自由和开源软件开发和分发的模式下组装。
还有文章:GNU/Linux 命名争议。
那么,请记住,内核作为操作系统的核心组件,是否可以被视为操作系统或可以包含在操作系统中的参与百分比?
我参观过GNU/Linux 常见问题解答,更准确地说与该主题相关:
综上所述,我认为为什么他们急于说 GNU/Linux 是:1)他们在操作系统背后的主要贡献;2)为了引入和维护他们的软件自由哲学。
但其他人喜欢这为Linux操作系统命名争议提供了一个解决方案。其中说:
- Linux是一个操作系统
- Linux/GNU是一个开发系统
并拒绝称操作系统为Linux/GNU。
在上面讨论的两部分中,我很困惑考虑以下任何一个:
- 带有 Linux 内核的 GNU 操作系统
- 带有 GNU 开发工具的 Linux 操作系统
最后我的问题是:什么可以被视为操作系统?
- 以内核为核心的操作系统?或者
- 考虑一下对制作操作系统的贡献/参与?
注意:这个问题可能看起来主要是基于观点的,考虑到它问的是我应该说 GNU/Linux 还是 Linux。但如果可能的话,我认为不应该基于意见,考虑到我想知道“什么可以被视为操作系统”!
对于帖子中提出意见的任何讨论表示抱歉。但是,如果您确定,可以/可能以主要基于意见的方式结束。
答案1
操作系统是什么已经很清楚了。它是位于硬件和用户应用程序之间的软件。内核是其中至关重要的一部分,但不足以履行这一角色。
当谈论 Unix 和类 Unix 操作系统时,通过指定它需要提供的先决条件来更好地定义兼容操作系统的定义:shell 语法和命令、函数 API、一些设备以及其他一般概念和接口。这正是 POSIX 的意义所在。
就您而言,大多数 POSIX API 都是由 GNU 层提供的,因此其作者声称得到认可是合法的。
无论如何,Linux,甚至 GNU/Linux,都不是操作系统,但仍然是构建一些实际操作系统的核心组件,例如 Slackware、Ubuntu、Red Hat、Debian 等,但不是 BSD、Solaris等等,它们构建在不同的内核和 POSIX 层实现上。所有这些产品都可以被视为操作系统。
还要注意的是,Android 是一个重要的基于 Linux 的非 GNU 操作系统。