首先要搞清楚一点,Mac OS和Windows最大的区别在于系统内核。
1.MAC OS
Mac OS可以被分成操作系统的两个系列:
* 一个是老旧且已不被支持的“Classic”Mac OS(系统搭载在1984年销售的首部Mac与其后代上,终极版本是Mac OS 9)。采用 Mach 作为内核,在OS 8以前用“System x.xx”来称呼。
* 新的Mac OS X结合BSD Unix、OpenStep和Mac OS 9的元素。它的最底层建基于Unix基础,其代码被称为Darwin,实行的是部分开放源代码。
Classic Mac OS
“Classic”Mac OS的特点是完全没有命令行模式,它是一个100%的图形操作系统。预示它容易使用,它也被指责为几乎没有内存管理、协同式多任务 (cooperative multitasking)和对扩展冲突敏感。“功能扩展”(Extensions)是扩充操作系统的程序模块,譬如:附加功能性(例如:网络)或为特殊设备提供支持。某些功能扩展倾向于不能在一起工作,或只能按某个特定次序载入。解决Mac OS的功能扩展冲突可能是一个耗时的过程。
Mac OS也引入了一种新形的文件系统,一个文件包括了两个不同的“分支”(forks)。它分别把参数存在“资源分支”(resource fork),而把原始数据存在“数据分支”(data fork)里,这在当时是非常创新的。但是,因为不能识别此系统,这让它与其它操作系统的沟通成为挑战。
Mac OS 9 使用 B+ 树结构的文件系统进行文件管理. ……
Mac OS X
为了挽救这种情况,Mac OS X使用基于BSD Unix的内核,并带来Unix风格的内存管理和先占式多工(pre-emptive multitasking)。大大改进内存管理,允许同时运行更多软件,而且实质上消除了一个程序崩溃导致其它程序崩溃的可能性。这也是首个包括“命令行”模式的Mac OS,除非执行单独的“终端”(terminal)程序,否则你可能永远也见不到。但是,这些新特征需要更多的系统资源,按官方的说法Mac OS X只能支持G3以上的新处理器(它在早期的G3处理器上执行起来比较慢)。Mac OS X有一个兼容层负责执行老旧的Mac应用程序,名为Classic环境(也就是程序员所熟知的“蓝盒子”[the blue box])。它把老的Mac OS 9.x系统的完整拷贝作为Mac OS X里一个程序执行,但执行应用程序的兼容性只能保证程序在写得很好的情况里在当前的硬件下不会产生意外。
所以MAC OS也经历过很多过去,但其调度机制是“假后台的原理”,冻结后台应用,统一唤醒,将更多的资源调整给前台应用,而且,一旦资源带不起来程序,会直接闪退,不强行运行,这种方式让MAC OS不会因为程序而变得卡顿。
2.Windows
同样是不同的内核,但是一直在升级中,比如早期windows XP以前的内核全是MS-DOS,基于MS-DOS的系统即臃肿效率又低,而且在界面可变动性、驱动自适配性都非常的差,这就导致当年大家安个声卡、网卡都得到处找驱动。
后来windows抛弃了MS-DOS内核,并重新升级DOS成为系统核心,这个时候的DOS以及只能通过命令提示符的方式呈现,实际上系统内核已经更改,仅留下少量DOS命令进行系统调配。
相比于MAC OS,Windows系统的资源调配更适合多任务同时操作,其默认后台与前台优先级相同,资源调配趋于均衡,这样导致一旦流氓后台很多,系统就卡的动也动不了。另外windows没有验证机制,也就是说只要某应用运行库支持,就会运行,即使卡成马赛克。但是WIndows毕竟是用来适配大多数不同构造的X86电脑的,如果针对某一处理器进行优化,会导致用户在其他构造电脑上使用奔溃。
所以,Windows比MAC OS确实差了很多,必须要利用其他工具来帮助系统进行资源调度,但由于其并不像MAC只针对于自己的电脑进行优化,这样的结果也是情有可原的。
欢迎关注aliquis有人科技,为您提供更多新鲜资讯!