也许你经常会听到人们把Linux 及BSD
系统混为一谈,甚至于媒体都这么说。当然,事实上这两者确实有很多相似之处,比如它们都是基于Unix
演变而来,而且基本上这两类系统都是由非盈利组织及团队开发,另外,这两个系统都有一个共同的目标——那就是创建最有用、最可靠的操作系统。
那么这两个系统的区别到底在哪里?国外一位名为Jack Wallen的科技Blogger 发表了一篇名为10 differences between Linux and BSD
的文章,从许可证、代码控制、内核 vs 操作系统、UNIX-Like、基本系统、更多来自于源代码、升级、前沿技术、硬件支持及用户群等10方面描述了Linux 与BSD 之间的 10 个不同之处,下面是来自“WOW!Ubuntu”的中文译文
。
你是否经常会听到人们把 Linux 及 BSD
系统混为一谈?是的,我有时会经常听到一些新手,甚至于媒体都这么说。当然,事实上这两者确实有很多相似之处,比如它们都是基于 Unix
演变而来,而且基本上这两类系统都是由非盈利组织及团队开发,另外我更想说的是,这两个系统都有一个共同的目标–那就是创建最有用、最可靠的操作系统。
不过话说回来,这两个系统确实存在着明显的差异,当人们忽略这点的时候,整个 BSD 社区都会感到异常的愤怒,因此我们也可以经常看到 BSD
社区人员或 BSD 用户会对 Linux 不屑一顾。因此,我会尽我所能来帮助我的 BSD 的弟兄们,让更多的人了解到 Linux 与 BSD
的不同之处在哪里。
1. 许可证
正如我们所知道的,Linux 操作系统是基于 GPL 许可证授权下的。该许可证可防止开源软件被转换为封闭源代码软件及确保源代码的可用性。 GPL 许可证的目的就是防止二进制包成为唯一的软件发行源。
而 BSD 许可证的限制则要少得多,它甚至允许二进制包成为唯一的发行源。这就是核心差异,可以这样理解:GPL
许可证让您有权拥有任何你想要使用该软件的方法,但你必须确保提供源代码给下一个使用它的人(包括你对它的改变部分)。而 BSD
许可证并不是要求你必须那么做。( 译者注:这里分别维基百科上对 BSD 及 GPL 许可证的解释)
2. 代码控制
BSD 的代码不是被控制在任何一个人手里,而 Linux 的内核基本上被 Linus Torvalds ( Linux 创始人 )
所控制,BSD 并没有单一的人来说什么可以或什么不可以进入代码。相反,BSD 通过一个核心小组 ” Core Team”
来管理该项目,这个核心小组比非核心小组有更多的发言权来指导 BSD 社区的发展方向,(译者注:而据我所知,FreeBSDD
核心小组的成员会每两年选举一次。)
3. 内核 vs 操作系统
BSD 项目维护的是整个操作系统,而 Linux 则只是主要集中在单一的内核上面。这点确实是需要注意的,虽然这两个系统上都运行着许多相同的软件。
4. UNIX-Like
这里有一个关于 BSD vs Linux 的古老说法:” BSD is what you get when a bunch of UNIX
hackers sit down to try to port a UNIX system to the PC. Linux is what
you get when a bunch of PC hackers sit down and try to write a UNIX
system for the PC “,这里表达了很多。你会发现 BSD 系统更为类似于 UNIX ,而事实上它就是传统 UNIX
的直接衍生品。而 Linux ,则是一个松散的基于 UNIX 衍生品 ( Minix ) 而新创建的一个 OS 。
5. 基本系统
这是一个关于 BSD 与 Linux 之间差异的至关重要的理念。 Linux 的”基本系统” 是并不真正存在的,许多人会说,Linux
的基本系统就是内核,但问题是如果没有任何可用的应用程序的话,那么这个内核是完全没有价值的。而另一方面,BSD 则有一个包括众多工具的基本系统,
甚至 libc
也是基本系统的一部分。因为这些组件都被作为一个基本系统,所以它们都是被一起开发和打包的,许多事实表明这样更能创建出一个更具凝聚力的整体。
6. 更多来自于源代码
由于 BSD 的开发方式(使用 Ports 系统 )
的关系,所以用户们更多的是从源代码来安装程序,而不是预先编译好的二进制包。这是一个优势还是劣势?这取决于不同的用户。如果你更多的想从友好或易用性
方面考虑的话,看到这一点后你也许会有放弃的念头,对于新用户更是如此。但一些新的用户也有想要从源代码编译安装,这可能比较累人。但是,从源码安装也有
一定的优势,比如(库版本控制,通过特殊的包来构建系统等等)。
7. 升级
由于 BSD 的开发方式的原因(见第5项),你可以利用一条指令就可以升级你的基本系统到最新版本 ( Freebsd 下是用
freebsd-update fetch update 命令)。或者你也可以下载整个源代码树,然后通过编译来升级。而在 Linux
中,你也可以通过内置的包管理系统来升级系统。前者 (BSD) 仅更新基本系统,而后者 ( Linux ) 则会升级整个系统。不过请记住,BSD
中升级到最新的基本系统并不意味着所有的附加软件包也将会被更新,而 Linux 升级的时候,所有的软件包都会被升级。这是否意味着 Linux
处理得更好吗?在我看未必。我经常会看到 Linux 在升级时出现严重错误,从而需要重新安装整个系统,但这个现象基本不太可能发生在 BSD
的升级过程中。
8. 前沿技术
基本上你不太可能会看到 BSD 系统运行着任何非常前沿版本的软件。而在 Linux
这一方面,大量的发行版会分发前沿版本的软件包。如果你是一个 ” If it isn’t broken, don’t fix it”
这样观点的持有者的话,你将会是 BSD 的超级粉丝。但是,如果你很新潮,想要体验一切最新的东西,那么你最好尽快迁移到 Linux 。
9. 硬件支持
你会发现,通常情况下 Linux 的硬件支持要比 BSD 更早一些。但这并不是说 BSD 没有像 Linux
那样支持足够多的硬件,它只是意味着在某些情况下 Linux 会在 BSD
之前先支持某些硬件。因此,如果你想要最新的、最好的显卡的话,基本上不用考虑 BSD
了。如果你有一个包含了最新无线芯片的新型笔记本的话,建议你选择 Linux,运气好的话也许它会支持。
10. 用户群
在这里我冒险概括一下计算机用户们,但我想先声明一下每一个事物都有例外。下面我要向你展示我对用户分布方面的概括。
Mac –> Windows –> Linux –> BSD –> UNIX
从左边到右边,分别是”使用该 OS 的人里精通电脑的用户群最少”到”使用该 OS
的人里精通电脑的用户群最多”的过渡。我们可以看到,Linux的被放置在了中间,而 BSD
则更接近于右边。许多人会对此有争论,也有些人可能会感觉被冒犯了。但是,个人认为这是一个对”哪些用户使用哪些系统”相当准确的概括。
其他的不同点?
这个列表并不想表明哪个系统比哪个更好。事实上,BSD 和 Linux 各有着自己的亮点。你认为怎么样?有兴趣的话也请表达出你的观点。
原文地址:10 differences between Linux and BSD
译文链接:http://wowubuntu.com/linux_vs_bsd.html
分享到:
相关推荐
Linux 操作系统和 BSD 系统是两个不同的操作系统,它们之间存在着许多相似之处,但同时也存在着许多区别。本文将从许可证、代码控制、内核vs操作系统、UNIX-Like、基本系统、使用源代码安装等方面,比较 Linux 和 ...
Linux 和 BSD 都是免费的,开源的,类Unix系统。他们甚至使用很多相同的软件。他们看上去简直像是一个操作系统,那么,它们有什么不同吗? 其实,两者之间的不同,远远超出了我们下面提到的这些,尤其是在构建...
### Linux中BSD套接口开发的基础介绍 #### 一、TCP/IP的基础介绍 TCP/IP协议族是一种广泛使用的网络通信协议标准,允许两个运行在同一台电脑或通过网络连接的不同电脑上的程序进行通讯。该协议族专为在不可靠的...
随着时间的推移,Linux逐渐成长为一个庞大且多样化的生态系统,支持多种不同的硬件架构。 #### 三、技术实现层面 - **FreeBSD**: 是一个完整的操作系统,包括内核和用户空间工具,以及一系列服务和支持程序。它...
同样作为自由开源操作系统, BSD和Linux之间到底有什么微妙的区别呢? Matt Rants为自由软件爱好者们整理了自己的资料,以一个BSD使用者的角度来客观地看待二者的关系。Matt从最基础的哲学上的不同出发,用了十一节来...
这本书主要介绍了在BSD系统中设计Rootkits的技术和方法,对于理解和掌握Rootkits的工作原理以及在不同操作系统(如FreeBSD、Linux和Windows)下的应用具有重要意义。 ### 重要知识点 #### 1. **Rootkits概念** - ...
根据提供的文件信息,“BSD Socket Interface Programmer’s Guide Edition 6”主要介绍了Unix/Linux环境下BSD套接字编程的相关知识。下面将详细解析此文档所涉及的重要知识点。 ### 一、BSD Socket 接口概述 ####...
iodine是一个高效的开源HTTP服务器,特别为Linux和BSD操作系统上的Ruby MRI(Matz's Ruby Interpreter)进行了优化。它不仅提供基本的HTTP服务,还支持Websocket协议,这使得iodine能够处理实时通信,如推送通知、...
虽然这个压缩包的标题中提到了`linux`,但请注意,FreeBSD和Linux在内核设计上有许多不同之处。Linux采用微内核架构,而FreeBSD采用单内核设计。此外,它们的许可证也不同,Linux遵循GPL,而FreeBSD遵循BSD许可证。...
"Linux从入门到精通之一Linux概述" Linux概述是什么? Linux是一种操作系统,可以安装在包括服务器、个人电脑、乃至PDA、手机、打印机等各类设备中。Linux起源于1991年,芬兰研究生Linus Torvalds开发了自己的操作...
Linux网络结构的实现借鉴了4.3BSD模型,它支持BSD Sockets接口及其扩展,便于应用程序在不同Unix平台之间移植。Linux网络的实现遵循了网络协议的分层结构,如同TCP/IP模型一样。 首先,Linux的网络层结构如图1所示...
10. **帮助文件**:Linux通常使用man页面作为命令帮助,Solaris也有类似的man命令,但命令的帮助文档可能会有所不同,需要适应每个系统的风格。 这些差异对于系统管理员来说是必须了解的,因为它们会影响到日常的...
在文档中,我们可能会看到关于Minix与Linux之间技术相似性和差异性的详细比较,以及Linus Torvalds如何借鉴Minix的经验教训来改进Linux内核的叙述。 #### 3. Linux内核的发展历程 文档可能包含了Linux内核从最初的...
在 Linux 内核配置中,包含了许多选项,每个选项都对应着不同的功能和特性。接下来,我们将对 Linux 内核配置中的各个选项进行详细的解释和分析。 Code Maturity Level Options 在 Linux 内核配置中,Code ...
值得注意的是,许多这些工具最初是在Berkeley Unix中开发,并随后贡献给了GNU项目,这表明了Linux与BSD之间既有竞争也有深层次的合作。 #### 命令行外壳:bash与csh变体 bash是最常用的Linux命令行外壳,它继承了...
此时需要再次打开EasyBCD,删除之前的NeoGrub条目,并添加一个新的Linux/BSD条目,类型选择GRUB2。 - 如果启动时出现GRUB引导菜单,则需要使用MBR修复工具(如MbrFix.exe)修复MBR,然后按照上述步骤重新配置引导项...
通常,创建描述符的程序与使用该描述符的程序不同。例如,shell 可以为 “ls” 命令的输出创建一个描述符,这将导致列表出现在文件中而非终端上。管道是另一种形式的描述符,已在 UNIX 中使用了一段时间。管道允许...
Linux支持多种锁定机制,如System V锁定和BSD锁定,各有其适用场景和特性。 ### 五、System V IPC与共享内存 #### 知识点11:System V IPC System V IPC(Interprocess Communication)提供了消息队列、信号量和...
书中首先阐述了Linux与Unix之间的渊源关系。Linux作为一种开源的操作系统,其设计哲学深受Unix的影响。两者都采用了分层架构,强调模块化和灵活性。此外,书中还提到了Unix的发展历程以及各种Unix变体(如BSD),...
- **1992-2001年**:AT&T与BSD开发组之间因版权问题产生长达十年的法律纠纷,Unix在大型机上的应用受限,BSD错失发展良机。 ##### Linux家族 - **起源与发展**: - **1990年**:Linus Torvalds基于Minix(mini-...