简单说说,不做技术分析(主要是没什么技术),供大家参考,消遣。众所周知,这两个系统都是出自一个老祖宗,就是UNIX了。当然unix是非常非常稳定的,我想主要原因是当时还没有3721一类的流氓插件,也没有熊猫烧香。总之当pc还没有普及的时候,外部环境很单纯,系统也很单纯,自然不会有什么问题。
Linux是由一个芬兰大学生Linus基于UNIX开发的,他也不是一时闲得无聊没妞泡,而是当时的AT&T与伯克利大学在BSD版权问题上发生了法律纠纷,导致BSD的源代码不能自由使用。(注:BSD是Unix的衍生系统)
这样Linux的内核就诞生了,所以虽然都是一个老祖宗但当Linux被放到了互联网上的时候,事实上已经趋于不同。你可以用,可以改,可以卖,唯一的条件就是你得把改完后的代码公布出来。所以Linux的孩童时代就是一些技术爱好者们的玩具,是堆砌出来的。就像IBM PC出现以前,个人电脑不过是电子爱好者们拼着玩的,不过乔布斯却闻到了金钱的臭味,后来IBM也眼红了,盖茨也看到了$,这样PC就诞生了,不过用的是老盖的系统,当然苹果机用的还是BSD系统。这样成长起来Linux注定是个时髦的玩意,大家都在努力使它更先进,更多新技术,性能更好,就像《四驱小子》里面的那帮孩子,总是把最先进的技术,材料应用到四驱车上。
下面说FreeBSD,前面有提到BSD的版权官司,当然最后还是解决了,更多地满足了伯克利的利益,不过使得伯克利的BSD开发告一段落了,最终版本是1995年的4.4BSD-Lite(lite就是因为官司的问题,不包含AT&T的源码)。而后,几种基于4.4BSD的套件(比如FreeBSD、OpenBSD和NetBSD)得以继续。所以FreeBSD是纯血马,由专门的小组开发维护。
FreeBSD被广泛评为最稳定的操作系统,因为比较单纯就比较安全,稳定——不像女孩子,越单纯越容易被骗,越不稳定(易情绪化,不懂事),服务多漏洞越多,问题越多。而性能上Linux要好一些,虽然我没有测试过(就算测试也是片面的,简单的,说明不了什么),但既然Linux是新技术应用的急先锋(Red Hat Linux 5.0 已经支持虚拟机技术),当然新的要比老的性能强,否则也不会有一大帮人有钱就换个手机。在底层也是这样的,比如磁盘读取,内存管理,通讯协议等Linux更喜欢拥抱新技术,FreeBSD更多考虑到系统稳定性。
我的看法,针对个人站长,针对web服务器。
真的要那么稳定吗?yahoo是用FreeBSD,雅虎挂过几分钟。但看看个人网站一声河蟹,挂倒一片,根本就不是系统原因。我们个人站和雅虎们不一样,不用要求那么苛刻,事实上挂个一天半天也是可以接受的,只要不是每个月都有那么几天不舒服的日子,就OK了。
linux和FreeBSD稳定上有差距,但不是你想像的那么大,而且这些差距是表现在高负载上的,我用独立服务器就是图个空间大,带宽充裕,生成,数据库操作方便,平时的负载是很低的。
性能上也是一样,百分之点几的差距在3秒中内就可以下载完成的一个网页上能看出什么区别吗?在执行时间0.00几秒的脚本中能看出差距吗?依然在高负载下才有些区别。
安全上,FreeBSD也是好一些,为什么?FreeBSD安装后系统就很纯很好了,linux安装后是需要一番设置的,linux就是玩出来的,所以你也要玩才行,去掉不必要的服务,禁用一些功能,控制权限。在抗攻击上,FreeBSD好一些,可能是内核原因吧,但抗攻击主要是要有个好墙,软墙的话看你规则配置怎样,硬墙看IDC是不是诚实,然后看带宽了(这句是废话)。
其他,linux有更多人关注,回答你的问题,搜到答案的几率也高,FreeBSD有非常好的手册(包含中文),但关注低,搜到你想要答案的几率当然也低。linux有中文图形安装界面,FreeBSD就算你照着手册,不反复安装10几遍是不会熟悉的,如果你英文非常好,这些就都不是问题了。
对于新手,懒人,装FreeBSD更好一些,虽然安装麻烦一些,但安装后基本不用太多设置,而且FreeBSD的包管理是一流的,使得安装程序,配置环境非常容易。有些基础的,可以用linux,自由定制环境更方便。上网找找别人的经验,配置一下安全也不难,日后维护也有许多资料可以查。linux用起来更方便些,比如vi文本编辑器,用退格就可以删除,FreeBSD的要用D来删除,诸如此类。linux的中文支持要比FreeBSD好,但服务器一般都是默认用英文环境,避免一些莫名其妙的问题。
虚拟主机服务商的话FreeBSD负载更好一些,但好像管理软件不好弄,其实win更好一些,有盗版的软件,还可以配置全能空间。最简单的无疑是用win了,只要你不把服务器当家里的电脑用,还是有保障的。自己能接受的就是好的,不一定非要最好的,就像找老婆,如果要找最好的,注定要孤独终老,女性亦然。
忘记说了,我用linux,CentOS,我喜欢定制,用喜欢用的版本,不装用不上的功能、模块,安装到我规划的位置,这方面linux更好一些。