linux操作系统的发展前景如何?它有什么优势?39
发布网友
发布时间:2023-09-21 04:20
我来回答
共2个回答
热心网友
时间:2024-11-23 07:00
其实这种问题主要百度一下就行了。我找了两篇,读了一下觉得人家说得很好。
linux的发展
近来看一篇“hacking是艺术还是科学”的文章,由此产生了一系列的联想。由艺术联系到文化是再自然不过的事,人类的历史既是科技的发展史,也是艺术的发展史。艺术(广义上包括文学)和科技构成了文化。而当今似乎科技被从文化中分离开来,于是我们不得不重谈文化。因为同商业主导的其他产物不同, Linux更是一种文化的象征。
第一在linux的媒体上看到马克思的头像觉得很可笑,但是思索一番后方才醒悟:资讯难道不是一种生产资料吗?开源与私有,恰恰就是资讯的分配方式的区别。
件同货币联系起来时,资讯的圈地运动正式开始。并在几年的你争我夺中拼杀下来。同社会的发展不同的是,软件业是直接从“原始的*”跳向“资本”形式的。以货币来交换软件的确在一定的时期对经济起到很大的促进的作用。但是却*了更多的人生产形式更加多样化的软件的能力。长远角度看这是对发展不利的。于是,共有的分配资讯的方式又被一些人重新重视起来。
这种共有资讯的复苏代表这软件的文艺复兴,也就是文化的复兴。开源的意义在于,首先是传播文化,文化产生软件。如同艺术中很难找到两部及其相似油画一样,社区中很难找到两部概念过分接近的软件。这就是开源社区的精神:知识的高度分享,而且高效的利用,最大限度地避免重复浪费。
初期的开源作者也是理想主义者。同早期的无产者一样,资讯无产者也是理想主义者。理想主义者感染理想主义者,却拒绝了更多的实用主义者。一定程度上*的自身的发展。Eric不是理想主义者,所以当他提出开源作为商业模式时,就同人们第一次听到中国改革开发一样!事实证明这种决定是正确的!不同的文化中都有优秀特点、优秀的人。优秀的特点借鉴过来,优秀的人吸引过来,文化群体才能由此而壮大!相反,如果我们不能同其他群体的人和睦相处,对这些人进行人身攻击和冷言嘲讽,认为linux具有高高在上的优越感。这样非但不能为我们的群体吸引更多的优秀的支持者。也会使其他的群体产生我们本身的群体数字偏低的印象。
Linux同Windows,文化于市场的差别
我个人认为Linux同Windows不存在讨论技术的差别的意义。因为很难指定出一种适普的标准来衡量它们。但是,他们身上一些特点的却十分明显地分别体现出文化与市场的特征:
分发机制
最初的linux用户真正的是from scratch。因为发布的内核同各类的GNU软件分不在网络的各个角落。包括为了拥有图形界面,也要在安装X之后编译大量的其他软件。而为上市而开发的 windows却是一个超大的软件包。因为要做到真正的“友好”,不可能让用户用一个月的时间来安装应用软件,何况入门用户还根本无法安装应用软件。大家记得身边有些人是花多长时间理解“添加删除程序的”。
同样,普及或者商业化必然就要走集成的道路。从最早期的红帽子,到GNOME,KDE的问世。社区已经尽力提供了各种手段来促进Linux的市场和普及。当然也越来越类似windows,一些操作方式开始向windows兼容。而近年来国内一个Linux厂商的发行本将这种趋势推至极限,因此相当的受国际社区的反感。
第三方软件的管理机制
除了历史遗留问题和向DOS兼容问题。一些Windows的机制我认为不是一个Linux爱好者们所说的缺陷,而是最大限度的面向市场的结果。下面一一举例说明:
1)目录的管理方式和注册表
windows使用相互独立的第三方软件目录组织方式,并且尽量避免不必要的软件安装到系统的目录下。这样的组织正是市场最大化的结果。由于商业竞争,封闭源代码的原因。每个厂商在开发软件时的命名相互之间经常产生冲突,即使是共享库之间也互不兼容。唯一的办法就是放在各自的目录下。但这样运行程序的时候的路径又成了问题,于是目录的方式必然导致了注册表的诞生,让程序员通过注册表解决路径问题。同样也捎带解决了配置文件的路径问题,可以尽量少的避免使用配置文件了。
linux向来就没有第三方的软件的概念,从unix被发明时起就是这样。所有的软件都装在标准的几个目录下,而信息的高度共享是避免冲突的最有效的方式。这种方式可以把脚本的作用发挥到极限,以我个人的观点:同样是脚本,对windows和linux的意义有本质的区别。二者区别的根本原因就是目录的组织。而由于是信息的透明,如存在操作系统对第三方软件的保密问题,也不存在冲突问题。但是,也注定起不到windows那样的商业效果。
2)病毒的肆虐,历史遗留和市场综合作用的结果
我个人不同意*nix上鲜有病毒是因为用户数量过少的说法。我认为windows上的病毒肆虐主要有两个因素:
首先是历史遗留问题。unix从一开始就是多用户多人的操作系统,所以首先从一开始就要为权限等安全问题考虑,并且制定了一套在相当长一段时期行之有效的安全机制。而DOS的目标是在一个性能十分有限的微型计算机上提供一个简单的系统。这是十分合理的!但是却为后来的系统设计安全机制带来了兼容的问题。这是作为一个厂商和封闭源代码的软件必须考虑的。也导致了早期windows的16位代码等等。而且这些问题一直延伸到最新的操作系统和文件系统。最新的 NT内核的系统也从unix身上借鉴了一些特性。但受兼容性的束缚很多问题的解决几乎是不可能的。很多问题不是微软造成的,包括第三方的厂商甚至是用户本身造成的。
具体来说现在装机用户很多都是用在零售商那里的ghost的系统。不论多大的硬盘会被等分4-6个分区。而且全都FAT32的文件系统。而且大多数用户在重新安装系统时也不会将系统分区改成NTFS,更不会改动其他的分区。这样就带来了更多的病毒隐患,而很多病毒是在机制上早就解决了的。
另外,几乎全部的XP的桌面用户每天都在以超级用户身份使用系统。一种原因是因为XP上默认的用户权限就是超级用户。而令一个原因也迫使用户不得不每天使用超级用户,应该是厂商的水平和遗留问题。绝大部分的应用软件,尤其是国产软件在其他低权限的用户的登录上是无法正常使用的。通常情况厂商限于水平无法同系统的安全机制达成一致。比如国产杀毒软件很多,但注册系统服务的不多。我所见的同windows的安全机制结合的最好的恐怕是诺顿的软件。注册系统服务。而且用户数据保存在用户的主目录下(Do*****ents and Settings下的用户名的文件夹下)等等措施保证了无论以任何身份运行登录,杀毒软件都能够正常的起作用。而大多数的国产软件以一个管理员的身份安装之后,在另一个管理员的桌面和菜单上都找不到图标!一些软件将数据包存在安装目录下,这本来就是单用户系统下的习惯。比如QQ,默认情况下低权限用户根本没办法使用正常,要设置Tencent文件夹的权限才行,这样这个文件夹又成了对所有用户可写的了!如果把用户数据保存到Do*****ents and Settings下,每个用户相互独立有什么困难?恐怕是照顾一些使用98的用户或者自己的程序员吧!大家都使用超级用户,好啊!病毒什么的都懒得研究什么权限提升了!想改什么就改什么!记得一个同学叫我去杀毒!我一看现在的病毒真的是简单了!直接把文件名一改省得感染文件了。然后在 autorun.ini里加上一条就可以保证运行传播了!而这个病毒据说还是大名鼎鼎的流行!如果大家平时不用管理员的话,这个病毒恐怕根本没有传播的可能!所以IE和firefox都用漏洞,但IE可能就回感染系统,而firefox只能感染用户。这不是系统的问题,只是用户自身的问题,当然系统要对用户养成这些毛病负责!
然后就是市场问题,记得*nix出现病毒或者蠕虫的话。都是有人发布补丁的。蠕虫这里不谈,因为蠕虫主要是通过服务传播的,是服务的缺陷。*nix的每个病毒都象征这一些机制的问题。于是这些机制一旦修正,所有同类的病毒就不会感染了!于是*nix下的杀毒软件其实是查杀通过samba monnt的目录上的windows病毒。但作为windows来讲,病毒意味着意想不到的市场!而且这么大的经济效益也能推动全球的经济增长!用三个代表判断也是对人民有利的!
3)IDE
我觉得不同意那些对linux下IDE环境的看法。对优秀的程序员来说,整个Linux就是一个IDE,只不过你同他打交道不是用鼠标点击,而是用命令和脚本程序。由于上面谈到的目录的优势,所有的程序都被组织在一起了!其实是一个传统IDE的不同功能模块被在不同的几个程序中实现了,而且合作起来也更加灵活。而这个IDE除了软件开发还可办公和娱乐,集成度显然更高了!有些人甚至网页之类的都用脚本来处理写好的带标记的文本来发行出去。如果说哪种IDE 更加高效的话,理所当然是这种全自动的方式。
Linux在中国,文化和市场
Linux在中国达到今天的规模完全是市场的作用,说实话教育界起到的微弱的作用让人十分遗憾。人们透过媒体知道了Linux。不管是否处于宣传者的本意,linux被扣上了“高深”的光环。“CLI”、“用于服务器”之类的说法吓走了一批观望者,也有吸引了一批喜欢挑战难度的人眼球。应该说这批人都是优秀的人,但不是全部优秀的人都会对Linux产生兴趣。因为宣传中透露出linux一个特点“不成熟”,“不成熟”意味着没钱途。
人才的缺乏却给了勇敢的人“钱途”。他们成了优秀的程序员或者系统管理员,开发了很多优秀的软件。然而绝大多数为了公司,却很少为了社区。也有人成为了商业unix系统的管理员。
客观地讲,Linux的文化向国内的传播相对于市场向国内扩展是十分缓慢的。*的Linux厂商和产品比港台多,但是几乎所有拥有中文化信息的国际开源社区中香港和台湾的参与者都比*的活跃,你可以看到支持GB的软件远少于BIG5,zh_CN的文档远少于zh_TW。成熟的程序员们也不愿意些入门的文档。只有少数人以论坛版主的身份整理文章和搜集资料。文档的缺乏和语言的隔阂使我们迟迟不能真正的了解到国际社区的文化,更谈不上回报社区。媒体上的报道全部以市场为中心……国际社区疑惑了,中国人到底对linux感不感兴趣?
关于市场格局的报道太多,我手头没数据没办法评论。但是与一些报道不符的是,作为一种特殊的商业产品。linux的市场不能单单的拿订单来衡量,也不能看*的笑脸分析。在中国RedHat/Fedora的用户数量占绝对的优势(程序员背景的用户较偏向debian和gentoo),只要到几个中文的 Linux社区看看就知道了。这些目前的用户将来一旦成了技术人员就是潜在的订单。这种规模的用户份额除了和国际市场的规模之外,主要和RedHat苦心经营的社区效应有关,通过fedora社区RedHat的开发人员几乎同用户和贡献者们无缝地交流。相比之下急于开拓市场的红旗却没有意识到这一点。多数用户对红旗的了解少得可怜。已经成为制约公司发展的瓶颈。以中国目前的现状来看,社区的意义不仅在于潜在的市场和用户,也是为公司自己培养人才。
个人虽然不赞成制作和发行带有民族气质性的linux发行版本,但还是希望国内诞生越来越多的基于社区发展起来的发行版本的开发团队以及其他的开发人员社区。同市场的昙花一现相比社区的发展壮大才跟家的持久和有力。
文化角度的Linux未来展望
观望这几年国际linux和其他开源系统的发展。社区的发展远远比市场的发展要明显得多,从文化的传播的角度看来这是一种巨大的成功。为了保持和发扬这种成果,我们需要为社区吸引更多的用户和开发人员。让更多的软件使用开源的许可协议。
在国内linux的用户可能会从学校开始逐渐的扩大。但在市场上可能还是体现在更多的商业的Unix的优秀人才的增多。这些人才普遍是在linux社区成长起来的。另外国内的用户会对国际的开源社区有更多的了解。更多的资料被翻译成简体中文。最重要的是国际社区中会出现更多的中国人。国内也会出现一些较为成熟、具有一定规模的开发社区。
Linux程序员和用户身上的优秀的品质和文化气息会吸引更多的人渴望了解和使用Linux面对他们社区的成员们应该比以前有更好的姿态去面对这些未来的同伴们。开源软件除了影响本身的开发人员和用户以外,也会对window下的程序员产生更大的影响,进而促进windows下的开发人员提高自己的水平,能够编写出同系统设计风格一致的软件。在改进安全性的同时也意识到开源对于他们的重大意义。
在同商业模式结合方面我并没有权力去做什么展望。就想去预测股市一样。Linux对未来的意义在于:通过文化的影响力让一些被作为商品的技术尽快的被普及和贬值,以此来消除知识传播的壁垒和刺激更新的技术的不断更新。而对最新的技术开放源代码也可以让这些技术得到最快速的推广和实现。
附:如何学习linux?
做为中国人的特殊情况,学习linux对中国人来说要做的事情相对多了一些:
1、以linux为荣耀,以帮助他人了解和学习linux为己任。
2、坚持访问英文网站,尤其是一些大师的个人主页。坚持阅读英文文档,并尽量翻译你读过的文档发表到国内的社区上供他人阅读和整理
3、了解unix的历史,linux的历史和hacker的历史及文化。
4、尽可能联系所以可以联系到Linux的爱好者,尽可能多的了解你能接触到的最了解linux的人对linux的看法。并于自己的观点相比较。
5、空闲时思索为什么自己喜欢linux,别人为什么喜欢linux。为什么你们喜欢的理由不同?
6、阅读各类的开源许可协议和商业的用户许可协议。对比他们各有哪些问题和优势。
以上使你了解开源文化,是作为一个合格的linux社区成员的前提。
7、安装一个linux的发行版本。
8、尽你最大的能力把你的学习、娱乐或者工作的环境转移到linux上来。尽量避免寻找linux功能类似的软件,而是寻找linux下解决同样问题的通用的方法。并且对比同windows下的解决方法哪种更加优越。
9、学会SHELL编程。SHELL几乎可以作为一个入门语言来学习。最低的要求是能够看懂你自己的版本的linux的配置脚本。理解为什么一些帖子中里提到的配置方法回起作用,并了解你的发行版本怎样从每个配置文件中把设置用环境变量的形式读取并让他生效的。
10、学会安装以各种方式发行的程序,并且让他们的安装同你系统的惯例一致。熟悉X windows的运作方式。熟悉你的发行版本的安全机制,并且学会定制他们按你的需求工作。
如果仅仅是作为用户并且部分体会unix的哲学,上面的几点就足够了。个人认为这几点足够成长为一个合格的Linux用户了。甚至只要再稍稍的扩充就可以制作自己的发行版本了!而对于不同的用户群体,比如办公用户或者科研人员等。第8条意味着不同的标准。
11、选择一门或几门语言社区常用的编程语言。
12、搜集社区或者hackers推荐的图书或资料、网站、新闻组等。
13、选择一个较小的用你当前学习的语言开发的开源项目。阅读他的代码,并且对比他的代码和你形象的编写方式是否相同?哪种更加优越?
14、尝试按照TODO中的要求为这个软件编写代码,并且同他的作者联系。学习autoconf和automake等工具的用法。
15、你也可以不参与项目的开发,但仍然能从代码阅读中获益。如果项目是一种你没有接触到的技术或者标准的实现,那么搜集资料读懂它!
16、学会使用linux下的调试工具,如果软件还不太稳定,可以帮助找出BUG并且改正。并且学会制作patch发给作者。
17、如果曾是windows的程序员,尝试把开发环境转移到linux下来。或者开始在windows的开发工作中使用开源的开发工具和SDK。
18、如果是系统管理员,还要学会在linux部署更强的各类的安全方案。但这已经不属于学习linux的范畴了。
上面介绍了几条学习的要求,主要强调的是学习的态度。至于具体什么样的技术和自己应该在技术层次上的要求,按照上面介绍的方法应该会慢慢的体会到。
linux操作系统的全称是GNU/Linux,它是由GNU工程和linux内核两个部分共同组成的一个操作系统,虽然这个系统诞生于1992年,比windows操作系统要晚,但是与windows相比它有很多独到的优势。
首先,对于普通用户而言它有以下几个优点:
1.极高的稳定性
回顾linux的历史我们会发现,linux操作系统的架构完全沿袭了UNIX的系统架构,所以先天就具有成熟稳定的特点,在这方面不是另起炉灶的windows系列操作系统可以比拟的。大家都知道,windows系统最为人垢病的缺陷之一就是系统的稳定性差,蓝屏死机相信每个windows用户都亲身体验过。虽然1999年微软不惜花费巨资打造了win2000这个划时代的产品,系统的稳定性得到了加强,后续发布的xp和2003更进一步增强了稳定性,但是蓝屏死机的问题只是有所缓解而没能彻底的根治。反观linux系统,早在上个世纪九十年代,美国motorola公司在选择电信级的操作系统的时候就选择了linux系统,它的运行可靠性要求达到99.999%。这个可靠性所代表的含义是每年的计划外停机时间累计不得超过5分钟,由此看见 linux系统所具有的稳定性不是win系统可以望其项背的。
2.先天的安全性
可以说一个操作系统的架构就已经预先决定了它的安全性。linux系统在设计的时候就是针对多用户环境的,所以对系统文件,用户文件都做了明确的区分,每个文件都有不同的用户属性。作为一个普通用户通常只能读写自己的文件,而对一般的系统文件只能读取而不能改动,一些敏感的系统文件甚至连读取都是被禁止的。这种设计在根本上保证了系统的安全,即使一个用户文件出现了问题,也不会泱及整个系统。反观windows系统,在win2000之前的时代,用户与用户之间是没有这种差别的,几乎所有的系统用户都有管理员的权限,可以任意改动系统文件。即使后来微软意识到了这个问题,在后续的系统中区分了管理员和普通用户这两种用户,但是在权限的问题上他还是没有很好的解决这个问题,管理员能做的,普通用户还是基本都可以做,比如安装软件,修改系统设置,删除用户文件。这从而也说明了,为什么一旦windows的一个普通用户中了病毒或者木马,通常会危及整个系统的安全,而在linux世界这样的情况几乎没有出现过的原因。
3.软件安装的便利性
对于计算机初级用户来说,软件安装是个很大的问题。在windows平台下,如果你不知道软件应该安装通常只要一直用鼠标点“下一步”就可以完成安装。在linux平台下,软件安装的便利性方面曾一度落后于win,但是apt的出现使得这种局面得到了彻底的改观,用户只要告诉安装程序自己现在需要安装什么软件,安装程序就会自动去下载这个程序,然后安装,最后等待用户开始运行它。从这个意义上将,linux已经超越了win软件的安装方式,进一步降低了用户的参与程度,方便了用户。
其次,谈一下对开发人员来说linux有哪些优势
1.系统所有组件的源代码都是自由的
首先需要澄清的就是自由的含义。自由软件所指的自由不是免费使用,而是指程序的源代码是开放的,任何人都可以读,可以修改,唯一的*就是,修改后的程序必须连同源代码也一起发布。对于普通用户而言这一点也许没什么用处,但是对于开发人员来说,你们可以通过读取大量的经典程序的源代码,迅速提高自己的编码水平,在需要的时候可以修改源代码来适应自己的需要,当你主持一个项目的开发时,你可以通过吸收别人改进过的代码来不断提高这个项目的质量,当你的程序中存在bug的时候,会被读取代码的人迅速发现并提供补丁程序,使你的程序越来越安全。当你进入linux世界的时候你会发现,这里就是程序员的天堂,所有的一切你都可以主宰。而所有这些在linux平台上都是再正常不过的事,但是对于windows用户来说这些都是不可能的,源代码就是 windows的生命,任何未经授权的人想读到它都是不可能的。
2.有效保护学习成果
前面我们讲到linux的系统架构源于UNIX,这个架构从1969年诞生至今一直沿用,在可以预见的未来它仍然会使用下去。同时主力的开发语言一直是C语言,编辑器仍然是历史悠久的vi。虽然现在你可以使用任何一种语言来为linux系统贡献代码,但是它们的作用都是辅助性的,C语言作为这个系统的核心语言的地位没有发生变化。而windows平台则远远没有这么乐观。编程语言从古老的BASIC到后来的VB,C++到现在的C#,几年就一换,开发工具更是令人眼花缭乱,让人无从选择,无论你选择了哪种语言哪种开发工具,两三年后你都不得不学习新工具的使用,新平台的特点,以跟上微软变幻莫测的脚步。只有过来人才能体会到做windows平台开发的艰辛和无奈。
3.从就业的前景来看
目前做windows平台开发的程序员多如牛毛,没有研究生级别的学历和过硬的编码能力想找到一分待遇优厚的工作已经不可能了。而反观linux 平台开发,目前国内这方面的开发人员还很少,而linux应用已经在我国开始升温,广东省已经率先建立了linux的研发中心,在linux应用方面走在了全国前面。大家现在及时投身于linux平台的学习和开发,必定会为毕业后的求职增加一个有力的筹码。虽然现在广告上宣传的linux程序员月薪1万以上不能完全相信,但是它必定给我们一个信号,linux程序员在中国是大有前途的。
热心网友
时间:2024-11-23 07:00
linux源码开放,可以自行编写。
最重要的是免费。一看免费就知道发展前景了吧!现在的企业大多都用linux,windows主要用于家庭和学校。迅雷这个企业就是用里linux的啦!