五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

OHOS(2) init

2023-07-15 13:09 作者:FineClassFuture  | 我要投稿

啟動(dòng)

https://docs.openharmony.cn/pages/v4.0/zh-cn/device-dev/subsystems/subsys-boot-overview.md/

????init組件,init(elf)?讀取init.cfg然后執(zhí)行其內(nèi)容任務(wù),其中有了點(diǎn)小變化,即所謂的“安全性”“微服務(wù)”。

https://docs.openharmony.cn/pages/v4.0/zh-cn/device-dev/subsystems/subsys-boot-ref.md/



沙盒

????https://docs.openharmony.cn/pages/v4.0/zh-cn/device-dev/subsystems/subsys-boot-init-sandbox.md/

基本概念

????在init里面創(chuàng)建系統(tǒng)組件沙盒和芯片組件沙盒,native服務(wù)根據(jù)功能進(jìn)入system沙盒或者chipset沙盒。在system-sandbox.json、chipset-sandbox.json等配置文件中設(shè)置沙盒組件中mount bind 的目錄或文件,實(shí)現(xiàn)沙盒組件通過mount屬性進(jìn)行隔離。同時(shí),提供了一種沙盒調(diào)試工具,當(dāng)需要在沙盒內(nèi)驗(yàn)證或者進(jìn)行沙盒相關(guān)開發(fā)時(shí),方便對(duì)需求進(jìn)行調(diào)試、驗(yàn)證、完善。begetctl沙盒命令參考:?begetctl命令說明

約束與限制

????僅標(biāo)準(zhǔn)系統(tǒng)下使用。


????其實(shí)就是linux namespace,docker的核心關(guān)鍵技術(shù),linux kernel內(nèi)部提供的功能

(來自網(wǎng)絡(luò)文章簡介)

????namespace 是 Linux 內(nèi)核用來隔離內(nèi)核資源的方式。通過 namespace 可以讓一些進(jìn)程只能看到與自己相關(guān)的一部分資源,而另外一些進(jìn)程也只能看到與它們自己相關(guān)的資源,這兩撥進(jìn)程根本就感覺不到對(duì)方的存在。具體的實(shí)現(xiàn)方式是把一個(gè)或多個(gè)進(jìn)程的相關(guān)資源指定在同一個(gè) namespace 中。

????Linux namespaces 是對(duì)全局系統(tǒng)資源的一種封裝隔離,使得處于不同 namespace 的進(jìn)程擁有獨(dú)立的全局系統(tǒng)資源,改變一個(gè) namespace 中的系統(tǒng)資源只會(huì)影響當(dāng)前 namespace 里的進(jìn)程,對(duì)其他 namespace 中的進(jìn)程沒有影響。

????Linux 提供了多個(gè) API 用來操作 namespace,它們是 clone()、setns() 和 unshare() 函數(shù),為了確定隔離的到底是哪項(xiàng) namespace,在使用這些 API 時(shí),通常需要指定一些調(diào)用參數(shù):CLONE_NEWIPC、CLONE_NEWNET、CLONE_NEWNS、CLONE_NEWPID、CLONE_NEWUSER、CLONE_NEWUTS 和 CLONE_NEWCGROUP。如果要同時(shí)隔離多個(gè) namespace,可以使用 | (按位或)組合這些參數(shù)。同時(shí)我們還可以通過 /proc 下面的一些文件來操作 namespace。

????從版本號(hào)為 3.8 的內(nèi)核開始,/proc/[pid]/ns 目錄下會(huì)包含進(jìn)程所屬的 namespace 信息



init(elf)?

????之前簡單版的已了解,現(xiàn)在的版本只是添加了沙盒和啟動(dòng)服務(wù)代碼的框架化。

????還是在base/startup/init/services/init下

  1. init進(jìn)程啟動(dòng)后,會(huì)掛載tmpfs,procfs,創(chuàng)建基本的dev設(shè)備節(jié)點(diǎn),提供最基本的根文件系統(tǒng)。

  2. init也會(huì)啟動(dòng)ueventd監(jiān)聽內(nèi)核熱插拔設(shè)備事件,為這些設(shè)備創(chuàng)建dev設(shè)備節(jié)點(diǎn)。包括block設(shè)備各個(gè)分區(qū)設(shè)備都是通過此事件創(chuàng)建。

  3. init進(jìn)程掛載block設(shè)備各個(gè)分區(qū)(system,vendor)后,開始掃描各個(gè)系統(tǒng)服務(wù)的init啟動(dòng)腳本,并拉起各個(gè)SA服務(wù)。讀取init.cfg配置文件,根據(jù)解析結(jié)果,執(zhí)行相應(yīng)命令并依次啟動(dòng)各關(guān)鍵系統(tǒng)服務(wù)進(jìn)程,在啟動(dòng)系統(tǒng)服務(wù)進(jìn)程的同時(shí)設(shè)置其對(duì)應(yīng)權(quán)限。

????(這部分,在最后做產(chǎn)品(不做OH認(rèn)證情況下)時(shí),會(huì)修改為自己的代碼流程,做自己的更簡單的init任務(wù))


xx.cfg

https://docs.openharmony.cn/pages/v4.0/zh-cn/device-dev/subsystems/subsys-boot-init-cfg.md/


啟動(dòng)配置文件(init.cfg),文件由jobs、services和import組成。

????services(linux內(nèi)核支持), 用于配置系統(tǒng)支持的native服務(wù),服務(wù)具體配置參考?服務(wù)管理。

????jobs, 配置等待執(zhí)行命令集合,jobs具體參考?jobs管理。

????import(linux內(nèi)核支持),import是導(dǎo)入cfg文件,目的是減少cfg大小,分離不同的功能。


init.cfg默認(rèn)配置文件,由init系統(tǒng)定義,優(yōu)先解析。

/system/etc/init/*.cfg各子系統(tǒng)定義的配置文件。

/vendor/etc/init/*.cfg廠商定義的配置文件。


? ? 還有一些 設(shè)備系統(tǒng)等信息


除了沙盒也沒有什么特別的,就是那么回事:為了規(guī)范、安全,就要立規(guī)矩、立框架,然后越來越復(fù)雜。(這其實(shí)就是linuxkernel宏內(nèi)核經(jīng)歷過的事)



OHOS(2) init的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
阜宁县| 南川市| 黔西县| 麻城市| 当涂县| 巴彦淖尔市| 天镇县| 石楼县| 张家港市| 胶州市| 湟中县| 娄烦县| 松滋市| 荥经县| 象山县| 休宁县| 加查县| 江孜县| 健康| 卢氏县| 香格里拉县| 奉节县| 新和县| 吕梁市| 凭祥市| 罗山县| 孝义市| 靖安县| 三明市| 汤原县| 巴彦县| 无极县| 咸丰县| 井陉县| 长垣县| 沙湾县| 依兰县| 永济市| 大石桥市| 綦江县| 隆回县|