Linux 与 BSD 有什么不同?

这篇文章是别人写的,并做了一点改动。

汉澳sinox就是基于bsd开发的,因此可以理解为一个bsd分支,但是因为sinox不开源,被排除在外。bsd不是商业软件,是比较彻底的自由开源软件。

汉澳sinox做服务器,作为pc桌面,都表现出色。

Linux 和 BSD 都是免费的,开源的,类Unix系统。他们甚至使用很多相同的软件。他们看上去简直就像是一个操作系统,那么,它们有什么不同吗?

其实,两者之间的不同,远远超出了我们下面提到的这些,尤其是在构建完整操作系统和许可授权的哲学思想上,更是相差甚远。通过这篇短文将可以简单的了解它们之间的不同。

基础

许多人所称的“Linux”实际上不是 Linux。Linux 从技术上说只是 Linux 内核,典型的 Linux 发行版则包括了 Linux 内核和许多软件。这是为什么 Linux 有时被称为 GNU/Linux。事实上,许多在 Linux 上使用的软件同样也在 BSD 上使用。

Linux 和 BSD 都是类 UNIX 操作系统。我们可以通过阅读类 UNIX 操作系统历史发现 Linux 和 BSD 有不同的谱系。Linux 是由 Linus Torvalds 在芬兰上大学的时候开发的。BSD 则代表“Berkeley Software Distribution,伯克利软件套件”,起初源于对加州大学伯克利分校所开发的贝尔实验室UNIX的一系列修改,但是后来被At&T告了10年,BSD被迫改写代码重新出现,不再侵权unix,
它最终发展成一个完整的操作系统,现在有多个不同的BSD分支。

内核 vs. 完整操作系统

严格的说,Linux 是只是一个内核。制作 Linux 发行版所要做的工作就是,汇集那些创建一个完整 Linux 操作系统所需的所有软件,将它组合成一个像 Ubuntu、Mint、Debian、RedHat 或者是 Arch 这样的 Linux 发行版。有许多不同的 Linux 发行版。

与此相反的是,BSD 这个名字则代表其内核和操作系统。例如,FreeBSD 提供了 FreeBSD 内核和 FreeBSD 操作系统。它是作为一个单一的项目维护的。换句话说,如果你想要安装 FreeBSD,就只有一个 FreeBSD 可供你安装。如果你想要安装 Linux,你首先需要在许多 Linux 发行版之间选择。

BSD 包括一个名为 Ports 的系统,它提供了一种安装软件包的方式。Ports 系统包含了软件包的源代码,所以您的计算机如果想安装软件的话,则需要先编译他们。(如果您曾经使用过以前流行的 Gentoo,有点类似那样。)不过,软件包也可以是预安装的二进制形式,以便你不需要花时间和系统资源编译他们就能运行。

许可证

许可证是典型的差异,虽然它不会对大多数人产生影响。Linux 使用 GNU 通用公共许可证,即 GPL。如果你修改了 Linux 内核,并将其分发,你就必须放出您的修改的源代码。

BSD 使用 BSD 许可证。如果你修改了 BSD 内核或发行版,并且发布它,你根本不需要必须发布其源代码。你可以自由地对你的 BSD 代码做任何你想做的事情,你没有义务发布的你修改的源代码,当然你想发布也行。

两者都是开放源码的,但是以不同的方式。人们有时会陷入关于哪种许可证是“更自由”的辩论。GPL 可以帮助用户以确保他们可以拥有 GPL 软件的源代码,并限制开发人员迫使他们开放代码。BSD 许可证并不能确保用户可以拥有源代码,而是给开发人员选择是否公布代码的权利,即使他们想要把它变成一个闭源项目。

BSD分支

以下是通常认可的三个“主流” BSD 操作系统:

FreeBSD: FreeBSD 是最受欢迎的 BSD,针对高性能和易用性。它支持英特尔和 AMD 的32位和64位处理器。

NetBSD: NetBSD 被设计运行在几乎任何架构上,支持更多的体系结构。在他们的主页上的格言是”理所当然,我们运行在 NetBSD 上”。

OpenBSD:OpenBSD 为最大化的安全性设计的 —— 这不仅仅它宣称的功能,在实践中也确实如此。它是为银行和其他重要机构的关键系统设计的。

还有两个其他的重要 BSD 操作系统:

DragonFly BSD: DragonFly BSD 的设计目标是提供一个运行在多线程环境中的操作系统 —— 例如,计算机集群。

Darwin / Mac OS X: Mac OS X 实际上基于 Darwin 操作系统,而 Darwin 系统基于 BSD。它与其他的 BSD 有点不同,虽然底层内核和其他的软件是开源代码(BSD 代码),但操作系统的大部分是闭源的 Mac OS 代码)。苹果在 BSD 基础上开发了 Mac OS X 和 iOS,这样他们就不必写操作系统底层,就像 谷歌在 Linux 基础上开发 android 系统一样。

你为什么会选择 BSD 而不是 Linux?

Linux 显然比 FreeBSD 更受欢迎。例如,Linux 往往会比 FreeBSD 更早提供新硬件的支持。BSD 有一个兼容包可用,使之能像大多数的其他软件一样原生的执行 Linux 二进制程序。

如果您使用过 Linux, FreeBSD 不会让你感觉到太大的不同。如果把 FreeBSD 作为桌面操作系统,你也可以使用相同的 GNOME,KDE 或 Xfce 桌面环境,你也可以在BSD上使用 Linux 上的大多数的其他软件。有一点需要注意,FreeBSD 不会自动安装的图形化桌面,所以你要花相对于 Linux 更多的心思来照顾你的BSD。BSD 更守旧一些。

FreeBSD 的可靠性和稳定性也许更适合作为服务器的操作系统。而厂商也会选择 BSD 而不是 Linux 作为其操作系统,因为这样他们就不必放出他们修改的代码。

如果你是一个 PC 桌面用户,你真的不需要太过在意 BSD。你可能会喜欢 Linux,因为它具有更先进的硬件支持,更容易安装,具有现代操作系统的特点。如果你关注服务器或嵌入式的设备,你可能会更喜欢 FreeBSD。

我们可能会听到一些人说他们在桌面电脑上使用 FreeBSD,你当然也可能是其中之一!但像 Ubuntu 或 Mint 一样的开源操作系统对于多数用户来说更体验良好和更先进些。

Linux 与 BSD 有什么不同?

时间: 2024-10-27 10:42:44

Linux 与 BSD 有什么不同?的相关文章

Linux 与 BSD

1)Linux 与 BSD 有什么不同? http://linux.cn/article-3186-1.html 2)BSD(Unix)家族 http://blog.csdn.net/cradmin/article/details/2286671

回顾UNIX LINUX BSD架构

    1. 计算机层级结构 2. At the heart of every Unix, Linux, and BSD system is the kernel.   内核是所有Unix , Linux,BSD系统的核心 敲击键盘-硬件将内容转给kernel-kernel-输出到显示-如果可执行-调用处理器,内存和其他资源执行任务. 3.繁多的版本     BSD 4.3混合了专属的AT&T Unix代码,继续使用就要求从AT&T获得许可证,源码许可证当时非常地昂贵,几个其他组织对单独的

资料收集:学习 Linux/*BSD/Unix 的 30 个最佳在线文档

文章转自:https://linux.cn/article-10311-1.html 手册页(man)是由系统管理员和 IT 技术开发人员写的,更多的是为了作为参考而不是教你如何使用.手册页对于已经熟悉使用 Linux.Unix 和 BSD 操作系统的人来说是非常有用的.如果你仅仅需要知道某个命令或者某个配置文件的格式那么你可以使用手册页,但是手册页对于 Linux 新手来说并没有太大的帮助.想要通过使用手册页来学习一些新东西不是一个好的选择.这里有将提供 30 个学习 Linux 和 Unix

BSD socket API

伯克利套接字(Berkeley sockets),也称为BSD Socket.伯克利套接字的应用编程接口(API)是采用C语言的进程间通信的库,经常用在计算机网络间的通信. BSD Socket的应用编程接口已经是网络套接字的抽象标准.大多数其他程序语言使用一种相似的编程接口.它最初是由加州伯克利大学为Unix系统开发出来的.所有现代的操作系统都实现了伯克利套接字接口,因为它已经是连接互联网的标准接口了. API函数 这些是伯克利套接字提供的库函数. socket() 创造某种类型的套接字,分配

如何切入 Linux 内核源代码

Makefile不是Make Love 从前在学校,混了四年,没有学到任何东西,每天就是逃课,上网,玩游戏,睡觉.毕业的时候,人家跟我说Makefile我完全不知,但是一说Make Love我就来劲了,现在想来依然觉得丢人. 毫不夸张地说,Kconfig和Makefile是我们浏览内核代码时最为依仗的两个文件.基本上,Linux内核中每一个目录下边都会有一个 Kconfig文件和一个Makefile文件.对于一个希望能够在Linux内核的汪洋代码里看到一丝曙光的人来说,将它们放在怎么重要的地位都

Linux系统组成及初识

1, CPU架构 ====台式机======== x86 x64(amd64) powerpc,ppc简易版的power ====移动端======== 移动设备的CPU是arm系列.arm是一个设计商,不生产.生产商有三星的arm系列,高通的arm系列,华为的arm系列等等. ====工作站======== 早些时候Unix运行的主机的CPU主要是摩托罗拉生产的,m68000/m68k 早些时候SUN工作站的CPU架构是sparc(64位),现在由高通代生产,叫做ultrasparc IBM的

谢烟客---------Linux之文件系统管理创建与挂载

文件系统在哪实现? 内核 内核级文件系统的组成?模块.用户空间中的程序 哪些是内核级文件系统?除了分布式文件系统 模块的定义 中间层定义 文件如何按名存取 查找文件.创建文件.存储文件文件系统.格式化 swap,虚拟内存 日志型文件系统和非日志型文件系统工作原理 超级块 文件按名存取的实现 文件系统实现按名存取将分区后的存储空间划分为数据区和元数据区. 数据区:   存储大小相同的数据块    元数据区:有多个inode块,每个inode块中存储:filename,perm,owner,grou

linux系统usb挂载

本次例程的环境是在FC6下,通过终端操作的. 注意要挂载U盘需要有管理员的权限. 切换成管理员,输入: su root 然后输入管理员密码,进行密码认证: 成功后,先在 /mnt 下建立一个名叫USB的文件夹,文件夹名称随意: mkdir /mnt/USB 然后将U盘插入电脑的USB接口,再输入: fdisk –l 查看一下磁盘分区的变化情况,我们可以在下图中看到多出了一个 /dev/sdb1 的分区,这个就是刚才插入的U盘设备,当然在不同的系统环境显示的U盘设备名称有所不同: 挂载成功后,我们

在Linux x86_64环境下编译memcached

Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态.数据库驱动网站的速度.Memcached基于一个存储键/值对的hashmap.其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信.但是它并不提供冗余(例如,复制其hashmap条目):当某个服务器S停止运行或崩溃了,所有存放在S上的键/值对都将丢失. 说简单一点memcach