iOS 是运行在移动设备上的操作系统。操作系统主要作用是管理设备硬件并为 APP 提供所需的功能,并且操作系统也包含了各种各样的的系统应用,比如电话,邮件,safari 等,为用户提供系统服务。在我们开发 iOS 应用的时候,iOS 就是我们的 APP 和 iOS 设备之间的媒介。我们 APP 是就是通过这个媒介提供的一系列的标准系统接口跟底层设备打交道,并且适配各种类型的设备。
iOS 将这些系统功能接口按照不同的层级组织起来,构成了 iOS 的系统架构。iOS的系统架构分为四个层次:核心操作系统层(Core OS layer)、核心服务层(Core Services layer)、媒体层(Media layer)和可触摸层(Cocoa Touch layer)。低层级主要提供一些基础的系统服务和功能,高层级主要提供更加面向 APP 的、易使用、更精细的服务和功能。一般的开发调用高层级的接口就可以了,因为同样的功能用低层级的接口实现将会增加很多代码量和复杂度。如果使用的功能高层级没有提供则可以使用低层级的接口实现。所有层级的功能都是通过 frameworks 提供的。下面是IOS系统结构图。
1、Core OS主要内容
Core OS是最为核心的系统层,包括了内存管理,文件系统,硬件管理,电源管理,安全管理等内容,是iOS的核心操作系统。包含内容如下图所示。
2、Core Services主要内容
iOS操作系统的Core Services包含了多种核心服务提供给 APP 使用,主要功能为 CoreFundation 和 Fundation 这两个 framework。包含内容如下图所示。
3、Media layer主要内容
苹果iOS的Media层主要包括了各种媒体文件的处理,通过它我们可以在应用程序中使用各种媒体文件,进行音频与视频的录制,图形的绘制,以及制作基础的动画效果。包含内容如下图所示。
4、Cocoa Touch layer主要内容
Cocoa Touch是可触摸层,这一层为我们的应用程序开发提供了各种有用的框架,并且大部分与用户界面有关,本质上来说它负责用户在iOS设备上的触摸交互操作以及一些其他的关键功能比如多线程和通知等。包含内容如下图所示。
备注:内容来自:《About the iOS Technologies》https://developer.apple.com/library/content/documentation/Miscellaneous/Conceptual/iPhoneOSTechOverview/Introduction/Introduction.html
部分图片为转载。