谈谈Linux和UNIX的关系

k
kazan
楼主 (未名空间)

五毛说Linux和UNIX没有关系,这是错误的。两者的关系很大,大到任何一篇介绍Linux历史的文章都不可能不提到UNIX。

这些文章告诉你,Linux是一种类Unix操作系统(Unix-like),或者叫Unix clone。
所谓Unix-like,是指用重新写的代码实现UNIX的全部功能。Linux不含原始UNIX的代码。因此从原码角度来说,可以说Linux和UNIX没有关系。

但是从POSIX兼容的角度来说,Linux就是UNIX的一种。

那么为什么Linux不能被称为UNIX呢?因为UNIX是注册商标。只有通过相应POSIX兼容认证并获得证书的OS,才可以使用UNIX这个商标。

这样的认证很昂贵。Linux从来没有做过认证,因此不能被称为UNIX。但是如果有一天
Linus想要把Linux拿去认证并获得UNIX商标的使用权,他不需要把Linux代码改动很多
就可以实现。
l
laodongzhe

小林大概也就写了开头的几千行代码,背后的主要推手是IBM,红帽后来也加入。现在
LINUX的核心应该在IBM手上,其他都是打酱油的。
g
gjstx

器人有所不知,逆向工程的山寨也是山寨产品,和原产品不存在版权关系,也不会去认证。我党山寨出的奔驰绝无可能去找德国公司认证。我党的奔驰也无需认证,本来就是开源的山寨产品,认证还要花冤枉钱,交使用费。山寨就是围剿正版产品的,除非脑子抽抽了,谁尿你的认证?

【 在 kazan (喀山) 的大作中提到: 】
: 五毛说Linux和UNIX没有关系,这是错误的。两者的关系很大,大到任何一篇介绍
Linux
: 历史的文章都不可能不提到UNIX。
: 这些文章告诉你,Linux是一种类Unix操作系统(Unix-like),或者叫Unix clone。: 所谓Unix-like,是指用重新写的代码实现UNIX的全部功能。Linux不含原始UNIX的代码
: 。因此从原码角度来说,可以说Linux和UNIX没有关系。
: 但是从POSIX兼容的角度来说,Linux就是UNIX的一种。
: 那么为什么Linux不能被称为UNIX呢?因为UNIX是注册商标。只有通过相应POSIX兼容认
: 证并获得证书的OS,才可以使用UNIX这个商标。
: 这样的认证很昂贵。Linux从来没有做过认证,因此不能被称为UNIX。但是如果有一天
: Linus想要把Linux拿去认证并获得UNIX商标的使用权,他不需要把Linux代码改动很多
: ...................

l
laodongzhe

中国当年拿到UNIX5的原码,但仅此而已。微软的原码也应该对中国开放,然并卵。
F
FoodGod

Linux是山寨的Minux吧
q
qiing

UNIX的商标和版权现在属于Caldera Systems公司吧。

这家公司以前做过OpenLinux.

C
Commodore64

Linux = Linux Is Not a UniX

Linus写的代码比你读的书都多,git也是他写的

【 在 laodongzhe (组长) 的大作中提到: 】
: 小林大概也就写了开头的几千行代码,背后的主要推手是IBM,红帽后来也加入。现在
: LINUX的核心应该在IBM手上,其他都是打酱油的。

C
CatchGodLine


文盲老将真能出来现眼啊

Linux和UNIX一毛钱关系的都没有

唯一相同的属性就是都是操作系统

【 在 kazan (喀山) 的大作中提到: 】
: 五毛说Linux和UNIX没有关系,这是错误的。两者的关系很大,大到任何一篇介绍
Linux
: 历史的文章都不可能不提到UNIX。
: 这些文章告诉你,Linux是一种类Unix操作系统(Unix-like),或者叫Unix clone。: 所谓Unix-like,是指用重新写的代码实现UNIX的全部功能。Linux不含原始UNIX的代码
: 。因此从原码角度来说,可以说Linux和UNIX没有关系。
: 但是从POSIX兼容的角度来说,Linux就是UNIX的一种。
: 那么为什么Linux不能被称为UNIX呢?因为UNIX是注册商标。只有通过相应POSIX兼容认
: 证并获得证书的OS,才可以使用UNIX这个商标。
: 这样的认证很昂贵。Linux从来没有做过认证,因此不能被称为UNIX。但是如果有一天
: Linus想要把Linux拿去认证并获得UNIX商标的使用权,他不需要把Linux代码改动很多
: ...................

l
localdisk

出来现眼的是你。Linux就一山寨Unix。API用的都是Unix的。
【 在 CatchGodLine (捆仙绳) 的大作中提到: 】
: 文盲老将真能出来现眼啊
: Linux和UNIX一毛钱关系的都没有
: 唯一相同的属性就是都是操作系统
: Linux

l
localdisk

这个是此地无银三百两,也是半开玩笑。要不他干嘛不说Linux is not a Windows?
【 在 Commodore64 (Breadbox) 的大作中提到: 】
: Linux = Linux Is Not a UniX
: Linus写的代码比你读的书都多,git也是他写的

C
CatchGodLine


真能扯淡

Linux是为了能替代和兼容unix 而已

用个屁的UNIX的api

【 在 localdisk (与世无争) 的大作中提到: 】
: 出来现眼的是你。Linux就一山寨Unix。API用的都是Unix的。

c
costco

今天没有来,现在看到一篇白痴文章,真是无知者无畏

k
kazan

是的。只有廊坊五毛才以为linux从内核到shell到应用到GUI全是小林一个人鼓捣出来的

【 在 laodongzhe (组长) 的大作中提到: 】
: 小林大概也就写了开头的几千行代码,背后的主要推手是IBM,红帽后来也加入。现在
: LINUX的核心应该在IBM手上,其他都是打酱油的。

k
kazan

我看到的说法是 Linux = Linus' UNIX

【 在 Commodore64 (Breadbox) 的大作中提到: 】
: Linux = Linux Is Not a UniX
: Linus写的代码比你读的书都多,git也是他写的

k
kazan

关系不止一毛钱。小林写linux的时候,心里想的就是UNIX

【 在 CatchGodLine (捆仙绳) 的大作中提到: 】
: 文盲老将真能出来现眼啊
: Linux和UNIX一毛钱关系的都没有
: 唯一相同的属性就是都是操作系统
: Linux

W
WannaCry

一看这货的id,这不是说阿拉斯加不输于美国的老将么?因为美国到阿拉斯加必须得通过第三国

得得得,与其不知道到哪里百度复制这些碎嘴八卦,不如好好的摆点干货,你就说点系统,说点0day,你百度也行,就怕你百度出也不知道个子丑寅卯

老将谈计算机,天大的笑话。你就会个html做做前端,虽然紧巴巴的,但也可以体体面面不吃狗粮了啊
k
kazan

会看地图了吗?俄罗斯和波兰有没有接壤,搞清楚了吗?

【 在 WannaCry (Wanna Decryptor) 的大作中提到: 】
: 一看这货的id,这不是说阿拉斯加不输于美国的老将么?因为美国到阿拉斯加必须得通
: 过第三国
: 得得得,与其不知道到哪里百度复制这些碎嘴八卦,不如好好的摆点干货,你就说点系
: 统,说点0day,你百度也行,就怕你百度出也不知道个子丑寅卯
: 老将谈计算机,天大的笑话。你就会个html做做前端,虽然紧巴巴的,但也可以体体面
: 面不吃狗粮了啊

W
WannaCry

码农想和linux套近乎,都被嘲笑

你这种八卦业余的也想不知道从哪个网文看的东西也来

我说,这网络就是害老将

老将被抽得七孔流血差点身亡滚落山崖,结果得奇遇,操,发现一本上古失传《百度秘笈》,从此功力大增

W
WannaCry

也不知道你哪来的脸叫人去看地图

你即使不需要面对论坛网友,清明或者中元你也得面对你列祖列宗啊,你不怕他们说你丢失他们脸了?

【 在 kazan (喀山) 的大作中提到: 】
: 会看地图了吗?俄罗斯和波兰有没有接壤,搞清楚了吗?

W
WannaCry

唉。

你说你没点本事,就装自己是个计算机的B干嘛?

这种八卦碎嘴婆,也想在计算机上斗小将?

你个泥腿子乡下来的是不?
k
kazan

要替代和兼容UNIX,就必须做得尽可能像UNIX。这也就是Linux被称为Unix-like OS的
原因

如果一种OS看起来像UNIX,用起来像UNIX,文件系统结构像UNIX,安全性设计也像UNIX,而且100% POSIX兼容,那么它实际上就是UNIX。

【 在 CatchGodLine (捆仙绳) 的大作中提到: 】
: 真能扯淡
: Linux是为了能替代和兼容unix 而已
: 用个屁的UNIX的api

k
kazan

等你会看地图了,书再来和你说话

【 在 WannaCry (Wanna Decryptor) 的大作中提到: 】
: 也不知道你哪来的脸叫人去看地图
: 你即使不需要面对论坛网友,清明或者中元你也得面对你列祖列宗啊,你不怕他们说你
: 丢失他们脸了?

W
WannaCry

最好把你家的地图清明节烧了祭奠列祖列宗

他们应该会惯着你

在论坛对网友说,还是拿起你祖传的家训“脸乃身外之物,生不带来死不带去,不要也罢”

【 在 kazan (喀山) 的大作中提到: 】
: 等你会看地图了,书再来和你说话

k
kazan

UNIX是闭源收费,Linux是开源免费。从这个角度来说,Linux is not a unxi是没有问题的。

【 在 localdisk (与世无争) 的大作中提到: 】
: 这个是此地无银三百两,也是半开玩笑。要不他干嘛不说Linux is not a Windows?

C
CatchGodLine


别扯淡了

汽车都是一个样子

【 在 kazan (喀山) 的大作中提到: 】
: 要替代和兼容UNIX,就必须做得尽可能像UNIX。这也就是Linux被称为Unix-like OS的
: 原因
: 如果一种OS看起来像UNIX,用起来像UNIX,文件系统结构像UNIX,安全性设计也像
UNIX
: ,而且100% POSIX兼容,那么它实际上就是UNIX。

k
kazan

你这个回帖就跟你的头像一样属性:撒泼打滚

【 在 costco (我是一袋天蕉) 的大作中提到: 】
: 今天没有来,现在看到一篇白痴文章,真是无知者无畏

k
kazan

没听说以下这段话就别自称马工:

Linux is what you get when a bunch of PC hackers sit down, and try to write a Unix system for their PC.

FreeBSD is what you get when a bunch of Unix hacker sit down, and try to
port the Unix system to their PC.

【 在 CatchGodLine (捆仙绳) 的大作中提到: 】
: 别扯淡了
: 汽车都是一个样子
: UNIX

F
F250


sun 家的 soloris 系统算 unix 吗

我用过 soloris的服务器

上面的 shell代码, 后来拿到 suse 8 linux 上面可以直接用

k
kazan

Solaris是血统最纯正的unix

至于shell代码,如果都是bash,当然可以通用

【 在 F250 (帝城春欲暮,能饮一杯无) 的大作中提到: 】
: sun 家的 soloris 系统算 unix 吗
: 我用过 soloris的服务器
: 上面的 shell代码, 后来拿到 suse 8 linux 上面可以直接用

F
F250


我还有一个 soloris的鼠标垫,一直不舍得扔

【 在 kazan(喀山) 的大作中提到: 】

: Solaris是血统最纯正的unix

: 至于shell代码,如果都是bash,当然可以通用

l
lexabc

前面不是说了吗,Unix 被 AT&T 注册了,别的公司不能随便用来 unix 这个注册商标。
Unix 最早是open source的。当然互联网出现以前opensource 就是用磁盘拷贝。
Unix 就有了各个分支,bsd, Solaris, netbsd, FreeBSD. Andrew Tenabam 写了个
minix 做教学用的。
Linus 在此基础上写了个kernel.

一堆人争这个有啥意思,看个wiki很难吗?
【 在 F250 (帝城春欲暮,能饮一杯无) 的大作中提到: 】
: sun 家的 soloris 系统算 unix 吗
: 我用过 soloris的服务器
: 上面的 shell代码, 后来拿到 suse 8 linux 上面可以直接用

V
VladPutin

建议把标题改成《给大家讲个笑话:我也懂Linux》,这样就比较靠谱。
k
kazan

又來一个撒泼打滚的

【 在 VladPutin (Trump's Master) 的大作中提到: 】
: 建议把标题改成《给大家讲个笑话:我也懂Linux》,这样就比较靠谱。

x
xiaoliu8964

Linux和UNIX的关系及区别(详解版)

< 是什么让Linux与众不同?类UNIX系统是什么鬼? >

《Linux就该这么学》是一本基于最新Linux系统编写的入门必读书籍,内容面向零基础读者,由浅入深渐进式教学,销量保持国内第一,年销售量预期超过10万本。点此免费在线阅读。

UNIX 与 Linux 之间的关系是一个很有意思的话题。在目前主流的服务器端操作系统中,UNIX 诞生于 20 世纪 60 年代末,Windows 诞生于 20 世纪 80 年代中期,Linux
诞生于 20 世纪 90 年代初,可以说 UNIX 是操作系统中的"老大哥",后来的 Windows 和 Linux 都参考了 UNIX。
现代的 Windows 系统已经朝着“图形界面”的方向发展了,和 UNIX 系统有了巨大的
差异,从表面上甚至看不出两者的关联。
UNIX 的坎坷历史
UNIX 操作系统由肯•汤普森(Ken Thompson)和丹尼斯•里奇(Dennis
Ritchie)发明。它的部分技术来源可追溯到从 1965 年开始的 Multics 工程计划,该计划由贝尔实验室、美国麻省理工学院和通用电气公司联合发起,目标是开发一种交互式的、具有多道程序处理能力的分时操作系统,以取代当时广泛使用的批处理操作系统。
说明:分时操作系统使一台计算机可以同时为多个用户服务,连接计算机的终端用户交互式发出命令,操作系统采用时间片轮转的方式处理用户的服务请求并在终端上显示结果(操作系统将CPU的时间划分成若干个片段,称为时间片)。操作系统以时间片为单
位,轮流为每个终端用户服务,每次服务一个时间片。

可惜,由于 Multics 工程计划所追求的目标太庞大、太复杂,以至于它的开发人员都
不知道要做成什么样子,最终以失败收场。

以肯•汤普森为首的贝尔实验室研究人员吸取了 Multics 工程计划失败的经验教训,于 1969 年实现了一种分时操作系统的雏形,1970 年该系统正式取名为 UNIX。

想一下英文中的前缀 Multi 和 Uni,就明白了 UNIX 的隐意。Multi 是大的意思,大
而且繁;而 Uni 是小的意思,小而且巧。这是 UNIX 开发者的设计初衷,这个理念一
直影响至今。

有意思的是,肯•汤普森当年开发 UNIX 的初衷是运行他编写的一款计算机游戏 Space Travel,这款游戏模拟太阳系天体运动,由玩家驾驶飞船,观赏景色并尝试在各种行星和月亮上登陆。他先后在多个系统上试验,但运行效果不甚理想,于是决定自己开发操作系统,就这样,UNIX 诞生了。

自 1970 年后,UNIX 系统在贝尔实验室内部的程序员之间逐渐流行起来。1971-1972
年,肯•汤普森的同事丹尼斯•里奇发明了传说中的C语言,这是一种适合
编写系统软件的高级语言,它的诞生是 UNIX 系统发展过程中的一个重要里程碑,它宣告了在操作系统的开发中,汇编语言不再是主宰。

到了 1973 年,UNIX 系统的绝大部分源代码都用C语言进行了重写,这为提高 UNIX 系统的可移植性打下了基础(之前操作系统多采用汇编语言,对硬件依赖性强),也为提高系统软件的开发效率创造了条件。可以说,UNIX 系统与C语言是一对孪生兄弟,具有密不可分的关系。

20 世纪 70 年代初,计算机界还有一项伟大的发明——TCP/IP 协议,这是当年美国国防部接手 ARPAnet 后所开发的网络协议。美国国防部把 TCP/IP 协议与 UNIX 系统、C语言捆绑在一起,由 AT&T 发行给美国各个大学非商业的许可证,这为 UNIX 系统、C
语言、TCP/IP 协议的发展拉开了序幕,它们分别在操作系统、编程语言、网络协议这
三个领域影响至今。肯•汤普森和丹尼斯•里奇因在计算机领域做出的杰出贡献,于 1983 年获得了计算机科学的最高奖——图灵奖。


图 1 为肯•汤普森与丹尼斯•里奇的合影,天才都是不修边幅的……

随后出现了各种版本的 UNIX 系统,目前常见的有 Sun Solaris、FreeBSD、IBM AIX、HP-UX 等。

Solaris 和 FreeBSD

我们重点介绍一下 Solaris,它是 UNIX 系统的一个重要分支。Solaris 除可以运行在 SPARC CPU 平台上外,还可以运行在 x86 CPU 平台上。在服务器市场上,Sun 的硬件平台具有高可用性和高可靠性,是市场上处于支配地位的 UNIX 系统。

对于难以接触到 Sun SPARC 架构计算机的用户来说,可以通过使用 Solaris x86 来体验世界知名大厂的商业 UNIX 风采。当然,Solaris x86 也可以用于实际生产应用的服务器,在遵守 Sun 的有关许可条款的情况下,Solaris x86 可以免费用于学习研究或
商业应用。

FreeBSD 源于美国加利福尼亚大学伯克利分校开发的 UNIX 版本,它由来自世界各地的志愿者开发和维护,为不同架构的计算机系统提供了不同程度的支持。FreeBSD 在 BSD 许可协议下发布,允许任何人在保留版权和许可协议信息的前提下随意使用和发行,
并不限制将 FreeBSD 的代码在另一协议下发行,因此商业公司可以自由地将 FreeBSD 代码融入它们的产品中。苹果公司的 OS X 就是基于 FreeBSD 的操作系统。


FreeBSD 与 Linux 的用户群有相当一部分是重合的,二者支持的硬件环境也比较一致
,所采用的软件也比较类似。FreeBSD 的最大特点就是稳定和高效,是作为服务器操作系统的不错选择;但其对硬件的支持没有 Linux 完备,所以并不适合作为桌面系统。

其他 UNIX 版本因应用范围相对有限,在此不做过多介绍。
Linux 的那些往事
Linux 内核最初是由李纳斯•托瓦兹(Linus Torvalds)在赫尔辛基大学读书时
出于个人爱好而编写的,当时他觉得教学用的迷你版 UNIX 操作系统 Minix 太难用了
,于是决定自己开发一个操作系统。第 1 版本于 1991 年 9 月发布,当时仅有 10
000 行代码。


李纳斯•托瓦兹没有保留 Linux 源代码的版权,公开了代码,并邀请他人一起完善 Linux。与 Windows 及其他有专利权的操作系统不同,Linux 开放源代码,任何人
都可以免费使用它。

据估计,现在只有 2% 的 Linux 核心代码是由李纳斯•托瓦兹自己编写的,虽然他仍然拥有 Linux 内核(操作系统的核心部分),并且保留了选择新代码和需要合并
的新方法的最终裁定权。现在大家所使用的 Linux,我更倾向于说是由李纳斯•
托瓦兹和后来陆续加入的众多 Linux 好者共同开发完成的。

李纳斯•托瓦兹无疑是这个世界上最伟大的程序员之一,何况,他还搞出了全世
界最大的程序员交友社区 GitHub (开源代码库及版本控制系统)。

关于 Linux Logo 的由来是一个很有意思的话题,它是一只企鹅。


为什么选择企鹅,而不是选择狮子、老虎或者小白兔?有人说因为李纳斯•托瓦
兹是芬兰人,所以选择企鹅,有人说因为其他动物图案都被用光了,李纳斯•托
瓦兹只好选择企鹅。

我更愿意相信以下说法,企鹅是南极洲的标志性动物,根据国际公约,南极洲为全人类共同所有,不属于世界上的任何国家,可国家都无权将南极洲纳入其版图。Linux 选择企鹅图案作为 Logo,其含义是:开放源代码的 Linux 为全人类共同所有,可公司无权将其私有。

UNIX与Linux的亲密关系

二者的关系,不是大哥和小弟,"UNIX 是 Linux 的父亲"这个说法更怡当。之所以要介绍它们的关系,是因为要告诉读者,在学习的时候,其实 Linux 与 UNIX 有很多的共
通之处,简单地说,如果你已经熟练掌握了 Linux,那么再上手使用 UNIX 会非常容易。

二者也有两个大的区别:

UNIX 系统大多是与硬件配套的,也就是说,大多数 UNIX 系统如 AIX、HP-UX 等是无
法安装在 x86 服务器和个人计算机上的,而 Linux 则可以运行在多种硬件平台上;
UNIX 是商业软件,而 Linux 是开源软件,是免费、公开源代码的。

Linux 受至旷大计算机爱好者的喜爱,主要原因也有两个:

它属于开源软件,用户不用支付可费用就可以获得它和它的源代码,并且可以根据自己的需要对它进行必要的修改,无偿使用,无约束地继续传播;
它具有 UNIX 的全部功能,任何使用 UNIX 操作系统或想要学习 UNIX 操作系统的人都可以从 Linux 中获益。

开源软件是不同于商业软件的一种模式,从字面上理解,就是开放源代码,大家不用担心里面会搞什么猫腻,这会带来软件的革新和安全。

另外,开源其实并不等同于免费,而是一种新的软件盈利模式。目前很多软件都是开源软件,对计算机行业与互联网影响深远。
开源软件本身的模式、概念比较晦涩,这套《Linux教程》旨在指导读者应用 Linux,
大家简要理解即可。

近年来,Linux 已经青出于蓝而胜于蓝,以超常的速度发展,从一个丑小鸭变成了一个拥有庞大用户群的真正优秀的、值得信赖的操作系统。历史的车轮让 Linux 成为 UNIX 最优秀的传承者。
总结一下 Linux 和 UNIX 的关系/区别
Linux 是一个类似 Unix 的操作系统,Unix 要早于 Linux,Linux 的初衷就是要替代 UNIX,并在功能和用户体验上进行优化,所以 Linux 模仿了 UNIX(但并没有抄袭
UNIX 的源码),使得 Linux 在外观和交互上与 UNIX 非常类似。
说模仿可能会被人喷,你也可以说微创新或者改进。
相比于 UNIX,Linux 最大的创新是开源免费,这是它能够蓬勃发展的最重要原因;而
目前的 UNIX 大部分都是收费的,小公司和个人都难以承受。

正是由于 Linux 和 UNIX 有着千丝万缕的联系,所以人们把 Linux 叫做“类UNIX系统”,下节我们将会着重讲解。
UNIX/Linux系统结构
UNIX/Linux 系统可以粗糙地抽象为 3 个层次(所谓粗糙,就是不够细致、精准,但是便于初学者抓住重点理解),如图 3 所示。底层是 UNIX/Linux 操作系统,即系统内
核(Kernel);中间层是 Shell 层,即命令解释层;高层则是应用层。


图 3 UNIX/Linux 系统结掏层次概要
1) 内核层
内核层是 UNIX/Linux 系统的核心和基础,它直接附着在硬件平台之上,控制和管理系统内各种资源(硬件资源和软件资源),有效地组织进程的运行,从而扩展硬件的功能,提高资源的利用效率,为用户提供方便、高效、安全、可靠的应用环境。
2) Shell层
Shell 层是与用户直接交互的界面。用户可以在提示符下输入命令行,由 Shell 解释
执行并输出相应结果或者有关信息,所以我们也把 Shell 称作命令解释器,利用系统
提供的丰富命令可以快捷而简便地完成许多工作。
3) 应用层
应用层提供基于 X Window 协议的图形环境。X Window 协议定义了一个系统所必须具
备的功能(就如同 TCP/IP 是一个协议,定义软件所应具备的功能),可系统能满足此协议及符合 X 协会其他的规范,便可称为 X Window。

现在大多数的 UNIX 系统上(包括 Solaris、HP-UX、AIX 等)都可以运行 CDE (
Common Desktop Environment,通用桌面环境,是运行于 UNIX 的商业桌面环境)的用户界面;而在 Linux 上广泛应用的有 Gnome(见图 4)、KDE 等。


图 4 Gnome图形界面

X Window 与微软的 Windows 图形环境有很大的区别:
UNIX/Linux 系统与 X Window 没有必然捆绑的关系,也就是说,UNIX/Linux 可以安装 X Window,也可以不安装;而微软的 Windows 图形环境与内核捆绑密切。
UNIX/Linux 系统不依赖图形环境,依然可以通过命令行完成 100% 的功能,而且因为
不使用图形环境还会节省大量的系统资源。

作为服务器部署,绝大多数 Linux 并不安装或并不启用图形环境,本教程的讲解也基
本上为 Linux 命令行下的操作。