`
liuqiang
  • 浏览: 159592 次
  • 性别: Icon_minigender_1
  • 来自: 华东
社区版块
存档分类
最新评论

Linux与BSD之间的10个不同之处

阅读更多

也许你经常会听到人们把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

分享到:
评论
91 楼 linking12 2008-09-07  
自我认为自己在75分左右
四个成熟的商业项目,其中第二个是纯struts+一点点ajax知识(从无到有的项目),第三个是SSH,在里面充当一个修改原来系统的角色(加加需求,改改bug),第四个是用spring配置定时器,写几个存储过程(比较恶心的存储过程)。

想换工作,但是不知道换到哪儿去,不得已还是留在原公司,等待过完年后换。
不知道大概能拿多少?
90 楼 Alrale 2008-09-07  
<p>     我给自己打65分吧.期望6k/m.</p>
<p> </p>
<p>     05年毕业,3年Java Web开发工作经历.</p>
<p>     主流MVC框架都略有接触,Struts2,Spring,Hibernate 使用最多,开发过4个项目.</p>
<p>其中带队2个,项目开发基本上从设计,开发,测试,到项目部署上线全部参与(除了页面美化和整体测试).</p>
<p> </p>
<p>缺憾:公司软件开发规模小.大点的4-5人,小点的1-2人.算是没有接触过大项目.</p>
<p> </p>
<p>由于工作压力太大且工作内容单调,渐渐懒散堕落缺乏激情.</p>
<p>打算休息一阵,焕发活力后再寻找动力.</p>
<p> </p>
<p> </p>
89 楼 风清云淡 2008-09-04  
PS:发现个有趣的现象--经验少的,晒“实在”的;经验多的,晒“虚”的。
88 楼 sxpyrgz 2008-09-04  
我现在70分!!QQ:19511484;
QQ聊
87 楼 上杉t 2008-09-03  
找工作有时候还是要看用人单位对你熟悉的技术是否感兴趣,div+css估计是重视客户体验的公司吧.
个人感觉我工资不高,不过我公司有可以锻炼机会.所以一直没想过要跳.跳不跳无非是钱多不多,要不就是有没有让自己锻炼成长的机会.我认为.
我也晒晒我的情况 呵呵

熟悉spring hibernate struts2 开发架构
对js也比较在行,主要用jquery开发.dwr也经常用
熟悉jbpm工作流引擎,做过二次开发.
其他的freemarker,xfire,struts1,xpath语言等也都熟悉
3年工作经验
5,6个项目经验,主要做基础模块开发,带过团队开发.


86 楼 cc0128 2008-09-03  
<div class='quote_title'>liuqiang 写道</div>
<div class='quote_div'>
<div class='quote_title'>cc0128 写道</div>
<div class='quote_div'>^_^ LZ帮忙分析下我吧。 <br/>目前在北京。 <br/>工作经验1年。 <br/>学历本科在读。 <br/>感觉本人水平在60分以上,70分以下。 <br/>div+css不强。但是javascript自认为还不错~ <br/>SSH只是会用~ <br/>如果跳槽的话工资多少合适? <br/><br/><br/></div>
<p> </p>
<p>劝你还是不要跳槽,真的</p>
<p>要跳还是明年3月再说吧</p>
</div>
<p>哦。但是能给个理由么。。我主要是目前工资很低很低。。</p>
<p> </p>
85 楼 minidayly 2008-09-03  
   我本想今年忍忍,再把基础打打好,英语学学好.明年年初再跳.但目前公司又开始裁人,我只能又开始寻找.
   div+css有了解,说不上很熟悉.javascript还可以,也算不上很熟悉.要靠google和帮助文档联合操作.
   ssh用过,也是在一个不大项目中.说不上什么原理,知道用吧.
   用的最多的是struts+hibernate框架.还加个中间件JMS.
   目前公司用的是自己的框架,struts+jdbc.没使用hibernate. 

   不知道我这种水平属于什么等级
84 楼 chenpingtai2008 2008-09-03  
按楼主的标准,我应该在60-70之间
83 楼 javaxy 2008-09-03  
楼主能不能把各个分数的相应薪水范围也写写啊!
82 楼 liuqiang 2008-09-02  
<div class='quote_title'>cc0128 写道</div>
<div class='quote_div'>^_^ LZ帮忙分析下我吧。 <br/>目前在北京。 <br/>工作经验1年。 <br/>学历本科在读。 <br/>感觉本人水平在60分以上,70分以下。 <br/>div+css不强。但是javascript自认为还不错~ <br/>SSH只是会用~ <br/>如果跳槽的话工资多少合适? <br/><br/><br/></div>
<p> </p>
<p>劝你还是不要跳槽,真的</p>
<p>要跳还是明年3月再说吧</p>
81 楼 cc0128 2008-09-02  
^_^ LZ帮忙分析下我吧。
目前在北京。
工作经验1年。
学历本科在读。
感觉本人水平在60分以上,70分以下。
div+css不强。但是javascript自认为还不错~
SSH只是会用~
如果跳槽的话工资多少合适?


80 楼 pengxiaolin 2008-09-02  
60分 我是一个工作经验才一年多点,要个3.5k左右咯
(*^__^*) 嘻嘻……
79 楼 寂寞秋江 2008-08-31  
谢谢liuqiang兄的分析。

看来,在找工作的时候,不能把对方的技术氛围作为唯一重要的考虑因素,要适当降低一点期望。
78 楼 流浪的面包树 2008-08-31  
一味的找一个好工作!真TMD把自己给束缚了!自己帮人家做网站一个月也不错,搞点网络广告也不错!自己也有时间提高自己,还有点钱用!搞SF,经营自己的网站去.......失败了,大不了去端盘子!
77 楼 javaxy 2008-08-31  
本人65 薪水能要求多少?哈哈
76 楼 六芒星の詛咒 2008-08-31  
liuqiang 写道
教你一招,做几个demo级项目,尽量体现出你所会的,界面做的酷点,截图附上说明,打印出来,面试绝对有用。

面试的时候你可能设计模式,算法很强,但别人还会怀疑你眼高手低或者实战不行,但,你拿出实在的作品,即使你答不出像hashmap和hashtable区别之类的比较2的问题,别人不要你也难。

PS:简历上突出你做的项目,不要扯那么多眼花缭乱的技术,因为你刚毕业,别人不大期望你掌握很深的东西,比如设计模式,懂点MVC ORM就可以了,别人最期望你有一定的动手能力




明白,谢谢大哥你的指点,对快毕业的我来说真的是受益匪浅。
界面做的酷点,这个,我晕了,完全不懂界面设计的,对界面设计极不感兴趣,看来这个东西还得恶补恶补`~~嘿嘿~~
75 楼 liuqiang 2008-08-31  
<p>教你一招,做几个demo级项目,尽量体现出你所会的,界面做的酷点(脸面,让人对你做的东西看着舒服就可以了),截图附上说明,打印出来,面试绝对有用。 <br/><br/>面试的时候你可能设计模式,算法很强,但别人还会怀疑你眼高手低或者实战不行,但,你拿出实在的作品,即使你答不出像hashmap和hashtable区别之类的比较2的问题,别人不要你也难。 <br/><br/>PS:简历上突出你做的项目,不要扯那么多眼花缭乱的技术,因为你刚毕业,别人不大期望你掌握很深的东西,比如设计模式,懂点MVC ORM就可以了,别人最期望你有一定的动手能力 <br/></p>
<p> </p>
74 楼 六芒星の詛咒 2008-08-31  
<div class='quote_title'>liuqiang 写道</div>
<div class='quote_div'>
<div class='quote_title'>六芒星の詛咒 写道</div>
<div class='quote_div'>60分,做过SSH2 + ajax 的demo </div>
<p> </p>
<p>LS找工作应该比较容易,容易给人留下很深的印象,不仅仅是因为你的个性化ID,你说话也蛮个性的,经过我的鉴定,态度还是蛮不错。</p>
<p> </p>
<div class='quote_title'>写道</div>
<div class='quote_div'>本人是专科生,还没有毕业,觉得专科生 + 1年经验 &gt; 本科生, 哈哈, 楼主加油~~~~</div>
<p> </p>
<p>PS:LS的LS是个2楞子,鉴定完毕</p>
<p> </p>
<p> </p>
</div>
<p><br/>谢谢liuqiang的支持,我会继续努力的,嘿嘿,以后还得向你请教请教呢·~~~娃哈哈·~~本想这个大三第一学期(这个学期)找实习单位的,但是基础差得惨不忍睹,正在看think in java,打算学习完“设计模式”再去找工作,嘿嘿,大哥,你觉得还有什么知识得准备的呢~~~</p>
73 楼 xiaoyi829 2008-08-31  
我刚毕业的觉得我在68分左右 希望3000大米。
72 楼 edzhh 2008-08-31  
2+实际开发经验,DIV+CSS,javascript都还可以,期望6-7K.

相关推荐

    linux与BSD不能系统混为一谈.pdf

    Linux 操作系统和 BSD 系统是两个不同的操作系统,它们之间存在着许多相似之处,但同时也存在着许多区别。本文将从许可证、代码控制、内核vs操作系统、UNIX-Like、基本系统、使用源代码安装等方面,比较 Linux 和 ...

    Linux 与 BSD 有什么不同?

    Linux 和 BSD 都是免费的,开源的,类Unix系统。他们甚至使用很多相同的软件。他们看上去简直像是一个操作系统,那么,它们有什么不同吗?  其实,两者之间的不同,远远超出了我们下面提到的这些,尤其是在构建...

    了解BSD和Linux微妙区别

    同样作为自由开源操作系统, BSD和Linux之间到底有什么微妙的区别呢? Matt Rants为自由软件爱好者们整理了自己的资料,以一个BSD使用者的角度来客观地看待二者的关系。Matt从最基础的哲学上的不同出发,用了十一节来...

    cpp-iodine支持PubSub的HTTPWebsocket服务器针对LinuxBSD上的RubyMRI进行了优化

    iodine是一个高效的开源HTTP服务器,特别为Linux和BSD操作系统上的Ruby MRI(Matz's Ruby Interpreter)进行了优化。它不仅提供基本的HTTP服务,还支持Websocket协议,这使得iodine能够处理实时通信,如推送通知、...

    freebsd.tar.gz_BSD_FreeBSD内核源码_freebsd source_freebsd.tar_linux

    虽然这个压缩包的标题中提到了`linux`,但请注意,FreeBSD和Linux在内核设计上有许多不同之处。Linux采用微内核架构,而FreeBSD采用单内核设计。此外,它们的许可证也不同,Linux遵循GPL,而FreeBSD遵循BSD许可证。...

    Linux从入门到精通之一Linux概述[归纳].pdf

    "Linux从入门到精通之一Linux概述" Linux概述是什么? Linux是一种操作系统,可以安装在包括服务器、个人电脑、乃至PDA、手机、打印机等各类设备中。Linux起源于1991年,芬兰研究生Linus Torvalds开发了自己的操作...

    Linux网络结构及实现分析.pdf

    Linux网络结构的实现借鉴了4.3BSD模型,它支持BSD Sockets接口及其扩展,便于应用程序在不同Unix平台之间移植。Linux网络的实现遵循了网络协议的分层结构,如同TCP/IP模型一样。 首先,Linux的网络层结构如图1所示...

    Linux与Solaris命令差别

    10. **帮助文件**:Linux通常使用man页面作为命令帮助,Solaris也有类似的man命令,但命令的帮助文档可能会有所不同,需要适应每个系统的风格。 这些差异对于系统管理员来说是必须了解的,因为它们会影响到日常的...

    linux内核配置详解

    在 Linux 内核配置中,包含了许多选项,每个选项都对应着不同的功能和特性。接下来,我们将对 Linux 内核配置中的各个选项进行详细的解释和分析。 Code Maturity Level Options 在 Linux 内核配置中,Code ...

    一个Linux爱好者的2.6.11内核编译过程

    module-init-tools 是一个 Linux 内核模块管理工具,它提供了一个简单的方式来管理内核模块。在编译 Linux 内核之前,需要安装 module-init-tools。使用以下命令安装 module-init-tools-3.0: # tar -zxvf module-...

    Linux信号机制解析.pdf

    为解决这些问题,后来的系统(如BSD和System V)对信号进行了扩展,但在不同版本之间存在兼容性问题。POSIX标准对信号机制进行了标准化,以确保跨平台的一致性。 在Linux-2.4.20内核中,信号机制遵循了POSIX.4的...

    linux学习课件,ppt

    它不仅是一个内核,更是一个完整的应用环境和程序开发平台,符合POSIX标准,确保在不同UNIX系统之间具有良好的兼容性和可移植性。 【UNIX的历史与流派】 UNIX的发展始于1969年AT&T Bell Labs的PDP-7计算机上,后来...

    Linux常用网络社区资源.pdf

    10. Freshmeat.net,一个专门的技术支持网站,用户可以找到最新的Linux项目和开发信息。 这些社区和资源为Linux用户和开发者提供了丰富的学习资料、技术支持和交流平台,极大地推动了Linux操作系统的普及和系统开发...

    《Linux网络操作系统项目教程(RHEL7.4--CentOS-7.4)(第3版))》习题及答案.doc

    6. POSIX 是便携式操作系统接口的缩写,重点在规范核心与应用程序之间的接口,这是由美国电气与电子工程师学会(IEEE)所发布的一项标准。 7. Linux 的应用可以分为企业应用和个人应用两个方面。 8. Linux 的版本...

    LinuxSocket示例代码

    Socket是一种进程间通信机制,它允许不同主机或同一主机上的不同进程之间通过网络进行数据交换。在Linux系统中,Socket接口是基于BSD Unix的套接字接口,提供了丰富的API供开发者使用。 Linux Socket的主要组成部分...

    linux系统调整分区大小

    linux系统调整分区大小,用惯了传统调整硬盘工具的人可能会认为文件系统和硬盘的分区之间是统一的,实际上他们之间并不是完整的整体(这也就是为什么BSD可以在一个硬盘分区里面制作多个文件系统分区)。想像一下带有...

    Linux的特色及发展展望.pdf

    Linux操作系统是1991年由芬兰的Linus Benedict Torvalds创建的一个开源、免费的UNIX-like操作系统。Linux的独特魅力在于它的特色和不断发展,使其在操作系统领域占据了一席之地。Linux的发展历程表明,从最初只有数...

    基于Linux的嵌入式PPP实现.pdf

    Linux网络系统支持两个实体之间的网络连接和Sockets通信模型。它实现了两种类型的Sockets:BSD Sockets和INET Sockets。BSD Sockets是用INET Sockets实现的。它为不同的通信模型和服务质量提供了两种传输协议,即不...

    基于Linux下IEC61850的研究.pdf

    Linux中有一个网络设备抽象接口,这个接口提供了对所有网络设备的操作方法。由以dev-base为头指针的设备链表来集体管理所有网络设备,设备链表中的每个元素代表一个网络设备接口。该接口由数据结构struct device来...

    基于Linux的TCP_IP网络通信编程.pdf

    Linux 操作系统 中的 TCP/IP 网络通信编程是嵌入式系统开发中的热点技术之一。Linux 作为一个自由软件,具有内核小、效率高、源代码开放等优点,非常适合在嵌入式系统中使用。 TCP/IP 协议是一组协议族,由多种...

Global site tag (gtag.js) - Google Analytics