首先说是不是?再说为什么?
一. Linux是基于UNIX吗?
Linux是类UNIX系统,那什么是类UNIX系统呢?
类UNIX系统是指继承UNIX的设计风格演变出来的系统。
类UNIX系统就是长得像UNIX、但实际不是UNIX的系统;
其实本质上就是借鉴了UNIX系统的界面、特性(多用户、多任务等),但是没有直接抄人家的源代码,毕竟人家是有版权限制的,因此更多是思想理念上的传承。
BSD、MINIX系统,以及Linux系统都属于类UNIX系统。由于UNIX标准认定价格昂贵,所以目前唯一获得UNIX标准认定的为苹果的MACOS系统。
Linux系统和UNIX系统主要有以下区别:
- 开源性:UNIX是闭源的,Linux是开源的。
- 跨平台性:UNIX系统大多是与硬件配套的,只能在工作站或小型机上运行,且价格昂贵;而Linux则可运行在多种硬件平台上。
尽管经常被相提并论,但Linux和Unix其实没有亲缘关系。或者说Linux和Unix的差异在操作系统的某些细节实现上可能比Linux和windows的差距都大。
Linux的开源的自由软件,Unix是商业软件。
从系谱图上看,Linux的分支和最右边的minx其实是单独割裂出来的,没有任何联系。
二. 为什么UNIX收费
在《UNIX传奇》一书中,提及了UNIX系统的高光时刻,上映于1993年的科幻冒险电影《侏罗纪公园》相信不少人肯定对这部老电影仍旧印象深刻;其中一个名场面,哈蒙德教授的孙女就是操作UNIX系统,关闭了闸门,从而拯救了一行人。
这个故事告诉了我们,多学一门操作系统,在关键时刻说不定能够保命。
UNIX是由不少使用汇编语言完成的,汇编语言用来编程不够强大,也不具备很好的可移植性,于是1971年丹尼斯·里奇在B语言的基础上开发出了C语言,1973年UNIX也用C语言进行了重写,随后发布了4、5、6几个版本的UNIX。
此后,UNIX被政府机关、研究机构、企业、大学纷纷注意,并逐步流行;随着UNIX系统的广泛流行,C语言也成为了最受欢迎的语言之一,一直延续至今。
一开始AT&T公司也没有把UNIX当回事,毕竟不是正式的项目,况且在操作系统上(multics)还吃过大亏,也就没想拿它卖钱,因此被免费提供给大学使用,甚至直接给V7版本的源码以做研究。
因此在后面的10年,UNIX在各个学术机构得到广泛应用,甚至许多机构在此源码基础上加以改进,其中最著名的变种之一是由加州大学柏克莱分校开发的BSD产品(Berkeley Software Distribution),在此基础上又诞生了三条分支:FreeBSD、OpenBSD和NetBSD,就连苹果电脑的内核Darwin所使用的NextSETP也是BSD的衍生版本。
AT&T公司一看,哟呵,UNIX居然这么火,于是意识到了UNIX巨大的商业价值,不再将UNIX源码授权给学术机构,并对之前的UNIX及其变种声明了版权,后面引发了各种旷日持久的版权纠纷,这是UNIX的后话。
三. 从MINIX到Linux
时间来到了80年代,随着AT&T公司闭源UNIX系统,在学校里给学生用的操作系统很少;
1987年当时在荷兰阿姆斯特丹Vrije大学当教授的美国人安迪·塔内鲍姆(AndrewS.Tanenbaum)为了让学生更好的理解操作系统的原理,就仿照BSD的源代码,编写了一个类UNIX系统,取名为MINIX,意为迷你的UNIX,并且开放全部代码给大学教学和研究用;
既然是MINI,它的代码体量也是比较小的,全部代码共约12000行,而且只是一个教学工具,没有什么实际的应用价值。
1991年,我们的主人公Linus Torvalds(简称Linus)在芬兰赫尔辛基大学期间,开始对UNIX产生了浓厚的兴趣;
在校期间,由于Linus经常要用他的终端仿真器(Terminal Emulator)去访问大学主机上的新闻组和邮件,他对MINIX只允许在教育上使用很不满,同时也为了方便读写和下载文件,他开始写属于自己的类UNIX系统;
在一个暑假没日没夜的开发中,最终开发出了Linux的第一个内核(0.02版),并取名Linus’ Minix,后来改名为Linux。
1991年10月Linus在Minix新闻组发布消息,对外宣布Linux内核的诞生,并公开了内核源码;公开后Linux因为结构清晰、功能简洁,一经发布立即收受好评;后来在很多热心支持者的帮助下,经过多次版本升级迭代,终于在1994年3月,Linux1.0正式发布。
如同当初汤普森和里奇没有想到UNIX系统的成功一样,Linus也没有想到自己花了一个暑假做着玩的内核系统,竟然能以商品化操作系统的形态,运行在今天全球数十亿台设备上。
四. Linux免费?
我们常说的Linux系统,其实更多说的是广义上Linux众多的发行版,因为你并不会直接去操作系统的内核。
发行版是指一些组织或厂商将Linux的内核与各种软件、软件包管理器等封装起来,并提供系统安装界面、系统配置和桌面环境等,构成了Linux的发行版。
Linux的发行版本有很多,其大体可以分为两类:
- 商业公司维护的商业版本,以著名的Red Hat为代表;
- 社区组织维护的免费版本,以Debian、Ubuntu为代表。
有些同学可能会开始疑惑了,上面不是说Linux是开源的吗?为什么还会有商业版?是的,Linux内核是开源的,但是开源不等于免费,商业版收费的是它的商业服务和支持。
比如Red Hat虽然使用的都是开源软件,但是付出了很多人工将成千上万的开源软件整合成一个系统,并且保证软件间的兼容性稳定性,提供后续的支持、维护以及升级服务,因此它是收费的;
如果你氪金氪了足够多,比如购买他们的高级服务,你甚至可以让Red Hat的工程师现场过来给你解决问题。
很多人可能还是觉得开源收费不太能理解,但其实如果你去尝试编译多个开源软件,或者在操作系统时遇到一些莫名其妙的错误,然后你花费几天找遍github、stackoverflow和Google也没有找到问题而苦恼时,你会觉得如果有人能够帮你解决问题是一件非常高兴的事。
更何况企业项目在运行时往往都会追求快速上线,计时按照天甚至小时,这个时候快速解决问题就显得非常的重要;
这点费用对于企业来说是非常划算的。
这件事告诉了我们,天下没有免费的午餐,免费往往是最贵的。