ภาพรวม Android Virtualization Framework (AVF)

จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ

Android Virtualization Framework (AVF) ให้สภาพแวดล้อมการทำงานที่ปลอดภัยและเป็นส่วนตัวสำหรับการรันโค้ด AVF เหมาะอย่างยิ่งสำหรับกรณีการใช้งานที่เน้นการรักษาความปลอดภัย ซึ่งต้องการการรับรองการแยกที่แข็งแกร่ง แม้จะได้รับการยืนยันอย่างเป็นทางการแล้วก็ตาม เหนือสิ่งที่เสนอโดยแซนด์บ็อกซ์แอปของ Android Android มีการใช้งานอ้างอิงของส่วนประกอบทั้งหมดที่จำเป็นในการใช้งาน AVF ปัจจุบัน AVF รองรับเฉพาะอุปกรณ์ ARM64 รูปที่ 1 แสดงสถาปัตยกรรมของ AVF:

สถาปัตยกรรม AVF

รูปที่ 1. สถาปัตยกรรม AVF

นี่คือคำจำกัดความของคำศัพท์ที่สำคัญที่สุดจากรูปที่ 1:

apexd และ zipfuse
ติดตั้ง APEX และ APK ที่นำเข้าจากโฮสต์อย่างปลอดภัย
authfs
ระบบไฟล์ฟิวส์สำหรับการแชร์ไฟล์หลายไฟล์ระหว่าง Android และ pVM (โฮสต์และแขก)
เครื่องผูก
วิธีการหลักในการสื่อสารระหว่าง VM
crossvm
จอภาพเครื่องเสมือนเขียนขึ้นสนิม crossvm จัดสรรหน่วยความจำ VM สร้างเธรด CPU เสมือน และใช้แบ็คเอนด์ของอุปกรณ์เสมือน
รูปภาพเคอร์เนลทั่วไป (GKI)
อิมเมจสำหรับบูตที่รับรองโดย Google ที่มีเคอร์เนล GKI ที่สร้างจากทรีซอร์สของ Android Common Kernel (ACK) และเหมาะสมที่จะแฟลชไปยังพาร์ติชั่นสำหรับเริ่มระบบของอุปกรณ์ Android สำหรับข้อมูลเพิ่มเติม โปรดดูที่ ภาพรวมเคอร์เนล
ไฮเปอร์ไวเซอร์
เทคโนโลยีการจำลองเสมือนที่ใช้โดย AVF หรือที่เรียกว่า pKVM ไฮเปอร์ไวเซอร์รักษาความสมบูรณ์ของโค้ดที่ดำเนินการและการรักษาความลับของสินทรัพย์ของ pVM แม้ว่า Android หรือ pVM อื่นๆ จะถูกบุกรุกก็ตาม
Java API
VirtualizationService Java APIs ซึ่งมีอยู่ในอุปกรณ์ที่รองรับ AVF เท่านั้น API เหล่านี้เป็นทางเลือกและไม่ได้เป็นส่วนหนึ่งของ thebootclasspath
ไมโครดรอยด์
ระบบปฏิบัติการ Android ขนาดเล็กที่ Google จัดหาให้ซึ่งทำงานใน pVM
Microdroid Manager
จัดการวงจรชีวิต pVM ภายใน pVM และดิสก์อินสแตนซ์
Native API
ชุดย่อยของ Android Native Developers Kit (NDK)
เครื่องเสมือนที่ใช้เคอร์เนลที่ได้รับการป้องกัน (pKVM)
ดู ไฮเปอร์ ไวเซอร์
เฟิร์มแวร์ pVM ( pvmfw )
รหัสแรกที่รันบน pVM, pvmfw ตรวจสอบเพย์โหลดและรับความลับต่อ VM
เครื่องเสมือนที่ได้รับการป้องกัน (pVM)

สภาพแวดล้อมการทำงานที่แยกจากกันที่ไม่น่าเชื่อถือร่วมกัน ("แขก") ซึ่งทำงานควบคู่ไปกับระบบปฏิบัติการ Android หลัก ("โฮสต์") pVM ได้รับการจัดการโดย pKVM

เมื่อเปรียบเทียบกับสภาพแวดล้อมการดำเนินการที่เชื่อถือได้ (TEE) แล้ว pVM ให้สภาพแวดล้อมที่สมบูรณ์ยิ่งขึ้น รวมถึงการแจกจ่าย mini-Android ที่เรียกว่า Microdroid สามารถใช้ pVM แบบไดนามิกและจัดเตรียมชุด API มาตรฐานที่มีอยู่ในอุปกรณ์ทั้งหมดที่รองรับ

VirutalizationService

บริการ Android ที่จัดการวงจรชีวิตของ pVM

อะไรต่อไป?

  • หากคุณต้องการเข้าใจความต้องการ AVF มากขึ้น ให้ดูที่ ทำไมต้อง AVF? .
  • หากต้องการอ่านเกี่ยวกับวิธีใช้ AVF สำหรับการรวบรวมแบบแยก โปรดดู กรณีการใช้ งาน
  • หากคุณต้องการคำอธิบายเชิงลึกเพิ่มเติมเกี่ยวกับสถาปัตยกรรมของการนำการอ้างอิง AVF ไปใช้งาน โปรดดูที่ สถาปัตยกรรม AVF
  • หากคุณต้องการเรียนรู้เกี่ยวกับ Microdroid โปรดดูที่ Microdroid
  • หากคุณสนใจวิธีที่ AVF จัดการกับความปลอดภัย โปรดดูที่ Security
  • เพื่อทำความเข้าใจบทบาทของบริการเวอร์ชวลไลเซชัน โปรดดู VirtualizationService