ios操作系统的构造原理_第1页
ios操作系统的构造原理_第2页
ios操作系统的构造原理_第3页
ios操作系统的构造原理_第4页
ios操作系统的构造原理_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、ios操作系统的构造原理苹果手机用户越来越多,那对于ios操作系统的构造原理大 家了解多少呢?下面由小编为大家整理了 ios操作系统的构造原理的 相关知识,希望对大家有帮助。ios操作系统的构造原理一、核心操作系统层(Core OS layer)Core OS是用FreeBSD和Mach所改写的Darwin,是开源、符合POSIX标准的一个Unix核心。这一层包含或者说是提供了 整个iPhone OS的一些基础功能,比如:硬件驱动,内存管理,程 序管理,线程管理(POSIX),文件系统,网络(BSD Socket),以及标准 输入输出等等,所有这些功能都会通过 C语言的API来提供。另外, 值

2、得一题的是,这一层最具有 UNIX色彩,如果你需要把 UNIX上 所开发的程序移植到iPhone上,多半都会使用到Core OS的API.核心OS层的驱动也提供了硬件和系统框架之间的接口。然而,由于安全的考虑,只有有限的系统框架类能访问内核和驱动。iPhone OS提供了许多访问操作系统低层功能的接口集,iPhone应用通过LibSystem库来访问这些功能,这些接口集如下所示:线程(POSIX线程);网络(BSD sockets);文件系统访问;标准I/O;Bonjour 和 DNS 服务;现场信息(Locale Information);内存分配;数学计算。/usr/i nclude/许多

3、Core OS技术的头文件位于目录iPh on eSDK 是SDK的安装目录Core Services 在Core OS基础上提供了更为丰富的功能, 它 包 含 了Foun dati on .Framework禾口CoreFou ndatio n.Framework,之所以叫Fou ndation,就是因为它提供了一系列处理字串,排列,组合,日历,时间等等的基本功能。Foundation 是属于 Objective-C 的 API ,Core Fundation 是属于 C 的API。另外Core servieces还提供了其他的功能,比如:Security, Core Locati on,

4、SQLite,禾口 Address Book. 其中Security 是用来处理认证,密码管理,按安全性管理的;CoreLocation是用来处理GPS定位的;SQLLite是轻量级的数据库,而 AddressBook则用来处理电话薄资料的。下面是具体介绍:(1)电话本电话本框架(AddressBook.framework)提供了保存在手机设备中的电话本编程接口。开发者能使用该框架访问和修改存储在用 户联系 人数据库里的记录。例如,一个聊天程序可以使用该框架获 得可能的联系人列表,启动聊天的进程(Process),并在视图上显示这些联系人信息等。(2)核心基础框架核心基础框架(CoreFoun

5、dation.framework)是基于C语言的接口集,提供iPhone应用的基本数据管理和服务功能。该框架支持如下功能:Collection 数据类型(Arrays、 Sets 等);Bun dles;字符串管理;日期和时间管理;原始数据块管理;首选项管理;URL 和 Stream 操作;线程和运行循环(Run Loops);核心基础框架与基础框架是紧密相关的,它们为相同的基本功能提供了 Objective-C 接口。如果开发者混合使用Fou ndationObjects和Core Foundation类型,就能充分利用存在两个框架中的 "toll-freebridging&quo

6、t;。toll-free bridging 意味着开发者能使用这两个框架中的任何一个的核心基础和基础类型,例如Collection和字符串类型等。每个框架中的类和数据类型的描述注明该对象是否支持toll-free bridged。如果是,它与哪个对象桥接 (toll-free bridged) 。(3) CFNetworkCFNetwork 框架(CFNetwork.framework) 是一组高性能 的C语言接口集,提供网络协议的面向对象的抽象。开发者可以使 用CFNetwork框架操作协议栈,并且可以访问低层的结构如BSDSockets等。同时,开发者也能简化与 FTP和HTTP服务器的通

7、信, 或解析DNS等任务。使用CFNetwork框架实现的任务如下所示:BSD Sockets;利用SSL或TLS创建加密连接;解析 DNS Hosts;解析HTTP协议,鉴别HTTP和HTTPS服务器;在FTP服务器工作;发布、解析和浏览Bonjour服务。(4) 核心位置框架(Core Location Framework)核心位置框架(CoreLocation .framework)主要获得手机设备当前的经纬度,核心位置框架利用附近的GPS、蜂窝基站或Wi- Fi 信号信息测量用户的当前位置。iPhone地图应用使用这个功能在地 图上显示用户的当前位置。开发者能融合这个技术到自己的应用中

8、, 给用户提供一些位 置信息服务。例如可以提供一个服务:基于用户 的当前位置,查找附近的餐馆、商店或设备等。(5) 安全框架(Security Framework)iPhone OS除了内置的安全特性外,还提供了外部安全框架(Security.framework),从而确保应用数据的安全性。该框架提供了管理证书、公钥/私 钥对和信任策略等的接口。它支持产生加密安 全的伪随机数,也支持保存在密钥链的证书和密钥。 对于用户敏感的 数据,它是安全的知识库(Secure Repository)。Com mon Crypto 接口也支持对称加密、HMAC和数据摘要。在iPhone OS里没有 OpenS

9、SL库,但是数据摘要提供的功能在本质上与OpenSSL库提供的功能是一致的。(6) SQLiteiPhone应用中可以嵌入一个小型SQL数据库SQLite,而 不需要在远端运行另一个数据库服务器。开发者可以创建本地数据库文件,并管理这些 文件中的表格和记录。数据库SQLite为通用的目 的而设计,但仍可以优化为快速访问数据库记录。 访问数据库SQLite 的头文件位 于/usr/include/sqlite3.h,其中是 SDK安装的目标路径。(7) 支持XML基础框架提供 NSXMLParser类,解析XML文档元素。 libXML2库提供操作XML内容的功能,这个开放源代码的库可以快 速解

10、析和编辑 XML数据,并且转换 XML内容到HTML。访问libXML2 库的头文件位于目录/usr/include /Iibxml2/,其中是SDK安装的目标目录。三、媒体层(Media layer)如同其名,Media层提供了图片,音乐,影片等多媒体功能。图像分为2D图像和3D图像,前者由Quartz2D来支持,后 者则是用 OpenglES.与音乐对应的模组是 Core Audio和OpenAL, Media Player实现了影片的播放, 而最后还提供了 Core An imation 来对强大动画的支持。具体介绍如下:(1) 图像技术(Graphics Technologies)高质

11、量图像是所有iPhone应用的一个重要的组成部分。任 何时候,开发者可以采用UIKit框架中已有的视图和功能以及预定义 的图像来开发iPhone应用。然而,当UIKit框架中的视图和功能不 能满足需求时,开发者可以应用下面描述的技术和方法来制作视图。 Quartz。核心图像框架(CoreGraphics.framework) 包 含了 Quartz 2D 画图API, Quartz与在Mac OS中采用的矢量图画 引擎是一样先进的。Quartz支持基于路径(Path-based)画图、抗混 淆(Anti-aliased)重载、梯度(Gradients)、图像(Images)、颜色(Colors

12、)、坐标空间转换(Coordinate-space Transformations)、pdf文档创建、显示和解析。虽然 API是基于C语言的,它采用基于对 象的抽象表征基础画图对象,使得图像内容易于保存和复用。 核心动画(Core Animation) 。Quartz 核心框架 (QuartzCore.framework) 包含 CoreAnimation接 口 , CoreAn imation是一种高级动画和合成技术,它用优化的重载路径(Rendering Path)实现复杂的动画和虚拟效果。它用一种高层的 Objective-C 接口配置动画和效果,然后重载在硬件上获得较好的性 能。Cor

13、e Animation 集成到iPhone OS的许多部分,包括 UIKit 类如UIView,提供许多标准系统行为的动画。开发者也能利用这个 框架中的Objective-C 接口创建客户化的动画。 OpenGL ES。OpenGL ES 框架(OpenGLES.framework)符合OpenGL ES v1.1规范,它提供了一种绘画2D和3D内容的工 具。OpenGL ES框架是基于C语言的框架,与硬件设备紧密相关, 为全屏游戏类应用提供高帧率(high frame rates)。开发者总是要使 用OpenGL框架的EAGL接口,EAGL接口是OpenGL ES框架的一 部分,它提供了应用

14、的OpenGL ES画图代码和本地窗口对象的接口。(2) 音频技术(Audio Technologies)iPhone OS的音频技术为用户提供了丰富的音频体验。它包括音频回放,高质量的录音和触发设备的振动功能等。iPhone OS的音频技术支持如下音频格式: AAC、Apple Lossless(ALAC)、A-law、IMA/ADPCM(IMA4) 、Lin ear PCM、 μ-law 和 Core Audio 等。核心音频(Core Audio Family)。核心音频框架家族 (Core Audio family of frameworks)提供了音频的本地支持,如表16-1所

15、示。Core Audio是一个基于C语言的接口,并支持立体声 (Stereo Audio)。开发能采用 iPhone OS 的 Core Audio 框架在 iPhone应用中产生、录制、混合和播放音频。开发者也能通过核心 音频访问手机设备的振动功能。核心音频框架:框架(Framework )服务(Service )CoreAudio.framework定义核心音频的音频数据类型AudioU nit.framework提供音频和流媒体文件的回放和录制,并且管理音频文件和播放提示声音AudioToolbox.framework提供使用内置音频单元服务,音频处理模块 OpenAL。iPhone O

16、S 也支持开放音频库(Open AudioLibrary , OpenAL) 。OpenAL是一个跨平台的标准,它能传递位置 音频(Positional Audio)。开发者能应用OpenAL在需要位置音频输 出的游戏或其他应用中实现高性能、高质量的音频。由于OpenAL是一个跨平台的标准,采用 OpenAL的代码 模块可以平滑地移植到其他平台。(3) 视频技术(Video Technologies)iPhone OS 通过媒体播放框架(MediaPlayer.framework) 支持全屏视频回放。媒体播放框架支持的视频文件格式包 括.mov, .mp4,.m4v 和.3gp,并应用如下压缩

17、标准: H.264 Baseline Profile Level 3.0 video ,在 30 f/s 的 情况下分辨率达到640×480 像素。注意:不支持 B frames; MPEG4规范的视频部分; 众多的音频格式,包含在音频技术的列表里,如AAC、Apple Lossless (ALAC)、A-law、IMA/ADPCM(IMA4)、线性 PCM、 μ-law 和 Core Audio 等。最上面一层是 Cocoa Touch,它是Objective-C 的API,其中最核心的部分是 UlKit.Framework,应用程序界面上的各种组件, 全是由它来提供呈现的

18、,除此之外它还负责处理屏幕上的多点触摸事 件,文字的输出,图片,网页的显示,相机或文件的存取,以及加速 感应的部分等。具体介绍如下:(1)UIKit 框架UIKit 框架(UlKit.framework) 包含 Objective-C 程序接口, 提供实现图形,事件驱动的iPhone应用的关键架构。iPhone OS 中的每一个应用采用这个框架实现如下核心功能:应用管理;支持图形和窗口 ;支持触摸事件处理;用户接口管理;提供用来表征标准系统视图和控件的对象支持文本和Web内容;通过URL scheme与其他应用的集成。为提供基础性代码建立应用,UlKit也支持一些与设备相关的特殊功能,如下所示:加速计数据;内建 Camera;用户图片库;设备名称和模式信息。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论