一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

基于Android的最小Linux映像:MicroDroid

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

掃碼添加小助手

加入工程師交流群

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

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

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

MicroDroid 有什么用?

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

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

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

圖片來源:高通

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

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

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

圖片來源:ARM

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

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

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

GKI 架構

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

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

Android 內(nèi)核層次結構導致碎片化

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

Android 虛擬化管理混亂

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

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

3.1 安全增強

目的是保護內(nèi)核,但是其本身也存在問題,因為緩解措施很多時候也是攻擊的入口。并且重點在于,虛擬機監(jiān)控程序使用更高的特權運行,所以其中的錯誤可能意味著這些假定的保護程序并不能真正地保護系統(tǒng)。

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

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

3.3 在Android以外運行代碼

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

特權和例外級別

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

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

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

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

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

責任編輯:xj

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

    關注

    12

    文章

    3973

    瀏覽量

    130217
  • 內(nèi)核
    +關注

    關注

    3

    文章

    1416

    瀏覽量

    41417
  • 操作系統(tǒng)

    關注

    37

    文章

    7143

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    Android 16更新亮點介紹

    Android 近期在整個平臺上推出了一系列更新,包括:發(fā)布 Android 16 并為開發(fā)者和用戶提供詳細信息,推出改進外接顯示設備上 Android 桌面體驗的開發(fā)者預覽版,為 Google
    的頭像 發(fā)表于 07-05 11:37 ?638次閱讀

    ArkUI-X與Android聯(lián)動編譯開發(fā)指南

    本文主要介紹通過CLI工具鏈執(zhí)行ace create project命令創(chuàng)建工程,生成聯(lián)動編譯腳本。使用Android Studio編譯Android應用時,可聯(lián)動編譯ArkTS源碼,并自動拷貝
    發(fā)表于 06-16 22:55

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

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

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

    我在開發(fā) CYUSB3KIT-003 固件并將固件映像文件下載到 FX3 時遇到了一個問題。 我通過將 PMODE[2:0] 配置為 F11 來設置 USB 啟動模式,并像往常一樣將新開發(fā)的固件下載
    發(fā)表于 05-07 06:14

    如何在i.MX 8XDXL EVK的A35上運行Yocto Linux,在M4上運行FreeRTOS?

    我正在使用i.MX 8XDXL 評估套件并希望在 Cortex-A35 上運行 Yocto Linux 映像cores 的Cortex-M4 上的 FreeRTOS 映像核心。 實現(xiàn)這一目標的最佳
    發(fā)表于 04-04 06:02

    3種系統(tǒng)加持!飛凌嵌入式RK3576核心板LinuxAndroid、桌面系統(tǒng)全兼容

    飛凌嵌入式FET3576-C核心板正式發(fā)布了新系統(tǒng)Forlinx Desktop 24.04。至此,F(xiàn)ET3576-C核心板已完成Linux 6.1、Android 14、Forlinx Desktop 24.04等多種操作系統(tǒng)的適配,充分展現(xiàn)了其在系統(tǒng)豐富性方面的卓越實
    的頭像 發(fā)表于 04-02 16:00 ?576次閱讀
    3種系統(tǒng)加持!飛凌嵌入式RK3576核心板<b class='flag-5'>Linux</b>、<b class='flag-5'>Android</b>、桌面系統(tǒng)全兼容

    請問如何在Linux中使用幀緩沖區(qū)更新epdc顯示?

    我正在使用帶有 epdc 顯示子卡 (IMXEBOOKDC5) 的 IMX8ULP EVK。使用 Linux 映像引導后,epdc 顯示無法使用幀緩沖區(qū)進行更新。當檢查顯示 pmic 的電源使能引腳
    發(fā)表于 04-01 06:41

    如何使用Linux映像在IMX8ULP上啟用自定義logo?

    Hi, 我正在使用IMX8ULP EVK替換為IMXEBOOKD5(帶有 EPDC 接口的 e-ink 顯示)并使用 Linux 映像啟動 EVK。我需要替換默認的燕尾服
    發(fā)表于 03-31 06:30

    android手機上emulate應用程序的方法

    Android手機上模擬(emulate)應用程序的方法通常涉及到使用Android模擬器(Emulator)或類似的工具來模擬Android環(huán)境,以便在沒有實際物理設備的情況下運行和測試應用程序
    的頭像 發(fā)表于 12-05 15:33 ?1202次閱讀

    Android11修改攝像頭前后置方法,觸覺智能RK3568開發(fā)板演示

    本文介紹在Android11系統(tǒng)下,修改攝像頭前后置屬性的方法。使用觸覺智能EVB3568鴻蒙開發(fā)板演示,搭載瑞芯微RK3568,四核A55處理器,主頻2.0Ghz,1T算力NPU;支持OpenHarmony5.0及LinuxAndr
    的頭像 發(fā)表于 11-28 15:25 ?71次閱讀
    <b class='flag-5'>Android</b>11修改攝像頭前后置方法,觸覺智能RK3568開發(fā)板演示

    飛凌嵌入式RK3576核心板已適配Android 14系統(tǒng)

    FET3576-C核心板此前已提供了Linux 6.1.57系統(tǒng),為了滿足更多客戶的需求,飛凌嵌入式近日又為其成功適配了Android 14系統(tǒng)——硬件性能卓越的核心板與Android 14的深度組合,將為用戶帶來更加流暢、開放
    的頭像 發(fā)表于 11-14 10:59 ?1352次閱讀
    飛凌嵌入式RK3576核心板已適配<b class='flag-5'>Android</b> 14系統(tǒng)

    如何為單節(jié)Impedance Track(TM)器件生成黃金映像

    電子發(fā)燒友網(wǎng)站提供《如何為單節(jié)Impedance Track(TM)器件生成黃金映像.pdf》資料免費下載
    發(fā)表于 10-17 08:32 ?0次下載
    如何為單節(jié)Impedance Track(TM)器件生成黃金<b class='flag-5'>映像</b>

    如何在android i2c控制tas5548 ?

    我想在 android i2c控制 tas5548 因為以前沒有做過驅(qū)動編程 所以想要一個現(xiàn)成驅(qū)動源碼可供學習,哪怕只能實現(xiàn)控制聲音大小. 硬件平臺是rk3288 安卓系統(tǒng)是 android 4.4.2 / linux 內(nèi)核
    發(fā)表于 09-05 07:30

    小白也會的,在linux上跑android應用的方案

    介紹一個可以在linux上跑安卓應用的linux桌面——OpenFDE
    的頭像 發(fā)表于 08-23 11:14 ?1228次閱讀
    小白也會的,在<b class='flag-5'>linux</b>上跑<b class='flag-5'>android</b>應用的方案

    請問MODUS支持LINUX、FREERTOS、UCOS、Mbed、Android所有操作系統(tǒng)嗎?

    請問 MODUS 支持 LINUX、FREERTOS、UCOS、Mbed、Android 所有操作系統(tǒng)嗎?
    發(fā)表于 07-23 06:06