主页 > Linux > [转]从程序员的角度看 Linux 和 Windows 的对比

[转]从程序员的角度看 Linux 和 Windows 的对比

        本人在 Unix SYS5 , DOS , Windows 3.x , Windows 9.x/NT 和 Linux 几个不同时期流行的 OS 上写过程序。在 Linux 和Windows 的对比中,我主要是从一个程序员的角度来看的。

    一  系统架构的对比

    1  内核

    (1)  内核的弹性
  Linux 的内核表现出了高度的可配置性和独立性,主要是完成:I/O 驱动设备管理, TCP/IP ,以及任务调度。 Linux 的标准内核发布版本有 40-50 MB ,而我现在在一些评估板上试验的嵌入式 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的几乎每个操作系统的框架设计都显得十分的随意,几乎不考虑硬件有了新的发展后,会出现什么问题。Windown 16 位和32位两个时期的操作系统出现明显的“代沟”,作为一个好的 OS ,这种硬件上的差异是应该由其本身来考虑的,而不是把问题交给二次开发者,比如定义一堆 PSZ LPSZ的指针,将来64位时代,大概要出现LLPSZ了。:)

   3  GUI 图形用户界面

  Linux 的 GUI 建立在 X-window 基础 ,这是与 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 一样,在开始的时候发展较慢,一旦过了起步阶段,就会取得惊人的发展。

作者:Icepic

非转载文章版权所有 转载时必须以链接形式注明作者和原始出处及其本声明

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据