`
liuqiang
  • 浏览: 161198 次
  • 性别: 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系统。他们甚至使用很多相同的软件。他们看上去简直像是一个操作系统,那么,它们有什么不同吗?  其实,两者之间的不同,远远超出了我们下面提到的这些,尤其是在构建...

    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