最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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)遵守國家法律
蓬安县| 台东市| 阿合奇县| 邳州市| 资溪县| 化德县| 北辰区| 翼城县| 湖北省| 西藏| 五台县| 清水河县| 溧阳市| 万全县| 高台县| 雷州市| 萨迦县| 卓资县| 剑阁县| 珠海市| 调兵山市| 昌图县| 万年县| 闽清县| 安徽省| 通海县| 永修县| 油尖旺区| 沾益县| 崇仁县| 仙居县| 横峰县| 新河县| 封丘县| 田阳县| 霍州市| 玛曲县| 江西省| 香河县| 芮城县| 贡山|