イオスは、単純に4層に分かれています。
- UI層:メイン踏み台/スポットライト犬層
- アプリケーションフレームワーク層:ココアタッチ構成を含みます
- コアフレームワーク層は、オープンGL、オープンES、マルチメディアコンポーネントを
- drawin層:オペレーティング・システムのコア、及びコアがXNUシェル構成XNUを有します
我々の焦点は、層をdrawinされるコアは、以下のコア要素を含むXNUカーネルです。
- BSDユーザモード、
- Machカーネルモード
- libkernのC ++のライブラリ
- IOKitの図書館:外部デバイスドライバ
BSD:これは、外側コアマッハステーション、ユーザ・モードで配置されています。
1. 建立pthread 线程模版,后续的线程都是基于他的;
2. 网络协议栈(BSD Socket API),上层的CFSocket都是基于bsd 的api标准进行开发;
3. 文件系统访问,上层的处理文件操作都是根据此机制进行的;
マッハ:カーネルのコアにあります
1. 进程和线程的抽象层,后续的进程、线程操作都是基于它进行;
2. 任务调度
3. 虚拟内存管理
4. 负责进程和线程之间的通讯
iOSのセキュリティメカニズム
- コード署名:SSLを使用したアプリケーションのソースを検証するために、発行者の秘密鍵を通じて公衆に署名し、認証し、それが送信中に改ざんされているかどうか
- 分離メカニズム(サンドボックス):信頼できないアプリケーションが別々の区画で実行する必要があり、室内には、「ブラックリスト」スタイル、すべての操作が制限されますが、この環境では、実際に隔離された環境であります操作方法は、既知の危険を防止し、かつ唯一のリストだけを制限する十分な効果を持っているとき、
- 資格:動作のみで安全であることが知られているものを可能にする、より厳しいサンドボックス、「ホワイトリスト」アプローチは、他のすべての操作は、「ブラックリスト」アプローチに採用現在サンドボックス機構を交換することはできません
ます。https://www.jianshu.com/p/89437cc788e7で再現