0

0

五分钟告诉你Linux与Unix的不同之处到底在哪!

藏色散人

藏色散人

发布时间:2021-09-12 17:01:30

|

9347人浏览过

|

来源于segmentfault

转载

Linux和Unix这两个术语可以互换地用来指同一操作系统。这在很大程度上是由于他们惊人的相似之处,以致很多人不能区分这两者。在Linux vs Unix难题中,存在关于哪个系统做什么的困惑。如果您出生于90年代中期,那么您很可能只与Linux操作系统进行过交互。Linux在数据中心和云计算平台中占据着巨大的市场份额。Linux无处不在,它支撑着智能手机、Android TV和物联网设备等大多数智能设备。

虽然linux和unix确实有很多共同点,尤其是在文件系统层次结构和终端命令方面,但我们不能忽略这两个系统之间存在的差异。在本文中,我们将更详细地了解unix和linux,并详细说明两者之间的差异。

首先,Linux是Unix的克隆。它是一种Unix变体,飞速发展,产生了数百种风格或发行版。它们由一个充满活力的开发人员社区维护。为了更好地理解我们是如何走到今天这一步的,让我们回顾一下Unix的历史。稍后,我们将研究引发Linux创建的一系列事件。

Unix的历史

Unix可以追溯到20世纪60年代末,在AT&T的贝尔实验室,当时由Dennis Ritchie和Ken Thompson领导的一群雄心勃勃的开发人员正在寻求为称为PDP-7的小型计算机开发多用户多任务系统。当时,Unix是Multics操作系统(Multiplexed Information and Computing Service)的派生产品。这是为大型机提供支持的系统。

然而,到了20世纪70年代,这两位主要开发人员开始对UNIX的发展方向感到不安。由于对Multics的范围和方向感到失望,他们决定制定一个不同的路线,从Multics衍生出一个新的操作系统。在被认为是C语言之父的Dennis Ritchie和Go语言的发明者Ken Thompson的共同努力下,诞生了一个更好的系统,即后来的UNIX。UNIX被证明是可移植的,可以被许多硬件体系结构安装和支持。

Unix在70年代和80年代迅速发展,并在学术界流行起来。在采纳并改变Unix发展轨迹的机构中,加利福尼亚大学伯克利分校(University of California in Berkley)的工程师们对Unix进行了进一步的修改和开发,从而产生了一种名为BSD的新系统,即BSD软件开发(Berkeley Software Development)的缩写。BSD附带了一些增强功能和新的软件应用程序,预示着操作系统的一个新时代。与此同时,AT&T制定了自己的路线,并推出了自己的UNIX版本,即System V。后来BSD出现了,并很快取代了System V,从BSD衍生出了NetBSD、OpenBSD和FreeBSD等变种。

Linux的诞生

1990年,Linux之父Linus Torvalds进一步研究了UNIX,并最终提出了一个可行的Linux内核,他称之为Linux。内核为实现带有实用工具和其他应用程序的操作系统打开了大门,远离了专有的UNIX系统。随着时间的推移,Linux在GNU/GPL许可模型下成为开放源码和免费使用的工具。这就为其他发行版腾出了空间,比如带有Linux内核的Slackware,像GCC编译器这样的GNU工具,X windows系统(图形用户界面),以及其他BSD组件。

现在已经有成百上千的Linux发行版。其中最流行和广泛使用的发行版是Ubuntu、Linux Mint、Fedora、Debian、CentOS、Arch Linux和Manjaro。

到目前为止,我们已经了解了UNIX的简短历史,以及通过许多开发人员的共同努力,它是如何产生了Linux这个免费和开源的系统。问题是,UNIX和Linux之间有什么区别?UNIX中有什么是Linux中没有的?

现在让我们换下角度,把焦点放在这两者的区别上:

Linux vs UNIX

现在让我们看看这两种操作系统之间的区别。

Mistral AI
Mistral AI

Mistral AI被称为“欧洲版的OpenAI”,也是目前欧洲最强的 LLM 大模型平台

下载

首先,Unix是一种最初由AT&T贝尔实验室开发的操作系统。Linux及其派生产品就是从Unix派生出来的。Linux代码是由Linux Torvalds在1991年从头开始开发的。

Linux是免费下载和使用的。虽然一些企业发行版(如RHEL)需要付费订阅,但大多数发行版在很大程度上仍然是免费和开源的。这是使它如此受欢迎并在开发人员和软件工程师中广泛使用的一个特性。它主要解释了为什么我们有无数的Linux发行版,每个发行版都有自己独特的方式。另一方面,UNIX在很大程度上是专有的,通常预装在大多数硬件中,macOS就是一个很好的例子。

此外,虽然Linux是开源的,但UNIX不是。您需要它的制造商的许可,即使这样,您也不能查看、修改代码,甚至不能重新发布代码。在Linux中,情况就完全不同了。Linux是免费和开放源码的,它允许用户自由地修改代码和重新发布代码而不受任何限制。

由于它的成本效益,Linux在数据中心、云托管平台,甚至在家庭或办公室的桌面使用上比UNIX更受欢迎。UNIX是专有的,一直是专门为应用程序服务器和internet服务器保留的。随着时间的推移,UNIX的使用量逐渐减少,Linux在云托管平台中占据了领先地位。

就可移植性而言,Linux的可移植性非常好,几乎可以安装在任何硬件平台上。你可以把它安装在intel, AMD处理器的硬件上,甚至是ARM的设备上,比如Raspberry Pi。与之形成鲜明对比的是,UNIX只能在少数几个平台上安装。

支持呢?

Linux构成了一个由活跃的开源爱好者组成的广泛社区。此外,还有大量的论坛为Linux用户提供支持和指导。然而,与Linux不同,UNIX中的支持是商业的。

总结

在本文中,我们将阐明UNIX的历史,以及开发人员如何通过各种努力将Linux开发成一种免费和开放源码的系统。最后,我们讨论了UNIX和Linux之间的差异,并详细说明了其中的细微差别。

Linux在开放源码领域占据着主导地位,它拥有大量可以免费下载和使用的发行版。虽然仍然在特殊平台中使用,但UNIX的使用和需求正在下降。这主要是由于供应商锁定和专有许可。

推荐学习:《linux视频教程

相关专题

更多
C语言变量命名
C语言变量命名

c语言变量名规则是:1、变量名以英文字母开头;2、变量名中的字母是区分大小写的;3、变量名不能是关键字;4、变量名中不能包含空格、标点符号和类型说明符。php中文网还提供c语言变量的相关下载、相关课程等内容,供大家免费下载使用。

389

2023.06.20

c语言入门自学零基础
c语言入门自学零基础

C语言是当代人学习及生活中的必备基础知识,应用十分广泛,本专题为大家c语言入门自学零基础的相关文章,以及相关课程,感兴趣的朋友千万不要错过了。

613

2023.07.25

c语言运算符的优先级顺序
c语言运算符的优先级顺序

c语言运算符的优先级顺序是括号运算符 > 一元运算符 > 算术运算符 > 移位运算符 > 关系运算符 > 位运算符 > 逻辑运算符 > 赋值运算符 > 逗号运算符。本专题为大家提供c语言运算符相关的各种文章、以及下载和课程。

353

2023.08.02

c语言数据结构
c语言数据结构

数据结构是指将数据按照一定的方式组织和存储的方法。它是计算机科学中的重要概念,用来描述和解决实际问题中的数据组织和处理问题。数据结构可以分为线性结构和非线性结构。线性结构包括数组、链表、堆栈和队列等,而非线性结构包括树和图等。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

256

2023.08.09

c语言random函数用法
c语言random函数用法

c语言random函数用法:1、random.random,随机生成(0,1)之间的浮点数;2、random.randint,随机生成在范围之内的整数,两个参数分别表示上限和下限;3、random.randrange,在指定范围内,按指定基数递增的集合中获得一个随机数;4、random.choice,从序列中随机抽选一个数;5、random.shuffle,随机排序。

597

2023.09.05

c语言const用法
c语言const用法

const是关键字,可以用于声明常量、函数参数中的const修饰符、const修饰函数返回值、const修饰指针。详细介绍:1、声明常量,const关键字可用于声明常量,常量的值在程序运行期间不可修改,常量可以是基本数据类型,如整数、浮点数、字符等,也可是自定义的数据类型;2、函数参数中的const修饰符,const关键字可用于函数的参数中,表示该参数在函数内部不可修改等等。

524

2023.09.20

c语言get函数的用法
c语言get函数的用法

get函数是一个用于从输入流中获取字符的函数。可以从键盘、文件或其他输入设备中读取字符,并将其存储在指定的变量中。本文介绍了get函数的用法以及一些相关的注意事项。希望这篇文章能够帮助你更好地理解和使用get函数 。

639

2023.09.20

c数组初始化的方法
c数组初始化的方法

c语言数组初始化的方法有直接赋值法、不完全初始化法、省略数组长度法和二维数组初始化法。详细介绍:1、直接赋值法,这种方法可以直接将数组的值进行初始化;2、不完全初始化法,。这种方法可以在一定程度上节省内存空间;3、省略数组长度法,这种方法可以让编译器自动计算数组的长度;4、二维数组初始化法等等。

599

2023.09.22

高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

42

2026.01.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.3万人学习

Git 教程
Git 教程

共21课时 | 2.7万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号