`
liuqiang
  • 浏览: 161190 次
  • 性别: 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

分享到:
评论
11 楼 风清云淡 2008-08-28  
1.怎么没有包括设计能力,这个还是很能提升待遇的
2.怎么没有质量意识、编码风格等,这个可是区分能力的关键考察点,也是和同事合作的基础!
通过上机操作、笔试考题加面试,这些都是能够测试出来的。

好像LZ列的都是语言加框架,比较硬性的东西。但软件要命的就是这个“软”字,感觉有点偏颇。


10 楼 zhuixinjian 2008-08-27  
自我打分70
2年的 银行方面的经验过,JS CSS DIV 都会用,但不敢说写的漂亮,SSH 基本没用过,但是自己学,我估计1周左右能学会SSH来干活,最近几个月带了一个项目,有一点点TL经验,oracle db2 基本操作都没问题,单点登录看过、系统集成参与过(中行07年,国开行07年的大蓝图的系统集成)

会SSH就能打到70分。呵呵,及格挺容易
9 楼 刑天战士 2008-08-27  
liuqiang 写道



div+css布局基本知识,不会,没关系,javascript还算可以,说明你用js可以熟练操作dom,基本div+css上手应该很快



js熟练操作dom就算熟悉js了?天天操作dom都不敢说自己懂js地飘过……我以为能用functional programming写出漂亮代码的才算……
8 楼 刑天战士 2008-08-27  
liuqiang 写道

刑天战士 写道

liuqiang 写道


刑天战士 写道
会rails优化,hack过无数rails plugin,英语熟练(喜欢和老板吵架),外企Team Leader2年经验,总喜欢看源代码而不喜欢看文档,懂点系统架构,不会div+css布局,ssh熟练,2年工作经验的。帝都,啥月薪?



你这个……,80+,以我看,7-8k+没问题.


PS:最好自己给个期望薪水,干脆点,一般HR不会主动给你抛薪水底线的




加上熟悉javascript和熟悉shell script的话,再加一年经验是多少?


外企Team Leader2年经验,我就假定你熟悉javascript和熟悉shell script或者会很快上手,工作经验是随便加的啊?到底是2年还是3年?你看你,不诚心了吧?[img]../../../../../../images/smiles/icon_biggrin.gif" alt="[/img]

个人觉得想突破7-8k在一般的软件企业是比较难滴,好了,让道给想找工作的朋友:)



好吧,我只是试试看我值多少钱,上个月俩猎头找我,差不多就是这个价钱。
7 楼 liuqiang 2008-08-27  
<div class='quote_title'>yanshiyi 写道</div>
<div class='quote_div'>70分的人:会用div+css布局,熟练struts的使用,会用spring的事务,用过hibernate的缓存机制,会Oracle的基本操作,确实做过真实的项目,当然不必是商业项目,可以是自己做的,但确保完整性和一定的规模,不只是登录和注册。 <br/><br/>div+css布局,不会,javascript还算可以;spring事务,不会;hibernate缓存,不会;oracle基本操作,不知道什么叫基本操作;商业项目,不知道什么叫商业项目,但我2年做了8个项目了,有一个人做的,也有30多个人的,有过自己的完整模块,也有连注释都不写的网站。平时喜欢学一些乱七八糟的技术,做事还算认真负责,能打几分。</div>
<p> </p>
<p>个人觉得 , 不知道什么叫商业项目这条比较要命,商业项目就是要去赚钱的项目,不是培训班或者学校的课设,练练手的项目,明白?</p>
<p> </p>
<p>不知道什么叫Oracle基本操作?增删改查,明白?</p>
<p> </p>
<p>div+css布局基本知识,不会,没关系,javascript还算可以,说明你用js可以熟练操作dom,基本div+css上手应该很快</p>
<p> </p>
<p>spring事务,不会;hibernate缓存,不会,这些都不要紧,关键是你会什么?php?asp?……</p>
<p> </p>
<p>我也不大好打分啦,给刑天战士打分是举个例子,像刑天战士我妄自打个80(或许不止,如果隐藏实力的话),大家可以对号入座啦:)</p>
<p> </p>
<p> </p>
<p>PS:大家可以自己打下分,说说期望值,或许猎头就在等着你:)</p>
6 楼 liuqiang 2008-08-27  
<div class='quote_title'>刑天战士 写道</div>
<div class='quote_div'>
<div class='quote_title'>liuqiang 写道</div>
<div class='quote_div'><br/>
<div class='quote_title'>刑天战士 写道</div>
<div class='quote_div'>会rails优化,hack过无数rails plugin,英语熟练(喜欢和老板吵架),外企Team Leader2年经验,总喜欢看源代码而不喜欢看文档,懂点系统架构,不会div+css布局,ssh熟练,2年工作经验的。帝都,啥月薪?</div>
<br/><br/>你这个……,80+,以我看,7-8k+没问题. <br/><br/><br/>PS:最好自己给个期望薪水,干脆点,一般HR不会主动给你抛薪水底线的 <br/><br/></div>
<br/><br/>加上熟悉javascript和熟悉shell script的话,再加一年经验是多少?</div>
<p> </p>
<p> 外企Team Leader2年经验,我就假定你熟悉javascript和熟悉shell script或者会很快上手,工作经验是随便加的啊?到底是2年还是3年?你看你,不诚心了吧?<img src='../../../../../../images/smiles/icon_biggrin.gif' alt=''/></p>
<p>个人觉得想突破7-8k在一般的软件企业是比较难滴,好了,让道给想找工作的朋友:)</p>
5 楼 刑天战士 2008-08-27  
liuqiang 写道

刑天战士 写道
会rails优化,hack过无数rails plugin,英语熟练(喜欢和老板吵架),外企Team Leader2年经验,总喜欢看源代码而不喜欢看文档,懂点系统架构,不会div+css布局,ssh熟练,2年工作经验的。帝都,啥月薪?


你这个&hellip;&hellip;,80+,以我看,7-8k+没问题.


PS:最好自己给个期望薪水,干脆点,一般HR不会主动给你抛薪水底线的



加上熟悉javascript和熟悉shell script的话,再加一年经验是多少?
4 楼 liuqiang 2008-08-27  
<div class='quote_title'>aidown 写道</div>
<div class='quote_div'>
<div class='quote_title'>按照你这个,诶,我大概只有10分,我很惭愧,我不会ssh,我就会java</div>
<p>不过8K,是去年的工资了<img src='../../../../../../images/smiles/icon_smile.gif' alt=''/></p>
<p>ps:我工作4年</p>
</div>
<p> </p>
<p>恩,不过要注意看贴,不限于以上技术,技术类别太多,不可能列举的过来,只有自己衡量下,比如你java很强,可以模拟你是一个很精通SSH的人或者自己参照一下</p>
<p>好了,我不再重复,关键是知道那个意思就好。</p>
<p> </p>
<p>PS:不需要找工作或者单纯晒工资的就不要凑热闹啦,那边赛工资的正欢,这里请勿打扰啦</p>
3 楼 aidown 2008-08-27  
<div class='quote_title'>liuqiang 写道</div>
<div class='quote_div'>
<p>      首先,我认为秋季9-11月份是个适宜找工作的时节,尽管不如金三银四,但秋高气爽的时节,很多HR也会冒出来招人兼旅游,找工作大家最关心的还是薪资问题,前面有个赛工资的帖子,我个人认为并没有参考价值,有报1w的飘过的,有报2k爬过的,最后得出的结论是:工资高的高,低调低,别无他物。</p>
<p>      另外多少还有点误导别人,比如有的刚毕业就有拿近万的,最后才知道原来是搞电的。所以我认为大家要工资的时候还是要实际点,异常工作那么些年自曝工资8k,T1 readonly也自曝自己是5k+,尽管是基本工资,但多少可以说明其实IT的行情并没有想象的那么好,注意,这里基于要一个前提,特例除外,比如一个10来年外企工作经验的人的薪水对大多人并没有参考价值,我们最好只谈些普遍的情况。</p>
<p>      一个HR招人的时候更喜欢有个直观的印象,我想最好有个分值来参考,比只发个干巴巴的简历要直观,而且很多HR也没有耐心看太长的简历,总之自己给自己打个分再去和HR谈比较好,那么要打这个分得有个参考,以下是我杜撰的一个标准(试用于web开发 企业开发):</p>
<p> </p>
<p>这里只举java或ruby的中的某几个例子,其他技术类推</p>
<p> </p>
<p>60 分的人:会hibernate增删改查,会用sql做基本的数据库操作,做过struts+spring+hibernate的demo ,工作经验0+</p>
<p> </p>
<p>70分的人:会用div+css布局,熟练struts的使用,会用spring的事务,用过hibernate的缓存机制,会Oracle的基本操作,确实做过真实的项目,当然不必是商业项目,可以是自己做的,但确保完整性和一定的规模,不只是登录和注册。</p>
<p> </p>
<p>80分的人:参与设计开发过2+真实的商业项目,可以独立解决实际的问题,比如单点登录、系统集成、restful应用、rails性能优化……,研究过一定的开源项目的代码。</p>
<p> </p>
<p>90分的人:首先保证3+工作经验,作为核心参与过3+(至少一个大项目)个真实的项目,认为自己肯定值90分以上的人。</p>
<p> </p>
<p>100分的人:暂不考虑。</p>
<p> </p>
<p>以上只是简单举个例子(只能说到这个份上),各位不要钻牛角尖,知道那个意思就可以了。</p>
<p> </p>
<p>举个无废话简历例子先</p>
<p> </p>
<p> 70分  期望长三角地区 java开发  4-5k</p>
<p> </p>
</div>
<p><br/>按照你这个,诶,我大概只有10分,我很惭愧,我不会ssh,我就会java</p>
<p>不过8K,是去年的工资了<img src='../../../../../../images/smiles/icon_smile.gif' alt=''/></p>
<p>ps:我工作4年</p>
2 楼 liuqiang 2008-08-27  
<div class='quote_title'>刑天战士 写道</div>
<div class='quote_div'>会rails优化,hack过无数rails plugin,英语熟练(喜欢和老板吵架),外企Team Leader2年经验,总喜欢看源代码而不喜欢看文档,懂点系统架构,不会div+css布局,ssh熟练,2年工作经验的。帝都,啥月薪?</div>
<p> </p>
<p> 你这个……,80+,以我看,7-8k+没问题.</p>
<p> </p>
<p>PS:最好自己给个期望薪水,干脆点,一般HR不会主动给你抛薪水底线的</p>
1 楼 刑天战士 2008-08-27  
会rails优化,hack过无数rails plugin,英语熟练(喜欢和老板吵架),外企Team Leader2年经验,总喜欢看源代码而不喜欢看文档,懂点系统架构,不会div+css布局,ssh熟练,2年工作经验的。帝都,啥月薪?

相关推荐

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

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

    Linux 与 BSD 有什么不同?

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

    Linux中BSD套接口开发的基础介绍

    ### Linux中BSD套接口开发的基础介绍 #### 一、TCP/IP的基础介绍 TCP/IP协议族是一种广泛使用的网络通信协议标准,允许两个运行在同一台电脑或通过网络连接的不同电脑上的程序进行通讯。该协议族专为在不可靠的...

    FreeBSD和Linux到底有什么不同

    随着时间的推移,Linux逐渐成长为一个庞大且多样化的生态系统,支持多种不同的硬件架构。 #### 三、技术实现层面 - **FreeBSD**: 是一个完整的操作系统,包括内核和用户空间工具,以及一系列服务和支持程序。它...

    了解BSD和Linux微妙区别

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

    DESIGNING BSD Rootkits,pdf

    这本书主要介绍了在BSD系统中设计Rootkits的技术和方法,对于理解和掌握Rootkits的工作原理以及在不同操作系统(如FreeBSD、Linux和Windows)下的应用具有重要意义。 ### 重要知识点 #### 1. **Rootkits概念** - ...

    BSD Socket Interface Programmer’s Guide Edition 6

    根据提供的文件信息,“BSD Socket Interface Programmer’s Guide Edition 6”主要介绍了Unix/Linux环境下BSD套接字编程的相关知识。下面将详细解析此文档所涉及的重要知识点。 ### 一、BSD Socket 接口概述 ####...

    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 System Poster 2001

    值得注意的是,许多这些工具最初是在Berkeley Unix中开发,并随后贡献给了GNU项目,这表明了Linux与BSD之间既有竞争也有深层次的合作。 #### 命令行外壳:bash与csh变体 bash是最常用的Linux命令行外壳,它继承了...

    用EasyBCD和Linux iso文件安装Linux

    此时需要再次打开EasyBCD,删除之前的NeoGrub条目,并添加一个新的Linux/BSD条目,类型选择GRUB2。 - 如果启动时出现GRUB引导菜单,则需要使用MBR修复工具(如MbrFix.exe)修复MBR,然后按照上述步骤重新配置引导项...

    An introduction to 4.3 BSD interprocess communication tutorial

    通常,创建描述符的程序与使用该描述符的程序不同。例如,shell 可以为 “ls” 命令的输出创建一个描述符,这将导致列表出现在文件中而非终端上。管道是另一种形式的描述符,已在 UNIX 中使用了一段时间。管道允许...

    Easy 搞定Unix和Linux环境使用(基础篇)

    - **1992-2001年**:AT&T与BSD开发组之间因版权问题产生长达十年的法律纠纷,Unix在大型机上的应用受限,BSD错失发展良机。 ##### Linux家族 - **起源与发展**: - **1990年**:Linus Torvalds基于Minix(mini-...

    Linux网络编程.pdf

    Linux支持多种锁定机制,如System V锁定和BSD锁定,各有其适用场景和特性。 ### 五、System V IPC与共享内存 #### 知识点11:System V IPC System V IPC(Interprocess Communication)提供了消息队列、信号量和...

Global site tag (gtag.js) - Google Analytics