用外行人的话来说,Mac OS,Ubuntu,Linux和Unix有什么区别?

时间:2013-01-13 18:34:13

标签: linux macos unix ubuntu operating-system

我知道这部分是关于抽象,但由于我是初学者,这些概念对我来说非常模糊。 Mac OS是否建立在Linux架构之上? Linux如何与Unix / Ubuntu相关?我曾尝试在其他地方进行研究,但很难找到一个非常明确的解释。

4 个答案:

答案 0 :(得分:4)

Unix是最初在20世纪70年代开发的操作系统,Mac OS X基于该操作系统。 Linux是一个内核(与硬件接口的操作系统的一部分),而Ubuntu或Fedora等发行版添加了其余的软件(其中大部分来自GNU项目),使其成为一个完整的操作系统。 Linux和GNU项目最初是为了提供闭源Unix的免费替代品而存在的,所以虽然代码不是来自Unix,但它们非常相似。

答案 1 :(得分:3)

Linux仅是一个操作系统内核,它符合Unix标准。内核是现代操作系统中运行最少的软件组件,用于处理程序的执行,管理硬件,内存,IO等。这不是普通用户直接与之交互,甚至不知道的事情。

Ubuntu是一个使用Linux内核的完整操作系统。完整的操作系统包括程序(Web浏览器,文件浏览器,照片查看器,打印机驱动程序,桌面环境等),并提供完整的用户界面。由于它运行Linux内核,因此符合Unix标准。

Unix是操作系统内核的通用名称,也是最初在20世纪70年代开发的用户空间实用程序和标准。

Mac OS是一个完整的操作系统,运行Darwin内核和FreeBSD用户空间实用程序,并且符合Unix标准。

这意味着用C语言编写的符合POSIX / Single UNIX规范(操作系统标准集)的程序将在Linux,Mac OS,FreeBSD等上以相同的方式编译和工作。注意Windows是奇数操作系统不符合POSIX / Single UNIX,与上述操作系统有很大不同,未必经过重大修改就无法运行该程序。

答案 2 :(得分:0)

所有这些都是"Unix Like"系统。

Ubuntu是Linux。它运行Linux kernelAndroid)也是如此。

Unix今天不存在作为一个具体的操作系统....除了作为原型,原型是Posix(Posix是标准规范,而不是现有的软件),并且现在OpenGroup Unix(这也是一个标准规范)。

旧的ATT Unix代码在法律上几乎输给了已经破产的SCO。

您列出的所有系统都在实施Posix。

因此符合Posix标准的C程序可以轻松地从一个程序移植到另一个程序 - 您可能只需要重新编译它。

答案 3 :(得分:0)

Unix是一种在70年代与C编程语言一起开发的操作系统。 UNIX范例对所开发的每个操作系统产生了深远的影响,即使在Windows中也可以找到它的元素。

已经创建了几个遵循Unix范例的操作系统。 Mac OS的内核基于为PC制作的第一个Unix版本,称为BSD Unix。

Linux起初是一个业余爱好者操作系统,从此成为一个非常专业的操作系统。顾名思义它也遵循Unix范式。这意味着通常在Unix上编译的程序将在Linux和MacOS上编译。

许多开源操作系统都有称为发行版的东西,因此有Linux和BSD的发行版。这些发行版基本上只是一组预先配置好的软件,但是只要你努力就可以从头开始自己组装相同的东西。 Ubuntu就是这样一个发行版。

由于各种类UNIX操作系统,Unix C API已经以Posix名称标准化。大多数操作系统本身都支持Posix。 Microsoft也为Windows提供了Posix层。