ภาพรวมของกรอบงานการจำลองเสมือนของ Android (AVF)

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

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

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

ต่อไปนี้เป็นคำจำกัดความสำหรับคำศัพท์ที่สำคัญที่สุดจากรูปที่ 1:

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

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

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

บริการการจำลองเสมือน

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

อะไรต่อไป?

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