《ios操作系统的构造原理.docx》由会员分享,可在线阅读,更多相关《ios操作系统的构造原理.docx(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、ios操作系统的构造原理ios操作系统的构造原理苹果手机用户越来越多,那对于ios操作系统的构造原理大家了解多少呢?下面由学习啦我为大家整理了ios操作系统的构造原理的相关知识,希望对大家有帮助。ios操作系统的构造原理一、核心操作系统层(CoreOSlayer)CoreOS是用FreeBSD和Mach所改写的Darwin,是开源、符合POSIX标准的一个Unix核心。这一层包含或者讲是提供了整个iPhoneOS的一些基础功能,比方:硬件驱动,内存管理,程序管理,线程管理(POSIX),文件系统,网络(BSDSocket),以及标准输入输出等等,所有这些功能都会通过C语言的API来提供。另外,
2、值得一题的是,这一层最具有UNIX色彩,假如你需要把UNIX上所开发的程序移植到iPhone上,多半都会使用到CoreOS的API.核心OS层的驱动也提供了硬件和系统框架之间的接口。然而,由于安全的考虑,只要有限的系统框架类能访问内核和驱动。iPhoneOS提供了很多访问操作系统低层功能的接口集,iPhone应用通过LibSystem库来访问这些功能,这些接口集如下所示:线程(POSIX线程);网络(BSDsockets);文件系统访问;标准I/O;Bonjour和DNS服务;现场信息(LocaleInformation);内存分配;数学计算。很多CoreOS技术的头文件位于目录/usr/in
3、clude/,iPhoneSDK是SDK的安装目录。二、核心服务层(CoreServiceslayer)CoreServices在CoreOS基础上提供了更为丰富的功能,它包含了Foundation.Framework和CoreFoundation.Framework,之所以叫Foundation,就是由于它提供了一系列处理字串,排列,组合,日历,时间等等的基本功能。Foundation是属于Objective-C的API,CoreFundation是属于C的API。另外Coreservieces还提供了其他的功能,比方:Security,CoreLocation,SQLite,和Addres
4、sBook.其中Security是用来处理认证,密码管理,按安全性管理的;CoreLocation是用来处理GPS定位的;SQLLite是轻量级的数据库,而AddressBook则用来处理薄资料的。下面是详细介绍:(1)本本框架(AddressBook.framework)提供了保存在手机设备中的本编程接口。开发者能使用该框架访问和修改存储在用户联络人数据库里的记录。例如,一个聊天程序能够使用该框架获得可能的联络人列表,启动聊天的进程(Process),并在视图上显示这些联络人信息等。(2)核心基础框架核心基础框架(CoreFoundation.framework)是基于C语言的接口集,提供i
5、Phone应用的基本数据管理和服务功能。该框架支持如下功能:Collection数据类型(Arrays、Sets等);Bundles;字符串管理;日期和时间管理;原始数据块管理;首选项管理;URL和Stream操作;线程和运行循环(RunLoops);端口和Socket通信。核心基础框架与基础框架是严密相关的,它们为一样的基本功能提供了Objective-C接口。假如开发者混合使用FoundationObjects和CoreFoundation类型,就能充分利用存在两个框架中的toll-freebridging。toll-freebridging意味着开发者能使用这两个框架中的任何一个的核心基
6、础和基础类型,例如Collection和字符串类型等。每个框架中的类和数据类型的描绘注明该对象能否支持toll-freebridged。假如是,它与哪个对象桥接(toll-freebridged)。(3)CFNetworkCFNetwork框架(CFNetwork.framework)是一组高性能的C语言接口集,提供网络协议的面向对象的抽象。开发者能够使用CFNetwork框架操作协议栈,并且能够访问低层的构造如BSDSockets等。同时,开发者也能简化与FTP和HTTP服务器的通信,或解析DNS等任务。使用CFNetwork框架实现的任务如下所示:BSDSockets;利用SSL或TLS创
7、立加密连接;解析DNSHosts;解析HTTP协议,鉴别HTTP和服务器;在FTP服务器工作;发布、解析和阅读Bonjour服务。(4)核心位置框架(CoreLocationFramework)核心位置框架(CoreLocation.framework)主要获得手机设备当前的经纬度,核心位置框架利用附近的GPS、蜂窝基站或Wi-Fi信号信息测量用户的当前位置。iPhone地图应用使用这个功能在地图上显示用户的当前位置。开发者能融合这个技术到本人的应用中,给用户提供一些位置信息服务。例如能够提供一个服务:基于用户的当前位置,查找附近的餐馆、商店或设备等。(5)安全框架(SecurityFrame
8、work)iPhoneOS除了内置的安全特性外,还提供了外部安全框架(Security.framework),进而确保应用数据的安全性。该框架提供了管理证书、公钥/私钥对和信任策略等的接口。它支持产生加密安全的伪随机数,也支持保存在密钥链的证书和密钥。对于用户敏感的数据,它是安全的知识库(SecureRepository)。CommonCrypto接口也支持对称加密、HMAC和数据摘要。在iPhoneOS里没有OpenSSL库,但是数据摘要提供的功能在本质上与OpenSSL库提供的功能是一致的。(6)SQLiteiPhone应用中能够嵌入一个小型SQL数据库SQLite,而不需要在远端运行另一
9、个数据库服务器。开发者能够创立本地数据库文件,并管理这些文件中的表格和记录。数据库SQLite为通用的目的而设计,但仍能够优化为快速访问数据库记录。访问数据库SQLite的头文件位于/usr/include/sqlite3.h,其中是SDK安装的目的途径。(7)支持XML基础框架提供NSXMLParser类,解析XML文档元素。libXML2库提供操作XML内容的功能,这个开放源代码的库能够快速解析和编辑XML数据,并且转换XML内容到。访问libXML2库的头文件位于目录/usr/include/libxml2/,其中是SDK安装的目的目录。三、媒体层(Medialayer)好像其名,Med
10、ia层提供了图片,音乐,影片等多媒体功能。图像分为2D图像和3D图像,前者由Quartz2D来支持,后者则是用OpenglES.与音乐对应的模组是CoreAudio和OpenAL,MediaPlayer实现了影片的播放,而最后还提供了CoreAnimation来对强大动画的支持。详细介绍如下:(1)图像技术(GraphicsTechnologies)高质量图像是所有iPhone应用的一个重要的组成部分。任何时候,开发者能够采用UIKit框架中已有的视图和功能以及预定义的图像来开发iPhone应用。然而,当UIKit框架中的视图和功能不能知足需求时,开发者能够应用下面描绘的技术和方法来制作视图。
11、Quartz。核心图像框架(CoreGraphics.framework)包含了Quartz2D画图API,Quartz与在MacOS中采用的矢量图画引擎是一样先进的。Quartz支持基于途径(Path-based)画图、抗混淆(Anti-aliased)重载、梯度(Gradients)、图像(Images)、颜色(Colors)、坐标空间转换(Coordinate-spaceTransformations)、pdf文档创立、显示和解析。固然API是基于C语言的,它采用基于对象的抽象表征基础画图对象,使得图像内容易于保存和复用。核心动画(CoreAnimation)。Quartz核心框架(Qu
12、artzCore.framework)包含CoreAnimation接口,CoreAnimation是一种高级动画和合成技术,它用优化的重载途径(RenderingPath)实现复杂的动画和虚拟效果。它用一种高层的Objective-C接口配置动画和效果,然后重载在硬件上获得较好的性能。CoreAnimation集成到iPhoneOS的很多部分,包括UIKit类如UIView,提供很多标准系统行为的动画。开发者也能利用这个框架中的Objective-C接口创立客户化的动画。OpenGLES。OpenGLES框架(OpenGLES.framework)符合OpenGLESv1.1规范,它提供了一
13、种绘画2D和3D内容的工具。OpenGLES框架是基于C语言的框架,与硬件设备严密相关,为全屏游戏类应用提供高帧率(highframerates)。开发者总是要使用OpenGL框架的EAGL接口,EAGL接口是OpenGLES框架的一部分,它提供了应用的OpenGLES画图代码和本地窗口对象的接口。(2)音频技术(AudioTechnologies)iPhoneOS的音频技术为用户提供了丰富的音频体验。它包括音频回放,高质量的录音和触发设备的振动功能等。iPhoneOS的音频技术支持如下音频格式:AAC、AppleLossless(ALAC)、A-law、IMA/ADPCM(IMA4)、Lin
14、earPCM、-law和CoreAudio等。核心音频(CoreAudioFamily)。核心音频框架家族(CoreAudiofamilyofframeworks)提供了音频的本地支持,如表16-1所示。CoreAudio是一个基于C语言的接口,并支持立体声(StereoAudio)。开发能采用iPhoneOS的CoreAudio框架在iPhone应用中产生、录制、混合和播放音频。开发者也能通过核心音频访问手机设备的振动功能。核心音频框架:框架Framework服务ServiceCoreAudio.framework定义核心音频的音频数据类型AudioUnit.framework提供音频和流媒
15、体文件的回放和录制,并且管理音频文件和播放提示声音AudioToolbox.framework提供使用内置音频单元服务,音频处理模块OpenAL。iPhoneOS也支持开放音频库(OpenAudioLibrary,OpenAL)。OpenAL是一个跨平台的标准,它能传递位置音频(PositionalAudio)。开发者能应用OpenAL在需要位置音频输出的游戏或其他应用中实现高性能、高质量的音频。由于OpenAL是一个跨平台的标准,采用OpenAL的代码模块能够平滑地移植到其他平台。(3)视频技术(VideoTechnologies)iPhoneOS通过媒体播放框架(MediaPlayer.f
16、ramework)支持全屏视频回放。媒体播放框架支持的视频文件格式包括.mov,.mp4,.m4v和.3gp,并应用如下压缩标准:H.264BaselineProfileLevel3.0video,在30f/s的情况下分辨率到达640480像素。注意:不支持Bframes;MPEG4规范的视频部分;诸多的音频格式,包含在音频技术的列表里,如AAC、AppleLossless(ALAC)、A-law、IMA/ADPCM(IMA4)、线性PCM、-law和CoreAudio等。四、可触摸层(CocoaTouchlayer)最上面一层是CocoaTouch,它是Objective-C的API,其中最
17、核心的部分是UIKit.Framework,应用程序界面上的各种组件,全是由它来提供呈现的,除此之外它还负责处理屏幕上的多点触摸事件,文字的输出,图片,网页的显示,相机或文件的存取,以及加速感应的部分等。详细介绍如下:(1)UIKit框架UIKit框架(UIKit.framework)包含Objective-C程序接口,提供实现图形,事件驱动的iPhone应用的关键架构。iPhoneOS中的每一个应用采用这个框架实现如下核心功能:应用管理;支持图形和窗口;支持触摸事件处理;用户接口管理;提供用来表征标准系统视图和控件的对象;支持文本和Web内容;通过URLscheme与其他应用的集成。为提供基
18、础性代码建立应用,UIKit也支持一些与设备相关的特殊功能,如下所示:加速计数据;内建Camera;用户图片库;设备名称和形式信息。(2)基础框架(FoundationFramework)基础框架(Foundation.framework)支持如下功能:Collection数据类型(包括Arrays、Sets);Bundles;字符串管理;日期和时间管理;原始数据块管理;首选项管理;线程和循环;URL和Stream处理;Bonjour;通信端口管理;国际化。(3)本UI框架(AddressBookUIFramework)本UI框架(AddressBookUI.framework)是一个Objective-C标准程序接口,主要用来创立新联络人,编辑和选择本中存在的联络人。它简化了在iPhone应用中显示联络人信息,并确保所有应用使用一样的程序接口,保证应用在不同平台的一致性。ios操作系统的构造原理苹果手机用户越来越多,那对于ios操作系统的构造原理大家了解多少呢?下面由学习啦我为大家整理了ios操作系统的构造原理的相关知识,希望对大家有帮助。ios操作系统的构造原理一、核心操作系统层(CoreOSlayer)CoreOS是用FreeBSD推荐度: