说起微内核就不得不提苹果公司。苹果公司在1982年开始研发他们的Classic Mac OS,整个系统从一开始就采用了Mach微内核来作为基础内核。Classic是一个100%的GUI系统,没有终端。苹果最初设计GUI的时候,发明了一个很先进的文件系统:一个文件包括了两个不同的“分支”(forks)。它分别把参数存在“资源分支”(resource fork),而把原始数据存在“数据分支”(data fork)里,这在当时是非常创新的。但是,因为不能识别此系统,这让它与其它操作系统的沟通成为挑战。
苹果的创始人之一乔布斯带着他的NeXTStep回到了苹果公司。两家公司合并后反击微软的策略很简单——立即发布一个新的GUI系统以拖延正面交锋的时间;从新开发一个GUI,以赶上网络应用的需求;GUI以多媒体为中心。这个策略很快被实施,苹果在最短时间内开发并发布了mac OS 8,利用这个系统与windows98抢夺多媒体用户。这个行动非常成功,这为苹果公司争取到了3年多的时间以开发一个全新的系统MAC OS X。
mac OS X的GUI提供了四种开发框架:Carbon(基于C/C++的开发环境,提供了对旧版mac os开发的兼容性。MAC OS X 中的Find就是基于carbon编写的。大多数商业软件也都是基于carbon, 可以说直到今天Carbon是OSX上用的最广泛的编程环境)、Cocoa(用Objective C编写的开发环境,它基于NextStep的开发环境。事实上很多Cocoa提供的服务能够被不同的编程语言调用,甚至是script language。Cocoa本身也使用了部分Carbon提供的功能。在某种程度上Carbon和Cocoa的关系类似于以前在windows平台上win32和MFC之间的关系)、J2SE(Mac 上也提供了标准的Java 2 标准版的所有功能,事实上苹果上的Java虚拟机的AWT/JFC部分也是基于Carbon的,这也是为什么COCOA Java和标准JAVA之间相互调用会有问题产生的根本原因)、posix(UNIX遍程的标准API,,它基于C,很多GUI 系统,如Xwindows也是基于posix)。
时间进入21世纪,各种新型的GUI设计思想开始出现。其中苹果公司的Mac OS X进入开发流程,另一项试图将mac系统移植到PC上的努力也开始了,opendarwin项目正式启动。而将XFree86移植到mac的项目也开始发展起来,项目叫做Xdarwin。
前面说过,mac OS X 提供四种GUI的开发框架,一般mac OS X使用的是Cocoa开发体系,也就是NeXTStep的变种。而X window是属于posix的框架,与mac OS X默认使用的不同,所以不能直接在MAC OS X上架设X。Xdarwin项目让那些试图在mac上使用开源桌面的人的梦想得以实现。而opendarwin最新的成果表明,在x86体系上可以运行超过80%的mac软件。GUI从此开始走向统一。