首页 | 乐园 | 淘宝店 | 社区 | 电驴 | 网页游戏 | 网址大全

VeryCD / 社区 / 软件爱好者之家 / 精华

资源管理小组

相关主题

主题: [业界新闻][转]什么是Windows能干而Linux干不了的?

相关分类: 业界新闻
« 上一页 1 2 3 4

nianli_1 (斑竹) 2007/07/18 14:32:51 顶楼 举报

出处:华军软件园 发布日期: 2007-5-28 10:57:37 

  有个朋友看我半年没有用 Windows,有时就会问我:"你只用 Linux,有没有发现有些 Windows 能处理的事情 Linux 干不了?"
  我回答说:"Windows 能干而 Linux 干不了的事情,那就是不需要干的事情。"

IPB Image

  Windows 能做的有益的事情 Linux 都能做

  Windows 下的某些功能确实是我们需要的,那么 Linux 的开发者们和用户也需要这种功能,他们就会去实现这种功能,而且比 Windows 的方式好得多。由于大多数科学家,工程师用的都是 Linux 或者某种商业 UNIX, 所以几乎所有商业的科学工程程序,比如 Matlab, Mathematica, AutoCAD, Candence的,Synopsys的,Avant! 的......全都是先有 UNIX 的版本(包括Linux),然后再考虑移植给Windows,甚至根本不移植给 Windows,因为 Windows 的机器一般没有足够的能力运行这样的程序。你不要以为只有 Windows 才有 PSpice, UNIX 的 HSpice 要好得多,而且可以运行在大型主机上。当然它们不是免费的,但是它们值那个价钱。

  但是 Windows 下有些东西在 Linux 下没有很相似的,或者你找到很多类似的,但是它们每一个比起 Windows 的那个程序都要差很多,那么原因有两种可能性:

  有一个完全类似的程序,但是由于它乍一看不漂亮,被你忽略了。而其它程序虽然看起来很漂亮,但是它们是一些初学编程的人写的。现在由于 Gtk+, Qt 的诞生,Linux 下开发图形界面程序极其简单,很多初中生甚至小学生都可以随手编出一些漂亮不中用的程序。如果你整天寻找这样的程序挑来挑去,永远也找不到你满意的。

  我曾经也犯过这样的错误,优秀的 FVWM, lftp, Mutt, wget 都被我忽略过!当我找回它们的时候,我是那么的羞愧不已,它们现在都是我的朋友 用这些程序你可以改变它们的一切,我第一次看到 FVWM 觉得它只不过是一个有很厚很难看边框的东西。可是现在,我的同学看到 FVWM 都说:"哇!真漂亮。"

  有另一种完全不同的方式可以达到相同的目的,甚至更好。

  很多人很关心 Open Office, Star Office, AbiWord, ... 他们多么盼望有一天某一个 Linux 程序能够完全兼容的打开一个复杂的 doc 文档。但是你永远也不可能有那一天。为什么呢?因为微软为了占有市场,必定不会让其它系统的程序能够完全兼容它的文档格式!它一定会不断变化 doc 文档的内部结构,隐藏一些秘密,让其它公司的程序打开 doc 文档时总是有某种问题,从而你必需购买Microsoft Office 和 Windows。

  你应该想一下,那么多的高智商的大学教授,科学家,学生,他们用的都是 Linux或者其它类型的 UNIX,他们没有 Word 可用,怎么处理文档呢?这么多年没有一个像 Open Office 的程序出现,难道大家没有办法写文档吗?

  显然不是这样。你看看那些高水平的学术杂志,论文,那些大学教授的网页,那些漂亮的P DF幻灯片,它们是什么做的?原来 UNIX 用户早就有非常方便的 troff,LaTeX, SGML 等东西可以处理文档,而且它们比起 Word 都要高明的多。Word 显然被这些大拿忽略了,以至于很久以来没有人想在 Linux 下开发一个类似 Word的程序,除非某些公司想抢微软的饭碗。

  很多人留着 Windows 在硬盘上的原因无非是为了用 Word 和 PowerPoint。你待会儿可以看看我的TeX网页,你就会知道为什么我可以完全离开 Windows.

  Windows 能做的那些没用的事情 Linux 永远做不好

IPB Image

  电脑游戏

  有些人说 Linux 下不能玩 Windows 下所能得到的所有游戏。的确,Linux 下虽然也有少量的游戏,比如 Quake。但是它没有 Counter Strike, 没有 Star Craft,......

  并不是说电脑游戏不该玩,但是应该适可而止。电脑是用来处理事务,帮助你学习,解决问题的工具,而不是一个玩具!整天沉迷于电脑游戏中,而不出去感觉外面的世界,你会变得越来越冷酷,越来越缺乏人情味。你与真实的世界越来越远。

  你可以在 CS 里杀人,你可以在 Tomb Raider 里探险,你甚至可以在 TonyHawk's Pro Skaters 里滑板...... 但是It's not real!你虽然有很高的"反恐技巧",但是遇到歹徒的时候,你是那么的怯懦;你虽然控制 Laura 伸手敏捷,但是你打篮球的时候怎么总是被人断球?你虽然可以轻易的在 THPS 里作出一个"360 kickflip to hangten grind to fakie",但是你踩在自己的滑板上的时候还不会 ollie!

  说回来,如果你偶尔玩一下电脑游戏未尝不可。但是世界上有远比 Windows +PC 更好的游戏方式。Sony 的 PlayStation2, SEGA 的 DreamCast, Nintendo 的N64,Namco 的街机.. ....每一个都比 Windows 游戏精彩,每一个都有如此高的3D性能,以至于 Pentium4, Itanium + GForce4 都无法与它们比美!

  Linux 的用户们都是关心解决世界的关键问题的份子,他们哪里有时间用自己的机器来玩游戏啊?他们每天用Linux高效的做完自己的工作就到阳光下享受自然去了。要玩游戏也是玩一些类似推箱子,贪吃蛇之类的智力小游戏。所以,你知道为什么 Linux 几乎没有游戏了吧?

  "整理硬盘,优化系统"

  这是一个非常有意思的话题,仅次于有关"病毒"的话题。相信很多 Windows 用户都有整理硬盘的经历。在很多 Windows 用户眼里,"硬盘用久了,会出现碎片,速度会减慢,需要一个程序来整理,整理硬盘的时候不要做其它工作",这好像是天经地义的事情。

  我也曾经津津有味的看着 Norton Defrag 一点一点的把我的硬盘排序,调整,用图形的方式显示出来,然后报告:"100% 没有碎片。你的硬盘现在已经达到最佳状态。" 我现在才发觉我那时是多么的幼稚。

  Linux 和 UNIX 用户似乎从来没有"整理硬盘"这种说法呢?你觉得很奇怪吗?如果你觉得很奇怪,那说明你的思想在某种程度上被微软的垃圾程序禁锢了。你需要明白,UNIX 的大型主机很多必须是一天24小时,一年365又1/4天不停运转的,要是每个星期都要整理一次硬盘,在整理的时候几乎不能干任何事情,那是绝对行不通的!

  Linux 机器根本不用整理硬盘,这就是为什么没有看到过 Linux 用户整理硬盘。Linux 的文件系统是比 Windows 的 FAT, FAT32, NTFS 高明得多的文件系统,它们不但可以对文件设置权限,实施完全的保护,而且可以"越用越整齐","越用碎片越少"!你应该把文件大部分放在 Linux 的分区,而不是 Windows 分区,因为它比 Windows 分区可靠得多。

  还有更滑稽的事情就是有很多"Norton System Doctor","Windows 优化大师","超级兔仔注册表魔法" 之类的程序存在,而且价格昂贵。似乎一个操作系统本来应该有很多问题,需要别的厂商做程序来"优化"它,而且为了得到优化,你需要付钱!这些问题 Linux 根本就没有,所以不需要什么优化。Linux 内核本身就是高度优化的。


  IDE

  有些人在抱怨为什么 Linux 没有一个良好的 IDE 开发环境。Linux 现在已经有一些 IDE 了,但是总是有很多问题。你是不是正在寻找,正在期望 Linux 某一天可以有一个VC 那样的开发环境?你有没有发现你正在进入微软给你设下的怪圈?你为什么一定要用 IDE ?你说:"IDE 开发迅速,调试方便,适合大型程序......" 那说明微软的程序在你脑子里已经比较根深蒂固,你需要好好清醒一下了,看看我来告诉你。

  高明的 UNIX 程序员不用 IDE,IDE 从来就是给初级 Windows 程序员用的。

  你看看大型的 UNIX 程序,包括 Linux 内核,各种网络服务程序,Xwindow 程序在内,哪一个是 IDE 搞出来的?我们实验室的 EDA 程序也没有一个是 IDE 弄的,我还知道 Candence, Synopsys,Mentor 的高性能的图形界面 EDA 程序也都不是 IDE 写的。你信不信,微软的人在写 Windows 本身的时候也根本不用 IDE!

  有一次某杂志采访一些出名的 Linux 内核程序员,包括 Linus 在内,没有一个人用 IDE ,有的人用 VIM,有的用 Emacs,只有 Linus 说"GNU Emacs is evil",但是其实他用的是一种跟 Emacs 有同样键绑定功能的 MicroEmacs。大家都是用编辑器编辑了程序文件,然后用 make 这样的自动工具调用 gcc 编译器完成编译工作的。

  我以前也编过 Windows 程序:应用程序,驱动程序。但是我没有用 VC 的 IDE。Linux 教育了我,我会在命令行调用 CL,我知道 CL 才是 VC 的编译器。我可以在 cygwin 的 Makefile 里使用 CL。我还知道 CL 的参数都有什么用处。但是这些不是一个从一开头就用 IDE 的人能很快理解到的。

  我相信: IDE is evil。我有一些用 Windows 的 IDE 写程序的朋友,他们对那套东西已经很精通了。但是我却惊奇的发现,他们竟然把编译器和汇编器的概念都分不清楚,甚至有的人连"编辑器"和"编译器"都搞混淆了!他们只知道在一个窗口里输入了代码,点击一个按钮就可以编译程序,但是这里面到底是怎么工作的,他们不知道!他们被盖在上面的窗口挡住了视线,甚至会以为那个按钮就是编译器!

  他们对那些 IDE 的热键背的滚瓜烂熟,但是我却看到他们在一个函数一个函数的把别人的 ANSI 风格的代码变成 VC 的风格。想想这件事在 VIM 里有多么简单,一瞬间就可以搞定。

  为什么 UNIX 程序员不用 IDE?明白了这个道理你就能体会到 UNIX 的设计思想了。首先,一个 IDE 集成了编辑器,编译器,汇编器,调试器,跟踪器...... 这个编辑器功能肯定比不上 VIM 或 Emacs,编译器比不上 GCC,汇编器比不上 as,调试器比不上 gdb, ddd, 跟踪器比不上 strace, ltrace, truss。你得到的是一套整合的很好的低能的程序。如果你对调试器的功能不满意,你只好换用另外一套IDE,但是这套 IDE 的热键,菜单,编辑器功能,按钮...... 跟原来那个有很大不同。你不得不花很多时间来熟悉新的环境,而不能保持原来的某些东西。

  而在 UNIX 下就不一样了。你可以用你最喜欢的 VIM 编辑程序,你在 VIM 里可以调用 GNU make,make 可以调用 gcc, ld, ... 实际上 make 能帮你很多忙。make的出错信息可以被 VIM 捕获,VIM 能帮你在源程序里定位。你如果喜欢 icc, 你可以让 make 用 icc 而不是 gcc。你如果觉得 gdb 跟踪变量时比较麻烦,你可以用 ddd 来显示各种数据结构之间的关系。你还可以在 Emacs 里调用 gdb,那样就可以同步显示源代码了。而且 VIM 和 Emacs 还可以编辑很多其它东西,比如信件,LaTeX 文档,HTML,配置文件...... 你不用另外找一个什么编辑器来干这些杂活了。很多程序比如 Mutt, tin 都可以在内部使用 VIM,这样就更方便了。

  释放内存

  我在 Windows 下做过的一件最傻的事情莫过于"释放内存"了。有一天我看到一个 Windows 程序说:"这个程序可以帮你把大量内存释放出来给一个很大的程序用。"我试了一下,居然一下把我的 64M 内存释放出来 48M!我高兴极了。现在想一想,那是多么傻的事情,那么多的内存留着干什么?不用白不用啊!一操作系统,居然还需要别人写的程序来释放内存,那是什么样的操作系统?

  在 Linux 下用 free 命令,你会发现你的内存几乎每时每刻都快要被用完。那是因为 Linux 把大部分内存用来作为磁盘缓冲了。Linux 有比 Windows 先进的磁盘缓冲技术。你有没有发现你往硬盘写数据的时候,很快就完成了?那是因为 Linux在内存里有很多磁盘缓冲区,你要写到硬盘上的数据先被写到了这些内存里,然后 Linux 就告诉你"拷贝完成" ,当你马上又想删除刚才写入的某些数据时,Linux 只是把数据从内存里移除,然后报告" 删除完成"。在一定的间隔时间后,Linux 才把数据写回硬盘,这样不但高效,避免了多次硬盘操作,而且减少了文件的不连续,也就是减少了"碎片"。Windows 当然也有磁盘缓冲,但是由于它内存管理的低效率,它不敢把大量内存都用来作为磁盘缓冲,因为它没有能力在用的时候随时把内存收回来。

  Linux 能干的高级的事情 Windows 都干不了

  当然有很多事情是Linux/UNIX的专利了。因为 Windows 只能装在 PC 机上,好像以前也有 Alpha 可以使用 Windows NT,但是就是没见到有人用。PC 机的能力是很低的,像我们编程序处理 NP-Hard 问题的人,用 Windows 的机器显然速度不够,而且有时一个问题算上几天甚至几个星期,Windows 机器是以"死机"著称的,我们怎么能放心?

  所以几乎所有科学计算程序,EDA 程序,高性能图像处理程序都不是 Windows 的。他们有时也会移植一些给 Windows,但是常常降低那些程序的能力。你比较过Windows 版本的 Mathematica 和 Linux 的有什么区别吗?

  IBM 制造的最大的并行计算机有 8000 多个处理器,Windows 不可能有能力管理这么多处理器,它用的是什么操作系统?答案是 Linux。

  《泰坦尼克号》电影里的三维动画,那么细腻逼真,Windows机器能做出来吗?不行。那也是 Linux 机器做的。

  民航总局用来训练地情人员的虚拟现实训练设备,Windows 当然无能为力。那都是商业的 IRIX 机器。

  UNIX 是最早支持 TCP/IP 网络协议的系统。它上面有很多可以互相协作的网络服务程序,它们经过多年的使用和修订,已经达到比较完善的程度。而就在1997年,微软的比尔盖茨还在扬言:"Internet 是没有前途的。" 微软的这个"远见卓识"大家应该都已见识,它后来加上的网络服务程序IIS漏洞之多,让公安部都频频发出警报,大家也是见识了的。

  其实你知道了,Windows 没有一样有用的事情能比 UNIX 干的更好。

  # Linux 干不了的有用的事情 Windows 照样干不了

  当然 Linux 不是万能的。它也有不能干的事情,电脑也有干不了的事情。但是Linux 干不了的事情,Windows 肯定也干不了。这些事情就是我们需要探索,需要努力的事情了。在你探索的过程中,Linux 必定是你的好伙伴。

  UNIX 的真谛何在?

  让聪明人干任何他们想干的事情

  UNIX 的一个特点就是非常高的灵活性,Xwindow 也具有这种灵活性。这种灵活性体现在哪里呢?

  UNIX 的程序一般都有很多参数,不管你现在用的着用不着,总有人需要某些参数。它们的行为很多都可以用配置文件来改变。比如 GNU bash, 通常缺省的命令行输入方式是 Emacs 方式,但是只要我编辑一个 .inputrc 文件,就可以把它变成vi 的输入方式,而且我还可以自己绑定键序列到某些操作。我可以用 shopt 来设置它的很多特点,比如是否进行通配符扩展,是否可以把一个变量当作一个目录来cd,是否可以自动纠正某些明显的目录名打字错误 ......

  UNIX 程序设计的思想是提供给用户"机制",而不限制用户制定"政策"。这是一个重要的尊重用户的作法。

  我们再来看看 Xwindow。Xwindow 是一个出色的设计,它把显示服务器和客户程序分开。一个显示上既可以显示本机上的程序,也可以显示别的机器上的 X 程序,而它们都遵守你的窗口管理器的统一指挥,它们之间可以方便的传送剪贴版数据,各种事件 ...... 比如有时我的 XFree86 上会出现四个不同机器上的 XTerm,两个不同机器上的 GVIM,...... 它们统一受本机上的 FVWM 指挥。

  Xwindow 程序都具有很多很多命令行参数和 resource 参数。你可以随意的在命令行或者 .Xdefaults 文件设置所有的颜色,字体,尺寸...... 而且如果你用 xrdb把 .Xdefaults 导入到根窗口,那么其它机器上没有经过配置的同样的程序,显示到你的机器上的时候也会遵守同样的外观规定。

  Xwindow 的窗口具有 Property, 也就是一些可以自己定义的共享数据(原子)。正是因为这些 Property 的存在,使得 Xwindow 具有无比强大的生命力。X 的窗口管理器和其它客户程序之间并没有统一的协议,但是后来出现了 ICCCM(客户程序间通信规范),这个规范就是通过 property 定义的。现在又有人定义了一套"扩展的窗口协议(EWM Hints)",使得 Xwindow 可以具有某些 Windows 的特征,比如一个工具条程序可以告诉窗口管理器:"这个屏幕下面被我占据了24个像素的空间,你最大化程序的时候不要越过这个界线。"

  一个强大的窗口管理程序比如 FVWM,它收到这样的提示时,可以答应工具条程序的这个要求,也可以不答应。一切选择的权力在于谁?当然是用户了!一切窗口乖乖听话,FVWM 给予用户最大的尊重。

  你想想,是不是有些 Windows 程序常常弹出一个窗口要你选择 "Yes or No"?你不点击它它就不下去。你觉不觉得你的程序在侵犯你的尊严?你是一个人!还有就是很多 Windows 程序把人当成傻瓜,而它是"智能程序"。比如,有一个程序就是喜欢把你的每句话第一个字母都变成大写,我不说它是谁了,你遇到的时候就知道了。如果连"一句话开头一个字母要大写"这么明显的问题都需要程序帮你纠正的话,人脑还用来干什么?况且如果你故意想要不大写的话,那就更麻烦了,我楞是没有从它那一大堆菜单里找到怎么关闭这个愚蠢的选项。

  只有符号才能完全操纵计算机

  我们来说说很多初学 Linux 的用户。虽然他们在用 Linux,但是他们打心眼儿里是觉得 Windows 的工作方式好,他们希望 Linux 有一天能"像Windows那样"。你说:"我鼠标一点,我菜单一拉,...... 就可以完成我的操作。" 但是我要告诉你:"Linux 从来没有摹仿 Windows,将来也不会。Linux 从诞生之日起,它的工作方式就比 Windows 的先进。Linux 属于能勇敢面对符号的人。只有符号才能完全操纵计算机。"

  看看优秀的 UNIX 程序,XFree86, FVWM, VIM, Emacs, proftpd, Mutt, wget,tin, ... 没有一个不是用配置文件来设置选项的。为什么这些程序没有方便的菜单可以用来配置?难道它们的设计者就那么低能,连个图形配置界面也写不出来?

  当然不是。因为图形界面配置方式的能力是极其有限的,而配置文件和程序语言的表达能力却是无限的。用图形界面配置这些程序的话,如果你想达到配置文件的效果,你需要成百上千的菜单,checkbox, radio button, ... 到时候你根本没办法找到你需要修改的地方了!而各个程序的配置文件的语法都有很多相似之处,一般就是一些命令,设置一些变量,参数,...... 一旦用会了一个,其它的也就容易理解了。如果你用惯了 awk, sed, Perl,你会觉得那才是真正的自动化啊。

  鼠标虽然是很好的工具,但是它的表达能力是有限的。你不可能光用鼠标就让电脑完全明白你的意思,它毕竟只有3个按钮。看看我的MetaPost页你就能体会到鼠标的这一弱点。所以我们虽然很喜欢鼠标,但是却不能完全依赖它。

  各个小程序的完美配合

  这就是UNIX最重要的特点了,它就是UNIX设计的思想。让每个程序只具有一项专门的能力,然后让它们合作。Xwindow也继承了这种好传统。

  这恐怕就是Windows和其它操作系统望尘莫及的地方了。UNIX 程序设计之统一,配合之完美,真使我难以置信!shell, grep, find, awk, sed, make, Perl,Emacs, vi, tin, Mutt, ... 它们是那么的具有一致性!你一旦学会了 sed 的正则表达式,其它程序基本上都能用了。你一旦学会了 vi 和 VIM, 你会发现它的操作是那么的有规律性,似乎vi的设计者在几十年前就已经设计好了 VIM 在今天的完美而统一的操作方式!而且vi的操作还体现在 Mutt, tin 等很多程序中。你甚至可以把 bash 设置为 vi 的输入方式来输入命令行,我就是这么做的。一个程序可以调用另外一个程序来得到数据,可以把数据交给它处理后返回来,可以在自己的窗口里"嵌入"另外一个程序。

  在 Windows 和其它非 UNIX 操作系统中,这种合作是非常困难的。我曾经在Windows 下使用 Perl来进行一些自动工作。但是 Windows 的文件操作,管道是如此的不稳定,程序之间基本不能合作。你别想在 Visual Studio 窗口里面嵌入UltraEdit 编辑器,你别想用一个 expect 脚本来控制 telnet 到水木清华BBS,这就是为什么 helloooo 诞生在 Linux 而不是 Windows。我曾经试图从Windows + Exceed + SecureCRT ssh 登录到 Sun 机器,然后通过 ssh 的隧道(X11 tunnel)把 X 程序传到 Exceed 上运行,但是搞了两天都没有成功!而在Linux 下这个事情根本就是不用怎么配置的,OpenSSH 和 XFree86 本来就是完美结合,只要打开 ssh 的 "forward X11" 选项就什么都搞定了。

  Windows 的程序都是大而全,大而杂,所有的电子邮件程序都需要自己提供编辑器,自己发送和收取邮件,自己显示邮件的附件。每一个BBS程序都提供自己的 Virtual Terminal, 自己的通讯代码。每一个 IDE 都自己提供编辑器,编译器,汇编器,调试器。人们为了使用一种新的程序,需要适应所有这些它提供的界面,而不能使用自己喜欢的编辑器的键绑定,菜单组织...... 不能 DIY!

  你要知道,最高级的电脑是定做的,自己想要什么什么CPU,什么主板,多少内存,什么硬盘,键盘,鼠标,显示器都是自己选择的。最高级的滑板,自己想要什么牌子的版面,什么牌子的沙,什么桥,什么轮子,什么轴承,也都是自己选的。最高级的乒乓球拍,木板,胶皮,海绵,胶水都是可以自己选择...... 而用Windows 程序,你得到的是大杂烩,就像你去买"品牌机",只有那么几种配置,而且附带很多你不需要的软件和服务;就像你去买组装好的滑板,你想要大一点的轮子和窄一点的板子,但是你没有这种选择余地!Windo ws 程序就相当于最廉价,最次的滑板。但是它却会花你更多的钱,因为一旦一个部件坏了,或者你不喜欢了,你不能另外找一个好的换掉它,你必需重新买全套配件!

  而 UNIX 和 Xwindow 就是高档的"组装货"。比如我用 Mutt 的时候,我可以用VIM 也可以用 pico 来编辑邮件,我可以用 ImageMagick 也可以用 xv 来显示附件里的图片,我可以用 lynx 把 HTML 附件转成文本嵌入窗口中,我也可以把HTML 附件交给 Mozilla 图形显示。我可以让 GnuPG 帮我把邮件进行数字签名和加密,我也可以用其它 PGP 程序。我想让 Postfix 而不是 sendmail 帮我发出邮件,我想让 fetchmail 帮我收邮件,转发给 postfix,然后被我自己写的Perl过滤器处理...... 这一切我都可以办到!我可以选择我最喜欢的专门的程序来完成专门的工作,然后把它们结合在一起,我也可以分别得到它们的好处。

  结论

  我写这么多的目的是什么?我希望喜欢 Linux 的朋友,完全清除微软和Windows 灌输在你脑子里的谬论,别再相信它们所谓的"新技术",别再追赶Windows,因为追赶 Windows =倒退。马克思有一个思想很重要,"新生事物并不一定是在最近出现的。" UNIX,Xwindow, TeX 虽然都比 Windows 先出现,但是它们才是先进生产力的代表。我们要清楚的认识到什么才是真正的现代化,什么才是真正的自动化。

  勇敢的拿起像 bash, FVWM, VIM, Emacs, Mutt, lftp ...... 这样强大的程序,不要再埋怨"Linux 为什么不能像 Windows 那样",不要再浪费时间试用这样那样的程序,不要再忙着升级。是你需要改变而不是 Linux 和 UNIX,Linux 现在就可以成为你的好朋友。你需要认识它,了解它,信任它,才能完全的靠它来高效的工作,省出时间来处理世界上更加值得处理的事情。

分享到开心网  分享到校内  收藏到QQ书签    订阅本主題RSS更新  美味书签

2007/07/18 14:41:12nianli_1 最后编辑 | 查看全部

catking 2007/07/18 23:53:38 2楼 举报

这里说下哦,内存释放不能单纯说,操作缓冲越大效率越高。因为在服务器系统里,有个很重要的磁盘缓冲区大小设置,如果太大了,那么相对磁盘来说数据的安全性就会大大降低,如果太小了,就会使磁盘读写成为传输中一个非常突出的瓶颈。由于大部分磁盘都带有硬缓冲体,所以说拿大内存区做磁盘读写缓存是个浪费,要释放的内存应该是些读写周期较长的数据块。很多服务器启动时多会把整个系统和相关数据库注入内存中,为了就是使常用数据保持高访问性,其写入多采用写入缓存。所以服务器会有非常大的内存扩展支持。不管内存多大,其最终数据都是要周期性的写入外存储介质的。对于我们家用PC靠内存来提高效率,并非是个捷径。个人认为,尽量减少小文件单独存储,充分利用磁盘硬缓冲,减少磁盘寻道时间才是提高读/写x效率的根本。还有不要太多的让第三方程序过渡的干预文件的读写(如杀毒中的文件过滤等)。


[0] [-1] [回复]

catking 2007/07/19 00:23:55 3楼 举报

还有windows系统中的文件碎片不是说文件没有连续写入磁盘造成,是由于微软早期推出的分区文件系统格式造成的。linux我没常用,windows在写文件之前都是“预留”空间的。在写之前,文件系统会先写文件分区表索引信息,即需要多少空间,文件名等等。然后取可用空间段地址表,预先标记好地址范围后才开始写入数据的。数据写入前唯一停留的地方是硬盘的高速缓存,在这里文件都是连续地写入盘体的。所以,文件的存放由如我们在路边停自行车,碰到旁边有车了,只能是往下找空位,就出现了一起来的,车却没有停在一起的情况。不过在FAT32pro文件系统中,文件存储时会自动挑选最大匹配空间来完成文件的连续存储。除非最大的连续可用空间都不能容纳下该文件,这时才会在用完最大连续空间后继存下一可用空间。而微软采用的较为普遍且更先进的NTFS文件系统分区,则是彻底不管文件是否连续存储,通过牺牲CPU资源来读取文件索引(小数据库),以缩短文件检索时间提高文件读取效率,但磁盘的硬寻道工作还是仍然要进行的。


[0] [-2] [回复]

2007/07/19 00:26:05catking 最后编辑 | 查看全部

catking 2007/07/19 16:14:14 4楼 举报

哦觉得用户市场能说明一切。linux作为开源系统,全球不知有多少高手在为其完善。但用系统的人并非都在搞科研,他们更需要在最短时间内完成高质量工作。linux出现也有些年头了,即是开源,为何始终不能取代windows?想必这问题每个人都有自己的观点和看法,但站在客观的角度看问题是很重要的。


[0] [-1] [回复]

surfchen 2007/07/19 17:50:25 5楼 举报

这篇文章是几年前一个清华的学生(他在两年前已经从清华退学了)写的.

to catking:
除了pc桌面系统,linux的市场份额基本上都比windows要大.包括服务器市场以及各种非pc设备.例如全球的大型站点,大多数是构建在linux/unix系统上的,yahoo,google,baidu,sina,163,sohu,wikipedia,youtube,taobao,还有我们的VeryCD

windows在桌面系统的占有率如此大,简单易用确实是它早期抢占市场的原因.而抢占了一定市场之后,大量的桌面应用程序和游戏开始出现在win平台上,形成了现在的局面.要知道现在大多数人不能离开windows,已经不再是因为windows的易用性,而是因为大量的游戏和桌面应用程序.

不过要注意的是,我上面说的应用程序是指桌面应用程序,也就是具有图形界面的.在linux上有大量的,优秀的程序,但是他们不是桌面程序,例如rsync,curl,wget,apache,bash,sed,vim等等,他们中的很多也有windows的二进制版本,但是要在windows上组合使用各种工具,实在是太难了.

我是两年前开始使用linux/bsd,从易用性来看,linux桌面发行版的代表ubuntu和unix/类unix桌面的代表MacOSx已经丝毫不必windows差.而从系统性能(包括内存管理,文件系统等)上来看,linux/unix要比win好很多.windows唯一还占优的地方就是桌面程序和游戏的数量了,这个没办法,市场决定一切.当然,绝大多数windows上的桌面程序,在linux下都有替代品.我现在使用windows的理由只有两个:一是打pc游戏,二是上网络银行.

linux就是一个高可定制性,高性能的系统,你可以自己利用linux以及其他的软件来构建一个最适合你的系统.当然你也可以选择一些已经帮你定制好的发行版(你可以在它的基础上做各种调整),例如ubuntu这个目前最优秀的桌面发行版.

另外catking 提到有很多人在完善linux,我想提醒的是,微软投入的人力和物力也并不少,而且微软的员工是在全职开发,而linux世界的hacker们,很多都是在业余时间来进行linux上的开发的.而且很多电脑设备的驱动,厂商都不提供linux下的驱动,因为他们觉得linux用户太少,不值得开发相应的驱动.这些驱动都需要linux的黑客们来完成.而微软就不需要自己去开发各种驱动,因为微软现在有大量用户,他们不怕厂商不支持.


[0] [-1] [回复]

catking 2007/07/19 18:39:33 6楼 举报

linux与unix广受网络运营商的青睐,不光是网络安全及优秀的网络性能,还有一点是linux很多是免费的。而高额购买微软的NT系统的网络运营商很少,且微软系统向来都是黑客攻击的目标。我也用过linux的,只是我是个人用户,所以我对许多应用程序已经形成依赖了,而且我的编程环境多是在IDE下完成的。我也喜欢搞自创,但什么都通过自定义类引用或自己开发新功能时间不允许。用什么工具搞开发不是我们想就用的,快速实现用户需求并回收资金是公司的主旨,而我们和公司一样,没有选择,必须适应市场。

我们这发布的linux我基本照单全收了,楼上的看来是linux用户,要是装linux后,有什么不懂的可以请教你喽,呵呵。


[0] [-1] [回复]

lqhk 2007/07/19 21:27:33 7楼 举报

不太同意楼主的观点……当然,Linux是很不错的操作系统,我自己也使用过其中的一些发行版本。但是我觉得现在的Linux个性太强烈,这个样子的结果就是喜欢的会很喜欢,但是讨厌的也会坚定地抵制。看过楼上的叙述,感觉大家都在说Linux在性能啦、科学计算啦、开发啦等等这些领域有很大的优势,但问题是现在的计算机已经非常普及了,它的用途也不再单一。用户的选择决定了操作系统的发展。对于楼上各位所说的一些应用领域,主要关注的就是性能,这些领域对于系统的易用性要求不像家庭用户那么高,因为配置和管理这些系统的管理员往往是拥有专业知识的人。但我们不能要求市场上的每一个用户都为了使用计算机学习大量的专业知识,尤其是绝大多数用户更希望拥有的是一款简单易用的操作系统。我的母亲前不久才刚刚学会怎么用IE浏览网页,我承认在这个信息时代我的父母这一代人已经有点跟不上了,但是我们有义务站在他们的角度为他们设计简单易用的系统,这种简单易用也包括友好的安装和使用界面。我在学校的同学日常使用的操作系统也都是Windows,命令行和配置文件这些东西对于他们来说是陌生的。我承认他们不是高手,他们非常依赖于微软的界面和Windows下的应用软件,这也许真的是上了微软的圈套,然而市场就是这样……我想Linux如果希望得到更多的认可,最需要的不是向人们宣传这个系统有多么多么的先进。开源社区的斗士们更应该做的是脚踏实地地认真研究市场上大多数人的需求,并且努力地去适应当前已有的应用环境。大多数用户需要简单易用的界面(尽管这种界面在高手眼中可能有点低能),他们也喜欢用鼠标点来点去,那么我们是开发者,我们没有任何理由要求用户去适应开发者。对于现存的应用环境,比如广泛存在的doc格式文档,尽管我们都痛恨微软的垄断行为,但是这些文件格式的广泛存在是一个客观事实,对于客观事实,后来者必须努力适应。
无论如何,我还是很喜欢Linux的那种开放和个性,同样的,我也不排斥Windows为我提供的方便。


[+1] [0] [回复]

lhahe 2007/07/20 16:46:58 8楼 举报

这年头,咳。。。


[0] [0] [回复]

无尽空虚之畅通无阻 (组长) 2007/07/20 18:56:09 9楼 举报

引用
不太同意楼主的观点……当然,Linux是很不错的操作系统,我自己也使用过其中的一些发行版本。但是我觉得现在的Linux个性太强烈,这个样子的结果就是喜欢的会很喜欢,但是讨厌的也会坚定地抵制。看过楼上的叙述,感觉大家都在说Linux在性能啦、科学计算啦、开发啦等等这些领域有很大的优势,但问题是现在的计算机已经非常普及了,它的用途也不再单一。用户的选择决定了操作系统的发展。对于楼上各位所说的一些应用领域,主要关注的就是性能,这些领域对于系统的易用性要求不像家庭用户那么高,因为配置和管理这些系统的管理员往往是拥有专业知识的人。但我们不能要求市场上的每一个用户都为了使用计算机学习大量的专业知识,尤其是绝大多数用户更希望拥有的是一款简单易用的操作系统。我的母亲前不久才刚刚学会怎么用IE浏览网页,我承认在这个信息时代我的父母这一代人已经有点跟不上了,但是我们有义务站在他们的角度为他们设计简单易用的系统,这种简单易用也包括友好的安装和使用界面。我在学校的同学日常使用的操作系统也都是Windows,命令行和配置文件这些东西对于他们来说是陌生的。我承认他们不是高手,他们非常依赖于微软的界面和Windows下的应用软件,这也许真的是上了微软的圈套,然而市场就是这样……我想Linux如果希望得到更多的认可,最需要的不是向人们宣传这个系统有多么多么的先进。开源社区的斗士们更应该做的是脚踏实地地认真研究市场上大多数人的需求,并且努力地去适应当前已有的应用环境。大多数用户需要简单易用的界面(尽管这种界面在高手眼中可能有点低能),他们也喜欢用鼠标点来点去,那么我们是开发者,我们没有任何理由要求用户去适应开发者。对于现存的应用环境,比如广泛存在的doc格式文档,尽管我们都痛恨微软的垄断行为,但是这些文件格式的广泛存在是一个客观事实,对于客观事实,后来者必须努力适应。
无论如何,我还是很喜欢Linux的那种开放和个性,同样的,我也不排斥Windows为我提供的方便。


说的不错,实用才是多数人需要的。


[0] [0] [回复]

whitenox 2007/07/31 23:29:59 10楼 举报

不要因技术人员的固执导致Linux的发展道路越来越窄。Linux如果不能在个人用户体验上学习Windows,那么他的市场份额只能缩在服务器领域,且服务器领域的市场份额也会被windows压缩得越来越小。


[0] [0] [回复]

alayatoto | linux,你牛X... 2007/08/02 10:13:44 11楼 举报

真得这么好么?看来我要考虑试一下了,但是在这之前我要确定:
1 有我所有的硬件驱动
2 有3dmax for linux


[0] [0] [回复]

lovenet 2007/08/03 07:59:02 12楼 举报

学习,都有道理。


[0] [0] [回复]

chineson 2007/08/04 10:59:59 13楼 举报

有兴趣学习了解他.不知从那下手


[0] [0] [回复]

ourtrue 2007/08/05 00:57:06 14楼 举报

我知道有一事LINUX干不了,我一哥们为了不装“星空极速”,电信上门的时候他开一LINUX,呵呵,当个笑话讲下大家轻松下。


[0] [0] [回复]

vc077534 2007/08/05 02:03:16 15楼 举报

我不得以也让电信给我装上了`但是他一走`我转头就把它破了。


[0] [0] [回复]

nianli_1 (斑竹) 2007/08/05 09:51:19 16楼 举报

现在还有强制安装自己公司程序的,真晕。


[0] [0] [回复]

catking 2007/08/05 15:08:48 17楼 举报

好像不装也可以的,我社区的给我装宽带时就没给我装


[0] [-1] [回复]

ying1983 2007/08/13 09:47:00 18楼 举报

问题大家都在用啊。你一个人耍个性,做出来的文件,别人都打不开,怎么办?
就像我一点也不喜欢QQ,但是朋友都用的QQ,想跟他们联系也就只好用QQ了。


[+3] [0] [回复]

bihailantian426 2007/08/14 11:10:54 19楼 举报

看看,了解,一直在用linux和windows双系统,还真没仔细想过这个问题。
其实平时没那么多的需要就不必要比较这个了。


[+1] [0] [回复]

g950g950 2007/08/14 11:13:54 20楼 举报

我是用合体版的 "MacUlinux Vista XP SP2" 所以没这种问题。


[+1] [0] [回复]

叶斌 2007/08/14 13:05:59 21楼 举报

linux是给编程人员或者专业人员使用的,windows是给普通人群使用的,感谢windows,它使普通人群能够使用电脑和电脑带来的快乐。既然大家的受众不同,也就没什么好争执的,linux是linux,windows是windows,用windows的永远比linux多,因为普通人永远比专业人士多。


[0] [0] [回复]

kennyso 2007/08/16 20:18:37 22楼 举报

写个完全兼容IE的浏览器吧,没有IE,单位的OA用不了


[0] [0] [回复]

mcdullzhu 2007/08/21 17:03:27 23楼 举报

矛盾总是存在的!!!


[0] [0] [回复]

xleon 2007/08/22 02:48:50 24楼 举报

Linux门槛对于普通用户来说还是有点高。一个驱动搞不定,卡倒一片人。


[0] [0] [回复]

catking 2007/08/22 12:06:31 25楼 举报

服务器系统未必就比家用系统强,至少服务器操作与遇到的各种复杂情况比个人家用系统少得多,换言之,服务器系统工作一般单一,我们不能拿服务器系统和家用系统对比,专事专用。


[0] [-1] [回复]

catking 2007/08/22 12:09:45 26楼 举报

再申明一点,操作系统存在的本意是给使用设备的人提供一个方便快捷的设备操控接口,如果这都成问题,那就别谈什么技术含量了。


[0] [-1] [回复]

xrainfir 2007/08/26 08:04:20 27楼 举报

取得最广泛用户的使用量是Linux干不了的
不要小看游戏 游戏也是生活的重要组成
一套office 一款好的游戏就足以让用户抛弃Linux

开源工作者应该多把心思用在生产出好的产品
而不是写什么文章“把windows丢进马桶”
windows的脚步还有的Linux去追赶


[+1] [0] [回复]

2007/08/26 08:05:05xrainfir 最后编辑 | 查看全部

nautile 2007/10/07 22:20:59 28楼 举报

看过楼主的大论感觉这是大开眼界,我一直希望成为一名电脑高手,看来要走的路还很长啊!


[+1] [0] [回复]

thinkweird 2008/03/05 11:04:02 29楼 举报

Linux配置太费时间,作为桌面系统不好用——

音乐、视频、照片、中文处理

这些都比较稚嫩啊。

作为服务器,它将是我的首选。


[+1] [0] [回复]

Leniter (斑竹) 2008/03/05 12:55:40 30楼 举报

Orz 所以大家可以考虑双系统.



15-16 楼:
你们那边的电信也太没人性了吧! 我们这里都是可以选择的, 且不说系统用克隆版基本上都有了"宽带连接", 即使上门来安装的电信工作人员仅仅只会使用光盘安装星空极速, 根本懒得跟他们说, 把光盘自动运行关了他们就不懂了, 自己把帐号密码打进"宽带连接"里就 OK


[+1] [0] [回复]

« 上一页 1 2 3 4


返回组首页


您可能需要登录以后才能回复!

关于我们 | 诚聘英才 | 著作权声明 | 合作信息 | 广告事务
沪ICP备05001009号 | 上海隐志网络科技有限公司
©2003 - 2010 VeryCD.com Some Rights Reserved.