日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于Android的最小Linux映像:MicroDroid

ss ? 來(lái)源:CSDN ? 作者:Carol ? 2021-02-03 15:31 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

【CSDN 編者按】MicroDroid 本質(zhì)上還是一個(gè) Android 系統(tǒng),換句話說(shuō),甚至不能將 MicroDroid 作為一個(gè)單獨(dú)的系統(tǒng)來(lái)使用,谷歌如今為現(xiàn)有的Android 系統(tǒng)開(kāi)發(fā)基于虛擬機(jī)技術(shù)的安全功能,MicroDroid 是為此而生的。

近日有消息稱,谷歌正在研發(fā)一個(gè)新版本的 Android 系統(tǒng),名為 MicroDroid 。這個(gè)新版本的 Android 首次官方露面是在谷歌提交的開(kāi)發(fā)說(shuō)明上,谷歌將其稱為“基于 Android 的最小 Linux 映像”。

據(jù) MicroDroid 的描述說(shuō)明顯示,MicroDroid 將在虛擬機(jī)中使用,并且被稱為“通用的 Android 系統(tǒng)鏡像(GSI)的精簡(jiǎn)版”,GSI 已經(jīng)是開(kāi)源 Android 的一個(gè)鏡像,而 MicroDroid 則是一個(gè)比通用的 Android 系統(tǒng)更精簡(jiǎn)的版本。

MicroDroid 有什么用?

剛才說(shuō)到,GSI 已經(jīng)是一個(gè)開(kāi)源的 Android 的基礎(chǔ)版本,但 MicroDroid 相對(duì)更精簡(jiǎn)。根據(jù) XDA Developers 的分析,谷歌的目標(biāo)或許是在 Android 旁側(cè)運(yùn)行的虛擬機(jī),如 DRM 相關(guān)的應(yīng)用。MicroDroid 內(nèi)部擁有少量組件,如 init 和 binder 服務(wù),以便與底層 Android 主機(jī)進(jìn)通信。

通過(guò) MicroDroid,我們可以設(shè)想在 Android 的同時(shí)運(yùn)行一個(gè)小型的虛擬機(jī),MicroDroid 是任意設(shè)備可運(yùn)行的,方便開(kāi)發(fā)者虛擬化一個(gè)單獨(dú)的 Android 應(yīng)用程序,而不是提供一個(gè)完整的輔助桌面環(huán)境。這使得在云端運(yùn)行安全應(yīng)用、在操作系統(tǒng)迭代之間切換安全配件文件的能力變得更簡(jiǎn)單。

同時(shí),也可以與市場(chǎng)上較新的芯片(如驍龍 888)中的虛擬化功能相結(jié)合。而高通方面則表示,允許隔離應(yīng)用程序和同一設(shè)備上的操作系統(tǒng)之間的數(shù)據(jù),也可以在隔離的操作系統(tǒng)之間即時(shí)更改,并且適應(yīng)性很好。

圖片來(lái)源:高通

圖為驍龍 888 上的上的新型 Type-1 虛擬機(jī)管理程序,Hypervisor 在隔離的操作系統(tǒng)之間進(jìn)行即時(shí)切換

另外,據(jù) LWN 的 Jake Edge 介紹,為了提高安全性,谷歌正在致力于將名為“KVM”的 Linux 內(nèi)核虛擬化機(jī)制引入 ARM64 soc 驅(qū)動(dòng)的 Android 設(shè)備。

據(jù)稱,引入 KVM 支持可以“取消”運(yùn)行在 Armv8 的高度特權(quán)異常級(jí)別之一的第三方代碼的特權(quán)。例如用于 DRM 、密碼學(xué)和其他二進(jìn)制文件的第三方代碼,可以在 Android 操作系統(tǒng)相同級(jí)別的 VM 中運(yùn)行。

圖片來(lái)源:ARM

為了管理這些虛擬機(jī),谷歌正在適配 Chrome OS VMM ( crosvm ),這是用于在 Chrome OS 上運(yùn)行 Linux 應(yīng)用程序。同時(shí)也準(zhǔn)備在一個(gè)名為“虛擬化”的 APEX 新包中將 Cromsvm 包含進(jìn)去一同發(fā)布、并為 Android 的 Linux 內(nèi)核分支帶來(lái) ARM64 上的“受保護(hù)的 KVM ”項(xiàng)目。

Android 解決內(nèi)核碎片化問(wèn)題迫在眉睫

MicroDroid 的誕生或許要追溯到更早之前。目前,整個(gè) Android 系統(tǒng)的最新開(kāi)發(fā)是通用內(nèi)核映像( GKI ),其目的是減少 Android 內(nèi)核的碎片化。

GKI 架構(gòu)

在傳統(tǒng)上,每個(gè)手機(jī)都有自己的內(nèi)核版本,但卻是無(wú)法擴(kuò)展的,這一特性導(dǎo)致了碎片化。若是每次更新都要同時(shí)更新多個(gè)內(nèi)核版本(不同設(shè)備)的話,就會(huì)存在困難程度上升和費(fèi)用增加的問(wèn)題,進(jìn)而導(dǎo)致某些系統(tǒng)很難更新或無(wú)法更新。如果說(shuō)某些設(shè)備的內(nèi)核太老了,沒(méi)有最新版本所需要的功能,還會(huì)導(dǎo)致這些設(shè)備無(wú)法更新 Android 版本——在早期乃至近幾年的 Android 設(shè)備市場(chǎng)中,這種情況的確是常見(jiàn)的。

這種分裂的現(xiàn)狀還帶來(lái)了另一個(gè)問(wèn)題:對(duì)上游內(nèi)核的不利。相對(duì)來(lái)說(shuō),這個(gè)問(wèn)題目前沒(méi)有得到足夠的關(guān)注。主線內(nèi)核背后的思想是擁有正確的子系統(tǒng)和抽象,以便支持各式各樣的硬件,但這是不可能做到的。因?yàn)檫@些代碼都存儲(chǔ)在不同的內(nèi)核中,就像你走進(jìn)一片巨大的森林,目之所及的僅僅是你視線范圍的樹(shù)木,不可能看清楚森林里的每一棵樹(shù)上的每一片葉子,同理,除非開(kāi)發(fā)人員能夠看到所有不同硬件下所有不同的問(wèn)題和解決方案,否則對(duì)于內(nèi)核開(kāi)發(fā)人員來(lái)說(shuō),是無(wú)法想出一個(gè)適用于所有人的抽象。

Android 內(nèi)核層次結(jié)構(gòu)導(dǎo)致碎片化

GKI 用于解決 Android 內(nèi)核碎片化問(wèn)題,而 MicroDroid 則是谷歌在 Android 硬件上支持虛擬化道路上的重要一步。

Android 虛擬化管理混亂

如今 Android 上的管理程序情況還是很混亂的。如果你認(rèn)為內(nèi)核的碎片化問(wèn)題已經(jīng)“很糟糕了”,那現(xiàn)實(shí)的情況可能是已經(jīng)“非常非常糟糕了”。

就目前而言,所有的 Android 設(shè)備都在運(yùn)行的某些版本的 Linux ,但就管理程序而言,簡(jiǎn)直分裂得就像狂野的西部世界。有些設(shè)備根本沒(méi)有管理程序,這算情況好的了,但對(duì)于有管理程序的設(shè)備而言,他們的管理程序需要用于管理不同的事情。

3.1 安全增強(qiáng)

目的是保護(hù)內(nèi)核,但是其本身也存在問(wèn)題,因?yàn)榫徑獯胧┖芏鄷r(shí)候也是攻擊的入口。并且重點(diǎn)在于,虛擬機(jī)監(jiān)控程序使用更高的特權(quán)運(yùn)行,所以其中的錯(cuò)誤可能意味著這些假定的保護(hù)程序并不能真正地保護(hù)系統(tǒng)。

3.2 粗粒度內(nèi)存分區(qū)

這個(gè)在 Android 中的粗粒度內(nèi)存分區(qū)看起來(lái)有點(diǎn)像 IOMMU ,但實(shí)際上不是。它在引導(dǎo)時(shí)用于將物理內(nèi)存劃分為多個(gè)區(qū)域,這些區(qū)域可以交給各種設(shè)備進(jìn)行 DMA 或者其他用途。但在引導(dǎo)時(shí)間之后,Hypervisor(虛擬機(jī)監(jiān)視器)還有很多工作要做,所以這類型的使用顯得有些浪費(fèi)。

3.3 在Android以外運(yùn)行代碼

Armv8 有多個(gè)特權(quán)級(jí)別,稱為異常級(jí)別,從特權(quán)級(jí)別最高的固件( EL3 )到管理程序( EL2 )和操作系統(tǒng)( EL1 ),再到特權(quán)級(jí)別最低的用戶( EL0 )。Hypervisor 異常級(jí)別不是 EL3 級(jí)別,因此設(shè)備制造商在更新那里的代碼時(shí)不必?fù)?dān)心設(shè)備的砌墻問(wèn)題,同時(shí)它也不是 EL1 級(jí)別,運(yùn)行在那里的代碼不需要與任何其他東西集成。而這意味著,EL2 成為了某種“游樂(lè)場(chǎng)”,似乎不適合其他地方的代碼會(huì)被卡在那里,因?yàn)?EL2 擁有的特權(quán)可能比需要的多得多,這是很糟糕的現(xiàn)象。

特權(quán)和例外級(jí)別

在大多數(shù)情況下,甚至沒(méi)有任何虛擬機(jī),所以這些管理程序不會(huì)提供常見(jiàn)的服務(wù)。這種情況導(dǎo)致可信計(jì)算基礎(chǔ)( TCB )增加了,安全性和功能性因此而損失,安全性受到了阻礙。而且因?yàn)樵摷?jí)別的碎片化,更新設(shè)備變得更加困難。此外,由于無(wú)法從 Android 內(nèi)部訪問(wèn)硬件虛擬化特性,功能也相應(yīng)變得很缺乏。

實(shí)際上,受信任級(jí)別比不安全級(jí)別擁有更多特權(quán),因此,受信任的操作系統(tǒng)可以映射不受信任的管理程序內(nèi)存,且可以提供訪問(wèn),這樣一來(lái)受信任的應(yīng)用程序也可以訪問(wèn)它。這在 Android 生態(tài)中是有問(wèn)題的,其中一部分原因來(lái)自于運(yùn)行在可信端的 DRM 的第三方代碼、各種不透明的二進(jìn)制 blob 、加密代碼等等,這些代碼可能并不值得信任,而且它們也會(huì)受到碎片化問(wèn)題的困擾。

內(nèi)核的 Arm64 體系結(jié)構(gòu)的維護(hù)者之一、同時(shí)也是 KVM 引入 Android 系統(tǒng)的負(fù)責(zé)人威爾·迪肯( Will Deacon )認(rèn)為,“可信”一次在很大程度上是一個(gè)營(yíng)銷術(shù)語(yǔ),目的是讓人們覺(jué)得運(yùn)行在那里的代碼是安全可靠的。但“信任”還有另一種定義,即“期待、希望或假設(shè)”,這同樣適用于當(dāng)下。Android 系統(tǒng)必須希望在受信任端運(yùn)行的軟件沒(méi)有惡意的,否則一旦惡意軟件運(yùn)行在可信任端,Android 就束手無(wú)策了。

所以,Android 如今希望有一種方式來(lái)取消這個(gè)第三方代碼的特權(quán),需要一個(gè)可移植的環(huán)境,能夠以一種與 Android 系統(tǒng)隔離的方式來(lái)承載這些服務(wù),還能將這些第三方項(xiàng)目彼此隔離?;谶@些愿景,KVM 和 MicroDroid 就應(yīng)運(yùn)而生了,MicroDroid 在 KVM 的基礎(chǔ)上能保證更安全、更快捷、更開(kāi)放的方式去進(jìn)行隔離、迭代和運(yùn)行。

另外,也有業(yè)內(nèi)人士猜測(cè),MicroDroid 也可能和谷歌努力將 Crosvm 背后的想法擴(kuò)展到 Android 應(yīng)用程序有關(guān)。不過(guò)在官宣之前,我們也只能對(duì)現(xiàn)有的信息作出一些猜測(cè),MicroDroid 背后真正的意圖是什么,或許也要等待進(jìn)一步的消息。

責(zé)任編輯:xj

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Android
    +關(guān)注

    關(guān)注

    12

    文章

    4035

    瀏覽量

    134556
  • 內(nèi)核
    +關(guān)注

    關(guān)注

    4

    文章

    1476

    瀏覽量

    43099
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    7443

    瀏覽量

    129644
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    為什么無(wú)法在 i.MX93 平臺(tái)上構(gòu)建映像?

    我嘗試使用以下命令為 i.MX93 平臺(tái)構(gòu)建 Scarthgap 映像: 比特貝克 imx-image-multimedia 但是,構(gòu)建失敗并出現(xiàn)以下錯(cuò)誤: 錯(cuò)誤:_exec_cmd:install
    發(fā)表于 04-30 06:51

    32g3 有適用于 linux 的 vr5510 驅(qū)動(dòng)程序嗎?

    HI 我正在運(yùn)行帶有linux_yocto映像的 s32g3 VNP-RDB3 板。 s32g3 有適用于 linux 的 vr5510 驅(qū)動(dòng)程序嗎? 我可以看到有支持驅(qū)動(dòng)程序https
    發(fā)表于 04-15 07:14

    IMX8MP 返回未簽名內(nèi)核映像的未找到 HAB 事件,為什么?

    我正在使用 UG10163(10.9 安全參考設(shè)計(jì))進(jìn)行安全啟動(dòng)。我生成了一個(gè) wic 映像,其中包括簽名引導(dǎo)加載程序和簽名內(nèi)核映像。 將此映像刷新到 SD卡后,我手動(dòng)將 /boot 文件夾中的簽名
    發(fā)表于 04-07 07:33

    如何在 i.MX8MQ 上啟動(dòng)具有啟動(dòng)時(shí)間的最小映像?

    如何在 i.MX8MQ 上啟動(dòng)具有啟動(dòng)時(shí)間的最小映像
    發(fā)表于 04-02 07:49

    是否需要 USB 串行連接才能啟動(dòng)到 Linux

    是否需要 USB 串行連接才能啟動(dòng)到 Linux,正如 QSG 所建議的那樣? 另外,我可以將即將發(fā)布的 Debian 映像刷新到 NVMe 并從 NVMe 啟動(dòng)嗎?
    發(fā)表于 03-24 08:32

    請(qǐng)問(wèn)如何確定我們是否安裝了最新的固件、映像、內(nèi)核?

    ,然后將完整的 image-69 重寫到 sdcard 上。 這是我想確認(rèn)我擁有最新固件和最新映像的地方。 問(wèn)題#1是否有任何命令可以驗(yàn)證正在運(yùn)行的固件? 問(wèn)題#2是否有任何命令可以驗(yàn)證正在運(yùn)行的映像
    發(fā)表于 03-23 06:40

    無(wú)法獲得在 StarFive 上運(yùn)行的 StarFive Linux 映像的 55 或 69 版本,怎么解決?

    我是 VisionFive 2 的超級(jí)早鳥支持者,我無(wú)法獲得在 StarFive 上運(yùn)行的 StarFive Linux 映像的 55 或 69 版本。綠色 LED 永遠(yuǎn)不會(huì)亮起。我嘗試過(guò)使用此方法
    發(fā)表于 03-20 07:39

    Binder?驅(qū)動(dòng)深度解析:Android IPC?的核心底層實(shí)現(xiàn)

    。 本文將基于?Android 15 + Linux 6.1?內(nèi)核源碼(kernel/drivers/android/binder.c),從核心架構(gòu)、事
    的頭像 發(fā)表于 03-12 08:11 ?542次閱讀
    Binder?驅(qū)動(dòng)深度解析:<b class='flag-5'>Android</b> IPC?的核心底層實(shí)現(xiàn)

    安裝官方 Ubuntu 23.10 映像時(shí)報(bào)錯(cuò),求解決

    我正在嘗試為我的 VisionFive 2 安裝新的 Ubuntu 23.10 服務(wù)器映像,我之前安裝了 Debian,并且有效。現(xiàn)在我從這里下載了實(shí)時(shí)安裝程序下載適用于 RISC-V 平臺(tái)
    發(fā)表于 02-10 06:54

    RK3576+Android15+Linux6.1調(diào)試EM05 4G模塊全記錄:從底層到上層的踩坑與破局

    )服務(wù)。最近我們?cè)?RK3576 開(kāi)發(fā)板 + Android15 系統(tǒng) + Linux6.1 內(nèi)核 環(huán)境下調(diào)試EM05 4G 模塊 時(shí),就遇到了從“RIL 起不來(lái)” 到 “庫(kù)缺失” 再到 “上層功能未開(kāi)” 的一系列問(wèn)題。今天就把完整的調(diào)試流程、踩過(guò)的坑和解決方案整理出來(lái),
    的頭像 發(fā)表于 02-03 15:27 ?3340次閱讀
    RK3576+<b class='flag-5'>Android15+Linux</b>6.1調(diào)試EM05 4G模塊全記錄:從底層到上層的踩坑與破局

    深入解析RK平臺(tái)Android/Linux Bootloader核心文件:android_bootloader.c

    參數(shù)組裝等關(guān)鍵工作。(這個(gè)啟動(dòng)流程androidlinux共用) 本文將從 文件定位、核心函數(shù)、執(zhí)行流程 三個(gè)維度,拆解這個(gè)文件的底層邏輯。 一、文件核
    的頭像 發(fā)表于 01-09 10:58 ?1464次閱讀
    深入解析RK平臺(tái)<b class='flag-5'>Android</b>/<b class='flag-5'>Linux</b> Bootloader核心文件:<b class='flag-5'>android</b>_bootloader.c

    Linux Swap交換空間詳解:Android編譯內(nèi)存不足?這樣擴(kuò)充立竿見(jiàn)影

    ? ? 在 ?Linux? 系統(tǒng)使用過(guò)程中,你是否遇到過(guò)? “ 內(nèi)存不足 ”? 的報(bào)錯(cuò)?比如編譯? Android? 源碼時(shí),明明按教程操作,卻因物理內(nèi)存沒(méi)達(dá)到? 16G? 要求而編譯中斷?這正是
    的頭像 發(fā)表于 12-06 08:10 ?4603次閱讀

    如何利用 DDR 參數(shù)文件生成 Linux 映像?

    如何利用 DDR 參數(shù)文件生成 Linux 映像
    發(fā)表于 09-02 06:39

    想從linux系統(tǒng)讀回CYC65215部件的配置程序映像,并檢查其CRC是否正確(假設(shè)它有附加 CRC),圖像有CRC嗎?

    我想從 linux 系統(tǒng)讀回 CYC65215 部件的配置程序映像,并檢查其 CRC 是否正確(假設(shè)它有附加 CRC)。圖像有 CRC 嗎? CRC 是否使用標(biāo)準(zhǔn)多項(xiàng)式的已知算法生成? 如果是,是哪條多項(xiàng)式?
    發(fā)表于 05-23 06:22

    為什么無(wú)法在USB控制中心選擇固件映像文件?

    我在開(kāi)發(fā) CYUSB3KIT-003 固件并將固件映像文件下載到 FX3 時(shí)遇到了一個(gè)問(wèn)題。 我通過(guò)將 PMODE[2:0] 配置為 F11 來(lái)設(shè)置 USB 啟動(dòng)模式,并像往常一樣將新開(kāi)發(fā)的固件下載
    發(fā)表于 05-07 06:14
    阿勒泰市| 永安市| 临湘市| 美姑县| 锦州市| 张北县| 宝山区| 吉木萨尔县| 宜州市| 公安县| 台湾省| 邹城市| 乐至县| 泾川县| 任丘市| 和平县| 阿拉善盟| 揭阳市| 靖远县| 台中县| 彭水| 静宁县| 册亨县| 开远市| 汶川县| 铜梁县| 桂东县| 永寿县| 白河县| 海口市| 绥滨县| 永靖县| 寿宁县| 青冈县| 海城市| 呼图壁县| 南和县| 虞城县| 都江堰市| 孝义市| 沛县|