009_【OS X和iOS系统学习笔记】 OS X架构

时间:2024-01-07 12:48:50

1.OS X是整个操作系统的集体名称,而Darwin是其中的一个组件。

2.Darwin是操作系统的类UNIX核心,本身由内核、XNU运行时组成。

3.uname指令:可以得到有关架构的详细信息以及Darwin的版本信息。

比如在Terminal中运行uname得到的结果是Darwin,

运行uname -a得到的信息:Darwin alex.local 16.4.0 Darwin Kernel Version 16.4.0: Thu Dec 22 22:53:21 PST 2016; root:xnu-3789.41.3~3/RELEASE_X86_64 x86_64 (-a 表示显示所有的参数),通过输出结果我们可以看到Darwin内核版本号是16.4.0,系统是X86_64,是64位操作系统。

4.iOS和Mac OS X

其实iOS就是Mac OS X,只不过两者之间有着区别。

iOS的内核和二进制文件编译的目标架构是基于ARM架构的,而Mac OS X是基于Intel架构的。

iOS的内核源代码是闭源的。

iOS的内核编译稍有不同,关注的是嵌入式特性和一些新的API。

iOS的系统GUI是SpringBoard,OS X的GUI最早是Aqua,后来由于iOS的启发,将SpringBoard以LaunchPad形式移植进Mac OS X。

iOS的内存管理要紧凑的多。系统限制比较严格,因此后来有了越狱这种说法。目前iOS的可越狱版本是9.3.3,更高的版本估计要继续等太极和盘古团队了,而且貌似不能通过重新刷Firmware的方式给iOS系统降级,我目前没有成功。

苹果官方OS X和iOS文档中展示的分层方法。

  • 用户体验层。Aqua(早期OS X的GUI基础,由于后来iOS GUI基础SpringBoard的出现,OS X GUI的基础变成了     LaunchBoard)、DashBoard(类似于Windows的桌面小工   具)、Spotlight(相比较于Windows系统自带查询工具的效率来说,Spotlight无疑是出色的)等等。对于iOS的用户体验层来说,主要是SpringBoard,当然,iOS里也有Spotlight。
  • 应用框架层。OS X包括了Cocoa、Carbon和Java,iOS主要是Cocoa演变的Cocoa Touch。
  • 核心框架层。图形和媒体层,包含核心框架、Open GL和QuickTime。
  • Darwin。操作系统的核心,包含内核和UNIX Shell环境。Darwin是开源的,是整个系统的基础,提供了底层的API,其他的层则是闭源的。Darwin = Mach + BSD。