iOS系統(tǒng)是如何啟動的?

iOS操作系統(tǒng)啟動流程:
第一階段 BootRom:為處理器上電/復(fù)位后執(zhí)行的第一段代碼,該段代碼為只讀(出廠后無法修改)
包含蘋果根證書頒發(fā)機(jī)構(gòu)(CA)公鑰,該階段用于驗證下一步引導(dǎo)載入程序iBoot是否經(jīng)過蘋果簽名
*所謂"越獄"的原理就是使用此階段的漏洞
第二階段 iBoot(LLB):為整個引導(dǎo)過程的核心
A9及以前:BootRom加載LLB,LLB加載iBoot
A10和之后:BootRom直接加載iBoot
該階段負(fù)責(zé)掛載系統(tǒng)分區(qū),準(zhǔn)備內(nèi)核有關(guān)參數(shù),驗證內(nèi)核簽名,啟動系統(tǒng)內(nèi)核XNU
第三階段 XNU內(nèi)核啟動:XNU為iOS和MacOS操作系統(tǒng)的內(nèi)核
該階段負(fù)責(zé)啟動下一階段launchd
第四階段 launchd:對應(yīng)Linux操作系統(tǒng)的systemd
該階段負(fù)責(zé)拉起一系列的系統(tǒng)級服務(wù)如iOS桌面-SpringBoard.app

標(biāo)簽: