iOS 系統分析(一) 閱讀核心準備知識,ios系統分析

來源:互聯網
上載者:User

iOS 系統分析(一) 閱讀核心準備知識,ios系統分析

更多技術乾貨請戳:聽雲部落格

0x01 iOS體系架構

1.1 iOS 系統的整體體系架構

  • 使用者體驗( The User Experience layer ):SpringBoard 同時支援 Spotlight。

  • 應用軟體開發架構(The Application Frameworks layer):Cocoa ( Cocoa Touch )。

  • 核心開發架構(The Core Frameworks):圖形和多媒體一類軟體的開發環境,包括 核心架構,Open GL和QuickTime等。

  • Darwin:系統核心核心包括 核心 和Unix Shell 環境。

1.2 Darwin體系

1.3 XNU概述

  • Darwin是一種類似unix的作業系統,他的核心是XNU。

  • XNU是一種混合式核心。結合了mach與BSD兩種核心。

  • Mach 是微核心實現。

  • BSD 實現在Mach的上層,這一層提供的API 支援了POSIX標準模型。在XNU中主要實現了一些進階的API與模組。

1.3.1 Mach 微核心簡介

  • 在XNU中主要完成以下幾個功能:

  • 進程與線程的抽象

  • 虛擬記憶體管理

  • 任務調度

  • 處理序間通訊

1.3.2 BSD 核心簡介 

  • BSD 實現在Mach的上層,這一層提供的API 支援了POSIX標準模型。在XNU中主要實現了一些進階的API與模組。

  • UNIX 進程模型;

  • POSIX 執行緒模式即pthread,以及相關的同步功能;

  • UNIX的使用者與組管理;

  • 網路通訊協定棧(BSD Socket API),符合POSIX 模型;

  • 檔案系統/裝置系統;

1.3.3 libKern

  • 實現了一個C+ +的子集(以庫的形式為支援C+ +提供了運行時),為I/O kit 提供基礎設施;

1.3.4 I/O kit 

  • I/O kit 是XNU 不同於其他動作系統的裝置驅動架構。IOKit是一個物件導向的驅動模型架構,它是早期DriverKit的一個翻版,Driver Kit是使用Objective-C寫的,而IOKit是一個C+ +的驅動架構,它在DriverKit的基礎上做了很大的改進,比如IOKit可以寫在使用者空間跑的驅動(雖然大多仍是跑在核心空間上的),因而驅動掛了而系統不會掛。另外IOKit考慮到了電腦發展的趨勢,所以在電源管理、隨插即用、動態載入上做得更好。

0x02 iOS安全機制

2.1 程式碼簽署

在iOS開發人員使用的機器上應該已經有一個認證,一個公開金鑰,以及一個私密金鑰。這些事程式碼簽署機制的核心。像SSL一樣,程式碼簽署也依賴於採用X.509 標準的公開祕密金鑰加密體系。無論是使用者還是開發人員都不能改變應用開啟策略,你必須有一個開發人員帳號或者應用發布認證才能讓應用運行在 iOS 系統上。

2.2(強制存取控制(Mandatory Access Control)

iOS的entitlement 機制的基礎。簡稱MAC,用於將系統中的資訊分密級和類進行管理,以保證每個使用者只能訪問那些被標明可以由他訪問的資訊的一種訪問約束機制。通俗的說,在MAC下,使用者與檔案都被標記了固定的安全屬性(如安全層級,存取權限等),在每次訪問發生時,系統檢測安全屬性以便確定一個使用者是否有權訪問該檔案)。

2.3 沙箱機制(sandbox)

沙箱是一種安全機制,為運行中的程式提供隔離環境。沙箱在啟動的時候可以設定啟動並執行程式是否可以訪問網路、檔案、目錄等。

參考 《深入解析Mac OS X & iOS作業系統》

原文連結:http://blog.tingyun.com/web/article/detail/1134

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.