Linux 与 BSD 有什么不同?

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

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

汉澳sinox做server,作为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 的可靠性和稳定性或许更适合作为server的操作系统。而厂商也会选择 BSD 而不是 Linux 作为其操作系统,由于这样他们就不必放出他们改动的代码。

假设你是一个 PC 桌面用户,你真的不须要太过在意 BSD。你可能会喜欢 Linux,由于它具有更先进的硬件支持,更easy安装,具有现代操作系统的特点。假设你关注server或嵌入式的设备,你可能会更喜欢 FreeBSD。

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

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

  1. 【转载】Linux 与 BSD 有什么不同?

    原创:Linux中国 https://linux.cn/article-3186-1.html 原创:LCTT https://linux.cn/article-3186-1.html 本文地址:ht ...

  2. Linux mount BSD disk partition

    Linux mount BSD disk partition 来源 https://www.cnblogs.com/jhcelue/p/6858159.html 假设须要从第二块硬盘复制文件.该硬盘格 ...

  3. Linux 与 BSD

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

  4. Linux与BSD不同

    https://linux.cn/article-3186-1.html https://www.howtogeek.com/190773/htg-explains-whats-the-differe ...

  5. Linux IPC BSD socket编程基础

    头文件 #include<unistd.h> #include <sys/types.h> #include <sys/socket.h> #include< ...

  6. Linux IPC BSD Pipe

    mkfifo() //创建有名管道(FIFO special file),创建完了就像普通文件一样open(),再读写,成功返回0,失败返回-1设errno.VS$man 3 mkfifo #incl ...

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

    文章转自:https://linux.cn/article-10311-1.html 手册页(man)是由系统管理员和 IT 技术开发人员写的,更多的是为了作为参考而不是教你如何使用.手册页对于已经熟 ...

  8. 为什么要从 Linux 迁移到 BSD 4

    为什么要从 Linux 迁移到 BSD 4 许可证问题 Linux GPL 许可证对开发者的要求比较严格,它是一种开源的反模式,因为它强制发布所有修改过的源代码,并且阻止其他开源项目的集成,例如 GP ...

  9. 探索 Linux 系统的启动过程

    引言 之所以想到写这些东西,那是因为我确实想让大家也和我一样,把 Linux 桌面系统打造成真真正正日常使用的工具,而不是安装之后试用几把再删掉.我是真的在日常生活和工作中都使用 Linux,比如在 ...

随机推荐

  1. String[]和ArrayList和LinkedList区别

    String[]和ArrayList和LinkedList区别 参考文档如下: http://www.blogjava.net/flysky19/articles/92775.html http:// ...

  2. maven第四章背景案例

    4.3简要设计 4.3.1接口设计 4.3.2模块结构 思想 先定义出核心接口,一个接口可以认为是一个功能,根据接口划分功能 设计模式就是一种思想,外观模式和代理模式,适配者模式三者的区别 http: ...

  3. php的mq客户端获取队列方法改造

    获取mq中消息然后处理失败重试机制: 下面的代码是php连接mq客户端的获取queue队列中的消息代码: public function createDurableSubscriber($queue, ...

  4. jQuery验证框架 .

          目录视图 摘要视图 订阅 “程序人生”中国软件开发者职业生涯调查     CSDN社区“三八节”特别活动      开发者职业生涯调查之未来 jQuery验证框架 分类: JQuery 2 ...

  5. FineUI页面级别的参数配置

    Theme: 控件主题,目前支持三种主题风格(blue/gray/access,默认值:blue) Language: 控件语言(en/zh_CN/zh_TW/...,默认值:zh_CN) FormM ...

  6. Android Studio 打开弹出警告框

    1.Android Studio打开后,自己的项目没有打开,就弹出了警告框,重启之后依然弹出警告框: 警告框内容:"Cannot load project: java.lang.Illega ...

  7. goldengate单向复制文档

    1:实验环境 2:实验步骤 --下面的2.1-2.2步骤,都需要在源端和目标端分别执行. 2.1:准备工作 2.1.1 建表空间 create tablespace ogg datafile '/u0 ...

  8. iOS9.3 Could not find Developer Disk Image 真机调试错误解决办法

    昨天手机系统升级9.3,到了公司真机测试的时候发现Xcode(7.2.1)报错:Could not find Developer Disk Image , 这是因为我的Xcode7.2中还没有支持9. ...

  9. UIWebView加载不了页面, 但在电脑的浏览器上可以打开

    经排查, 系因为URL中包含有中文, 所以无法加载页面, 解决方法如下: 将URL进行转码 NSString *urlStr =[[NSString stringWithFormat:@"h ...

  10. icon font

    简而言之,就是: 使用 特殊字符 + (使用@font-face)自定义的字体 来代替图片文件显示图标. 关于@font-face, 参考来自W3CPLUS 的详细解释: css3 @font-fac ...