簡體   English   中英

帶有AArch64和32位應用程序的Android內核

[英]Android kernel with AArch64 and 32bit apps

Android設備如何在運行多個(可能是幾十個)A32 apk進程的同時運行AARCH64內核? 這是否意味着內核將不斷進行數百萬次執行狀態切換?

還是Android內核在不久的將來不會成為AARCH64?

無論如何,內核都在進行那些“數百萬個執行狀態切換”。 每次執行中斷或系統調用,或計划新任務時,都會在切換到EL1的開關上保留EL0上下文,然后在返回時恢復相同或不同的上下文。 從這個位置來看,保存/恢復32位EL0與保存64位EL0之間的區別不超過所涉及的寄存器數量。 特定的AArch32 / AArch64詳細信息只是SPSR中處理器模式的一部分,由硬件作為異常進入/返回機制的固有部分來處理。

實際上,arm64內核中兼容性層的主要部分是32位和64位系統調用ABI之間的轉換。 其余的都屬於架構設計的方式。

至於“不久的將來”,具有完整的64位支持的Android L已經出現了一段時間。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM