论坛: UNIX系统 标题: 请教一下各位,unix和linux的优缺点 复制本贴地址    
作者: solee [solee]    论坛用户   登录
我刚接触unix,但现在到处都在用linux,虽然2者相近,但也有很大区别,想听听各路好汉的看法,再决定是否转学linux。
谢了,先!

地主 发表时间: 10/18 10:36

回复: SimpleLove [ydf]   论坛用户   登录



我收集的文章,有的是有人回复的,感觉挺有道理,呵呵
喜欢就看看吧~~







迫于无奈下可能会选择 LINUX 了



所谓知已知彼,百战百胜。。。

没有最好的操作系统,只有最适合的操作系统~~

我也算得上是个 FREEBSD 的爱好者,虽然第一次使用 UNIX(类 UNIX)系统时是使用 SlackWare,即其中一个 LINUX 发行版。但自从使用了 FREEBSD 后,基本没用过 LINUX 了。

但在往后的发展,我可能迫于无奈而选择 LINUX 而不是 FREEBSD 或 SOLARIS。

原因如下:


对于个人的发展,我已经定型为使用以下语言和服务器程序:

JAVA,PostgreSQL,MySQL,LDAP,POSTFIX


JAVA 和 MySQL,LDAP 都是对线程需求特别高的应用,特别是 JAVA,现在还不是很好的支持,没办法,我的东东都是以 JAVA 为主,而且是以 Servlet 为主,特讨厌 jsp, php, asp 这些在 HTML 网页中插入程序代码的编程方式。

JAVA 和 LDAP 是我最为看好的语言和应用。但在 FREEBSD 都运行得不好。

本来,我自己也有使用 SOLARIS,而且,JAVA 的应用,我一直都是在 SOLARIS 下运行的。但 SOLARIS 一来对硬件的要求高,新的硬件不是样样都支持,例如新的 865 芯片组,我就不能确定是否能支持。还有就是文件系统特别慢,就连 SSH 也特别慢,不知为什么,同一网段同一配置的机器,SSH 上 FREEBSD 和 LINUX 就是比 SOLARIS 的快(指运行命令后返回结果的速度)。
但 SOLARIS 也有 LOGGING 机制,这对于远程机器来说很重要,我试过在 FREEBSD 下,文件系统损坏后,不得不走到机房修复,否则重启后依然进不了系统,而停在了要求修复文件系统的对话介面中。LINUX 也开始有了 LOGGING 功能的文件系统,可谓走在了 FREEBSD 的前面了。

各个系统各有优缺点,小生不才,说说自己的观点,还请指教:


网络:
不想说这个了,你只要记住,现在到处都是网络。

FreeBSD 网络性能最好,特别是连接多,数据量少的应用。但在数据量大的环境下,稳定性不够 Solaris 好。特别注意的是使用 RealTek 或 D-Link 等网卡时,性能和稳定性都很差。

Solaris 网络性能比 FreeBSD 差一些,而且对网卡的要求高,但稳定性比
FREEBSD 好。如果使用好的网卡,如 3com, Intel,SOLARIS 可以使用所有网卡可提供的网络流量。

Linux 相对最差,特别体现于不稳定。

文件系统:
在现今的信息时代,1M 的数据,有可能比 1 (M)illion 台机器更值钱。

Solaris 的文件系统最好。虽然是速度最慢,但是稳健性是最好的。

FreeBSD 的文件系统只算中等,速度和稳定性都是处于中等水平。最不差的方面体现于当文件系统损坏的时候。

Linux 的文件根本使用的不同文件系统格式而不同。现阶段,可选的文件太多了。值得选择的文件系统有 ReiserFS 和 XFS。XFS 适合大多数的情况,ReiserFS 更适合于文件多而小的使用环境。

应用软件支持:
软件是计算机的灵魂,至少,你使用计算机的时候是与软件进行交谈的。

Linux 是应用软件支持得最多的一个系统,但维护成本太高,因为版本太多,无论从目录结构或是使用方法,都没有一个统一的标准。很多情况下是你使用了这个发行版的软件习惯,但在第二个发行版下,你得改变你的使用习惯,而且版本也有可能各自不兼容。

Solaris 支持的商用应用软件是三个最好的一个。基本上,Solaris 更适合作为后台的服务器,他需要比其他两个系统综合起来比较慢,但他的稳定性也是最好的一个。可以通过提高硬件的方式来提高性能。需要成本高,但对于商业环境里面,总比 DOWN 机要来得好。

FreeBSD 支持的软件以 Open Source 为主,虽然没有 LINUX 可使用的软件多,但是 FREEBSD 的软件结构非常好,你基本上可以使用 PORTS 来安装所有你想使用的软件。而且目录结构对于各个发版来说,不会有太多的变化。或基本不会有变化,这样,从管理上来说,投入的人力物力更少。而且无论你使用 2.x, 3.x, 4,x 或是更新的 5.x 系列的发行版,你基本上不需要再学习更多的维护技巧,以后投资在学习技巧的时间是不会白费的。可是,对商业软件的支持,FREEBSD 是最差的一个操作系统。


线程的支持:
线程性能是分时系统应用的一个很重要的标志,不能以最少的资源为最多的客户服务,那 UNIX 没有存在的必要。

Solaris 对于线程的支持是最好的!这是绝对的事实。在 Solaris 下使用 Intel CPU 的超线程技术,性能会有接近 20% 的提升。简直不可思议。

Linux 次之,但是线程实际的方法也太多。常用的有 PThread。

FreeBSD 最差。使用 Intel CPU 的超线程技术后,性能反而会降低 5% 左右。更加不可思议!!!虽然 5.x 会有一个极大的提高,但我估计,至少半年到一年内,技术不会成熟到可以与 Solaris 相比,特别是商用方面。


易用性:
易用性不单止体现于单机的操作,还是多机环境下的维护。

FreeBSD 的易用性是最好的。你学习一次的知识,可以在各个版本中使用,而不需要重新学习。而且,目录结构和系统的一些配置和设定都很方便。如 /etc/rc.conf 这个单一文件可以设置绝大部份的系统设置,并且有大量的例子。

Solaris 的易用性要比 Linux 更好。很多人都可能会认为,Solaris 很难用,但其实不是的。至少对我个人来说,Solaris 比起 Linux 更易于使用。至少,从 Solaris 8 向 Solaris 9 过渡,你不需要花太多的精神。而且一些软件和驱动还可能会通用。

Linux 的易用性为什么是最差呢?各个 Linux 发生版之间的差异,有甚于
FreeBSD 和 Solaris 之间的不同。习惯使用某一个发版本的管理员对于另一个发行版在有些情况下会无从下手。就如我自己,在 redhat 下用 setup,然后一个菜单一菜单来选择设置网络,但到了 debian 下,就不会设置网络了!最后不得已写个 shell 放在 /etc/rc2.d/network_if.sh 来设置网络参数。感觉很痛苦,而且很没面子,竟然连最基本的网络参数都不知在哪里设置。


综合稳定性:
其实,决定一下操作系统的稳定性的,最大的取决于 VM 系统的稳健。

Solaris 是最好的。虽然是最慢的一个,但稳定性最好,更适合于后台的环境,如数据库或邮件服务器。

FreeBSD 次之。体现于网络与软件的稳定性。在上面运行的程序 core dump 的机会或不能运行的机会相对较少。而且 DOWN 机的机器会也比较少。再次重申,特别要注意的是,在使用 RealTek 或 D-Link 的网卡和在繁忙的磁盘读写情况下,FreeBSD 的性能和稳定性都会大打节扣。

Linux 的综合稳定性最差,主要体现于网络的性能和应用软件的不一致,太乱,导致不能更好地投入到系统的管理中。


以上所说的,只是现阶段的情况,现在使用 Linux 于商业(生产)环境还是有一定的风险。但以前瞻眼光看待,Linux 会在未来的 1 到 2 年内,在商用方面完全超越 FreeBSD。要声明,特指在商用方面,而且包括用户端和服务器端。现阶段,FreeBSD 在服务器端的优势还是 Linux 不可相比的。虽然 Linux 向成为 desktop 的后选者(相对 Microsoft 的 Windows 来说)的迈进,使 Linux 变成更乱,但这是必要的发展过程。特别是像 OpenOffice 这些办公软件的走向成熟时,将 Linux 作为 Desktop 来使用的理由将会更加充分。






比较得很细致,部分同意你的观点。
用Realtek和D-link芯片作为生产环境是不行的,无论在什么OS上。
如你所说,vm是稳定的关键。fbsd有也一个很好的vm,即使swap用完也不死机。linux的不敢恭维.....

fbsd对商业软件支持不好,这个不是fbsd的错。Oracle愣是不出fbsd native的软件,你能咋的?还可以用Linux兼容方式运行嘛,如果你坚持的话。

Solaris慢是因为不是很适合跑Intel体系的服务器,跑回Sparc/Sparc64比较好。但如果有很多java应用,觉得还是用solaris的好,linux不稳定.....
fbsd作为java的开发环境还凑合,如果你都用开源的东西,而不用什么BEA/IBM等等的application server的话。

fbsd对LDAP支持很差嘛?OpenLDAP?

不过,最佳的java开发/运行环境别忘了还有windows啊,呵呵.....
主流的java的服务器软件都有win32 port。







Linux的问题在于“软件太多”,大量的软件/程序,标称很可能与实际应用的表现/需求不一致。
重量级的用户,要动用大量的时间/资源进行评估和测试,并做出谨慎的选择。这样选择面就窄了很多,可能牺牲一些设计者想要的功能/性能。

FreeBSD系统,整个的设计思想比较一致(面向重载的SERVER),在评估/部署时,会节约许多时间/精力。

现实中,无论选择什么系统平台/应用,都必须贴近需求,系统设计者/部署者需要进行细致(痛苦)的比较和抉择。








有道理。。。。。

对于特定的应用来说,的确是存在着选择的问题。

至少在易用性方面就有的一选。比方说吧,开发部的家伙们马上就要搭一个环境出来,这个环境对于linux\freebsd\solaris来说,对于你和我来说,搭建起来需要的时间和精力是不一样的。我就不愿意花费时间死扣一个细节――似乎有点舍本逐末了。所以我用哪种系统是不确定的。

但是我愿意把这三种系统都逐渐精通、深入研究的。








虽然花了很多精力比较了一番,但是有些东西那一同意。
solaris的文件系统虽然是ufs,但是稳定性和性能都很差,加logging稳定有所提高,但是性能太差劲了,所以一旦solaris要用到关键应用,肯定要另外买vxfs。







现在soleris只用来跑数据库了吧? 我看过一个学校10多万的Sun服务器只用来运行DNS,暴殄天物啊!





正如所说的:Linux轻浮,FreeBSD优雅,Solaris高贵。





没有绝对的优势,也没有绝对的劣势,你懂八卦吗?
我们只是使用者,有用的就很不错了,你能写个操作系统吗?
freebsd好,因为我就是用毕生的精力去学,也不会弄透的,相信你也是!
想用什么就用什么吧,别老是去比较,哪些比较参数是你自己测出来的吗?信口开河








B1层 发表时间: 10/19 09:15

回复: cncd [cncd]   论坛用户   登录
 
引用:
没有绝对的优势,也没有绝对的劣势,你懂八卦吗?
我们只是使用者,有用的就很不错了,你能写个操作系统吗?
freebsd好,因为我就是用毕生的精力去学,也不会弄透的,相信你也是!
想用什么就用什么吧,别老是去比较,哪些比较参数是你自己测出来的吗?信口开河

我还没有接触*NIX系统,但我觉得最后一段说的最好。
我觉得重要的是学习。
用功钻研一个,你掌握的这个就是最好的。

[此贴被 菜鸟初段(cncd) 在 10月19日10时16分 编辑过]

B2层 发表时间: 10/19 10:13

回复: NetDemon [netdemon]   ADMIN   登录
文章大部分都比较对的,大体上确实可以这么综合:

Linux轻浮,FreeBSD优雅,Solaris高贵。

只不过或者是这篇文章太老的关系,文中对FreeBSD有说的不公平的地方需要更正一下,FreeBSD确实不会很快的去支持一个新生事物,但并不代表他以后也不支持,这只是FreeBSD的设计理念严谨造成的。

关于JAVA:


/*
Java JDK 1.4.1 patchset 4 for FreeBSD发布
发表: wxjoshua
时间: 2003/10/13 10:24:13

Greg Lewis和BSD porting团队宣布Java JDK 1.4.1 patchset 4 for FreeBSD已经可以用了。这个版本包含了很多错误修正,支持浏览器插件和对GCC 3.3的支持。
*/


关于线程

/*
今天,负责5.x Release Engineering的Scott Long修订了5-STABLE Roadmap。其中,最重要的变化在于:

(1)正式宣告KSE项目完工。
KSE是FreeBSD 5.x中最重要的特性之一。通过引入内核级和用户级的“调度器激活”[1]支持,FreeBSD将拥有超越现有的所有操作系统的线程和SMP性能。

KSE是一种全新的调度概念,它是一种介于进程(process)和纤程(fibers)之间的线程实现,一方面,它能够以与纤程在同一数量级的代价实施调度(因为KSE调度本身在目态进行);另一方面,它又避免了由于I/O操作等阻塞性工作对SMP系统中的性能影响。今年,FreeBSD的KSE项目取得了突破性的进展。

(2)初步确定5.2-RELEASE的发布日期
根据目前的计划,FreeBSD 5.2-RELEASE将在今年12月初推出。尽管Scott Long表示,5.2-RELEASE和5.3-RELEASE将按下面的计划[2]:

2003年11月05日:5.2-BETA和代码冻结
2003年11月19日:5.2-RC1,切分RELENG_5_2分支
2003年11月27日:5.2-RC2
2003年12月02日:5.2-RELEASE
2004年03月01日:5.3-BETA和代码冻结
2004年03月15日:5.3-RC1,切分RELENG_5(5/6切分)和RELENG_5_3分支
2004年03月22日:5.3-RC2
2004年03月29日:5.3-RELEASE

但由于软件工程的许多不确定因素,我们认为这一计划可能仍然比较乐观,不排除5-STABLE继续向后推迟的可能。

(3) 5-STABLE面临的主要问题
与前一次的“路线图”相比,主要的进展包括:
・目前,内核的VM部分已经不再使用全内核锁(Giants)。vm_object的上锁正在继续进行中;pmap的上锁尚未开始。
・ata(4)和aac(4)驱动目前已经不再使用全内核锁,但其他驱动程序的上锁仍然在进行中。CAM子系统的全内核锁去除工作尚未开始,因为这需要SCSI驱动首先完成去除全内核锁。
・关于网络的上锁过程仍在继续。目前,这部分的性能明显慢于4-STABLE
・正在考虑引入类似类似Mac OS X的中断模式
・测试KSE的稳定性:OpenOffice, KDE, Apache 2.x, bind 9.2.x, mysql, java

参考文献:
[1] 调度器激活:用户级并行管理的高效内核支持 http://www.frontfree.net/articles/services/view.asp?id=768&page=1

[2] FreeBSD 5-STABLE Roadmap http://www.freebsd.org/cgi/cvsweb.cgi/doc/en_US.ISO8859-1/articles/5-roadmap/article.sgml 

*/

关于LDAP
不管这篇文章是什么时候写的,都简直是放屁,FreeBSD对LDAP的支持向来都好得不得了



B3层 发表时间: 10/19 16:26

回复: solee [solee]   论坛用户   登录
个人比较喜欢unix+java的开发工作,可是,公司要求的是,windows的.net + c#,公司比较排斥unix和java的,我怎么办呢?现在在进行ms的sql2000,vs.net的c#,做web开发,我个人认为是unix(数据库服务器)+中间件(java)+客户端(web)

B4层 发表时间: 10/19 20:50

回复: enegy [enegy]   论坛用户   登录
相信自己,何处不为家?

B5层 发表时间: 10/20 17:46

论坛: UNIX系统

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号