首先明确一个概念,对于应用程序来说,不同操作系统的区别主要在于提供的API不同,如果你的程序没有调用系统提供的API,仅仅是调用了语言自身的库函数,那么程序在源码级别就是可以移植的(前提是这个语言在不同的目标操作系统都有编译器实现),但在二进制级别是不可移植的,即使不同的操作系统使用同样的硬件,因为库函数在不同的操作系统中的编译器编译出来的二进制码是不一样的,比如库函数自身对用系统API的情况。
目前为止,我只用过windows系统,但一直对Mac os x 和Linux很好奇,于是上网搜索了一番,大概有了了解。
架构
现代的os x和linux系统是基于unix的,windows不是。所以前两者对命令行界面的支持天然就很强大,而且命令行界面的风格一致。windows的命令行界面就差的太远了,不过可以使用cygwin软件来模拟unix的命令行界面。
哲学
windows系统的哲学是每个应用之间不合作,也不透明,不同的任务需要不同的应用程序来完成,所以程序往往很巨大。
Linux的哲学是KISS原则,强调透明,合作,因此对于不同的任务能够将不同的工具组合起来共同去完成。
Mac os x不太了解,不过估计应该和Linux一样。
面向人群
正是由于系统的哲学不同,导致了其面向人群的不同。
windows系统主要是面向消费者,例如常见的桌面使用。Linux主要面向开发者,例如服务器程序。Mac os x两者兼顾,不过估计Mac os x开发的服务器程序是放在Linux上跑的,毕竟Linux是免费的。
Linux各版本的简单了解@