黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

iPhone OS體系結(jié)構(gòu)

系統(tǒng) 2285 0

iPhone OS有著絢麗優(yōu)雅的外觀,同時也有著穩(wěn)定安全的性能。iPhone OS的圖形系統(tǒng)采用OpenGL ES作為底層驅(qū)動,同時支持硬件加速。iPhone OS的體系結(jié)構(gòu)大致可分為以下4層:

Cocoa Touch(可輕觸層)

Media(媒體層)

Core Service(核心服務(wù)層)

Core OS(核心操作系統(tǒng)層)


圖1-7所示為iPhone OS的體系結(jié)構(gòu)圖。

iPhone OS體系結(jié)構(gòu)

1、Core OS

Core OS提供了最底層的功能,iPhone OS的許多技術(shù)都是基于Core OS的。在應(yīng)用程序里面開發(fā)者雖然不會直接用到Core OS提供的功能,但是所引用的其他庫很有可能會用到Core OS提供的功能,或者依賴于Core OS。另外,當(dāng)開發(fā)者在處理安全問題或者與硬件進行溝通的時候,會直接用到Core OS提供的功能。圖1-8是Core OS的組成模塊圖。

iPhone OS體系結(jié)構(gòu)

(1)Accelerate Framework:包含了數(shù)學(xué)計算、大號碼以及數(shù)字信號處理等一系列接口。使用這個庫的好處在于,開發(fā)者可以對其進行重寫,用以優(yōu)化基于iPhone OS的不同設(shè)備的硬件特征,并且只需要寫一次就可以確保它在全部的設(shè)備上有效運行。

(2)External Accessory Framework:負責(zé)iPhone OS設(shè)備與各種附屬設(shè)備的溝通。iPhone OS設(shè)備可以通過自帶的數(shù)據(jù)線、WIFI和藍牙與附屬設(shè)備進行溝通,External Accessory Framework提供接口讓開發(fā)者可以獲取各種附屬設(shè)備的信息并且進行初始化,然后就可以放心地發(fā)送指令從而控制設(shè)備。

(3)Security Framework:用來保證應(yīng)用程序數(shù)據(jù)管理的安全性。這個庫會提供一些接口讓開發(fā)者管理證書、公共密鑰、私有密鑰和信任策略。它支持安全加密隨機數(shù)生成,同時也支持密鑰的證書存儲。

(4)System層:包括內(nèi)核、驅(qū)動和OS的各種UNIX底層接口。其中內(nèi)核是基于Mach( 用于Mac OS X的微內(nèi)核)的,它主要負責(zé)處理虛擬內(nèi)存管理、線程、文件系統(tǒng)、網(wǎng)絡(luò)和進程間通信。驅(qū)動主要為各種硬件和系統(tǒng)庫之間提供接口,iPhone OS提供接口讓應(yīng)用程序可以訪問OS的各種功能,開發(fā)者可以通過LibSystem庫來調(diào)用它們,這些接口都是基于C語言的,它們可以訪問以下功能。

線程

網(wǎng)絡(luò)

文件系統(tǒng)

標準輸入輸出

Bonjour 和DNS服務(wù)

本地信息

內(nèi)存管理

數(shù)學(xué)計算

注 Bonjour也稱為零配置聯(lián)網(wǎng),能自動發(fā)現(xiàn)IP網(wǎng)絡(luò)上的電腦、設(shè)備和服務(wù)。Bonjour 使用工業(yè)標準的IP協(xié)議來允許設(shè)備自動發(fā)現(xiàn)彼此,而不需輸入IP地址或配置DNS服務(wù)器。

Bonjour是法語中“你好”的意思,使用Bonjour的設(shè)備在網(wǎng)絡(luò)中自動傳播它們自己的服務(wù)信息并聆聽其他設(shè)備的服務(wù)信息,設(shè)備之間就像在打招呼,這也是命名為Bonjour的原因。Bonjour使局域網(wǎng)中的系統(tǒng)和服務(wù)即使在沒有網(wǎng)絡(luò)管理員的情況下也能很容易被找到。Bonjour顯示局域網(wǎng)內(nèi)支持組播域名協(xié)議的設(shè)備和應(yīng)用的名稱,采用multicast DNS來解決局域網(wǎng)內(nèi)設(shè)備的命名沖突。

2、Core Service

Core Service由兩個部分組成:一是核心服務(wù)的一系列庫;二是基于核心服務(wù)的一些高階功能。其中核心庫如下:

(1)Address Book Framework:用于地址簿管理,開發(fā)者可以通過這個庫管理電話聯(lián)系人列表,訪問聯(lián)系人列表的數(shù)據(jù)庫,然后進行添加、刪除和編輯等其他操作。

(2)CFNetwork Framework:提供了一系列的接口,可以讓開發(fā)者更方便、快捷地進行網(wǎng)絡(luò)溝通。開發(fā)者無須關(guān)注過多的細節(jié),可以花更多的精力在應(yīng)用程序上面。

(3)Core Data Framework:用于管理基于MVC模式(Model模型、View視圖、Controller控制器)應(yīng)用程序的數(shù)據(jù)模型,它是一個關(guān)系數(shù)據(jù)管理系統(tǒng)。 Core Data提供了在存儲器中保存、管理、更改以及獲取數(shù)據(jù)等基礎(chǔ)功能。

(4)Core Foundation Framework:是C語言庫,它為應(yīng)用程序提供了各種基礎(chǔ)設(shè)施。

(5)Core Location Framework:提供定位的功能,這個庫可以運用GPS、3G和WIFI來偵測用戶的位置,地圖應(yīng)用程序可以使用這個功能來顯示用戶在地圖上的位置。開發(fā)者可以將這個功能加入到應(yīng)用程序中實現(xiàn)相關(guān)的功能,如開發(fā)者可以根據(jù)位置來提供附近餐館、商店以及銀行等的搜索服務(wù)。

(6)Core Media Framework:提供比較底層的媒體處理,很多應(yīng)用程序很少用到這個庫。

(7)Core Telephony Framework:提供接口讓用戶可以收集到電話商的服務(wù)信息,例如,用戶可以知道自己用的是哪個電信商的服務(wù),知道自己的設(shè)備現(xiàn)在是不是在打電話。

(8)Event Kit Framework:可以讓用戶在自己的設(shè)備上訪問日歷事件,用它來獲取現(xiàn)有的日歷事件或者添加一個新的事件,例如進行鬧鐘控制。

(9)Foundation Framework:提供的功能和Core Foundation Framework提供的功能差不多,區(qū)別在于它是Objective-C庫。

(10)Mobile Core Services Framework:為UTI(Uniform Type Identifiers,統(tǒng)一類型的標識符)定義了比較底層的數(shù)據(jù)類型。

(11)Quick Look Framework:可以讓用戶對文件的內(nèi)容進行預(yù)覽。

(12)Store Kit Framework:為應(yīng)用程序與App Store(應(yīng)用程序商店)之間的通信提供服務(wù),應(yīng)用程序可以通過該庫從App Store接受那些用戶想要提供的產(chǎn)品信息,并顯示出來供用戶購買。當(dāng)用戶需要購買某件產(chǎn)品時,程序調(diào)用Store kit來收集購買信息。

注:App Store是蘋果公司為iPhone和iPod Touch以及iPad創(chuàng)建的服務(wù),允許用戶從App Store瀏覽和下載一些為了iPhone SDK開發(fā)的應(yīng)用程序。用戶可以購買或免費試用,將該應(yīng)用程序直接下載到iPhone或iPod Touch上。應(yīng)用程序則包括游戲、日歷、翻譯程序、圖庫以及許多實用的軟件。

(13)System Configuration Framework:可以讓用戶決定設(shè)備的網(wǎng)絡(luò)配置,通過該庫來決定是否要使用WIFI連接或者是否連接某個網(wǎng)絡(luò)服務(wù)。

基于核心服務(wù)的高級功能如下:

Block Objects :是一個C語言構(gòu)造體,開發(fā)者可以將它插入到C代碼或者Objective-C代碼中。從本質(zhì)上來說,一個Block Objects就是一個封閉函數(shù),或者說是伴隨這個函數(shù)的數(shù)據(jù)。一般來說,Block可以運用下面幾種情形:

代替代理和代理方法

代替回調(diào)函數(shù)

與分發(fā)堆棧一起實現(xiàn)異步工作

Grand Central Dispatch :簡稱GCD,可以大大提高工作效率。它可以根據(jù)處理器的數(shù)量調(diào)整應(yīng)用程序的工作負荷,而且只會使用任務(wù)所需數(shù)量的線程,從而提高應(yīng)用程序的效率。例如,在不使用GCD時,如果一個應(yīng)用程序在最大負載時需要20條線程,那么即使在空載時,它也會建立20條線程,并占用相關(guān)資源。而使用GCD時則不然,GCD會釋放閑置資源,加快整個系統(tǒng)的響應(yīng)速度。

In App Purchase :是基于Store Kit Framework實現(xiàn)的高級功能,通過這個功能用戶可以讓自己的應(yīng)用程序很好地處理賬號、App Store與應(yīng)用程序之間的關(guān)系。

Location Services :基于Core Location Framework實現(xiàn)的服務(wù)功能,可以讓應(yīng)用程序給用戶定位,查找用戶當(dāng)前位置。

SQLite(嵌入式數(shù)據(jù)庫) :可以讓開發(fā)者在應(yīng)用程序里面嵌入一個輕量級的SQL數(shù)據(jù)庫,無須建立一個分開的數(shù)據(jù)庫服務(wù)器,就可以在應(yīng)用程序里面創(chuàng)建一個Database文件,然后進行列表和記錄管理。

XML Support 可以讓開發(fā)者對XML文件進行解析。

3、Media

媒體層主要提供圖像渲染、音頻播放和視頻播放的功能。

(1)開發(fā)者可以用以下技術(shù)進行圖像渲染:

用Core Graphics進行圖像的2D渲染。

用Core Animation來提供動畫效果。

用OpenGL ES來提供對2D和3D渲染的支持,支持硬件加速。

Core Text提供了流暢的字體渲染引擎。

Image I/O 提供接口用以各種格式圖像的讀寫。

Assets Library Framework用以對用戶照片庫里的照片和視頻進行訪問。

(2)媒體層的Audio模塊提供了以下功能:

Media Player Framework可以讓用戶很容易地訪問iTunes 的最新版本庫并且支持列表播放。

注 iTunes 是供 Mac 和 PC 使用的一款免費應(yīng)用程序,能管理和播放數(shù)字音樂和視頻,讓全部媒體文件保持同步。它還是用戶電腦、iPod Touch、iPhone 和 iPad 上的虛擬商店,隨時隨地滿足一切娛樂所需。

AV Foundation提供了簡單易用的接口用以管理音頻回放和記錄。

OpenAL 提供跨平臺的接口支持音頻播放。

Core Audio Frameworks提供了一系列簡單的接口,開發(fā)者可以通過這些接口進行音頻播放和記錄,也可以用它們來播放系統(tǒng)聲音,同時管理本地音頻文件或者音頻流的多通道緩沖和回放。

(3)媒體層的Video模塊提供了以下功能:

Media Player Framework為開發(fā)者提供了一系列簡單易用的接口,開發(fā)者可以在應(yīng)用程序里面調(diào)用這些接口來進行視頻播放。

AV Foundation用以管理視頻的抓頻和回放。

Core Media提供底層的服務(wù),供上面的功能調(diào)用。

4、Cocoa Touch

作為整個OS的最頂層,這一層是最為核心的部分,它還負責(zé)處理屏幕上的多點觸摸事件、文字的輸出、圖片網(wǎng)頁的顯示、相機或文件的存取以及加速感應(yīng)的部分。下面是這一層所包含的庫:

(1)Address Book UI Framework:可以用來顯示Address Book數(shù)據(jù)庫中聯(lián)系人的數(shù)據(jù)。這個基于C的框架可以提供一個圖形界面來訪問用戶的聯(lián)系人信息,同時用戶也可以創(chuàng)建新的聯(lián)系人,刪除或者編輯已存在的聯(lián)系人。

(2)Event Kit UI Framework:基于Event Kit Framework,它主要為查看和編輯事件提供視圖控制器。

(3)Game Kit Framework:為游戲應(yīng)用程序提供點對點的網(wǎng)絡(luò)連接和語音通信來支持對戰(zhàn)游戲。這個框架支持所有的應(yīng)用程序,并且無須配對。

(4)iAd Framework :讓應(yīng)用程序播放廣告,這樣可以為應(yīng)用程序帶來額外的收入。

(5)Map Kit Framework:可以讓應(yīng)用程序中嵌入地圖和Map Kit,支持Google Mobile Maps的服務(wù)和縮放功能,自定義標簽功能以及自定義位置信息等。

(6)Message UI Framework:用于編寫和整理郵件。

(7)UIKit Framework:是這一層的核心部分,它提供了關(guān)鍵的基礎(chǔ)設(shè)施、界面渲染以及事件驅(qū)動等。


iPhone OS體系結(jié)構(gòu)


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論