Android рд╡рд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдлрд╝реНрд░реЗрдорд╡рд░реНрдХ (рдПрд╡реАрдПрдлрд╝), рдХреЛрдб рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рдФрд░ рдирд┐рдЬреА рддреМрд░ рдкрд░ рдПрдХреНрдЬрд╝реАрдХреНрдпреВрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдирд╡рд╛рдпрд░рдореЗрдВрдЯ рдЙрдкрд▓рдмреНрдз рдХрд░рд╛рддрд╛ рд╣реИ. AVF, рд╕реБрд░рдХреНрд╖рд╛ рд╕реЗ рдЬреБрдбрд╝реЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рд╕рд╣реА рд╣реИ. рдЗрди рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ, Android рдХреЗ рдРрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реИрдВрдбрдмреЙрдХреНрд╕ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ, рдЬрд╝реНрдпрд╛рджрд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рдФрд░ рдФрдкрдЪрд╛рд░рд┐рдХ рддреМрд░ рдкрд░ рдкреБрд╖реНрдЯрд┐ рдХреА рдЧрдИ рдЖрдЗрд╕реЛрд▓реЗрд╢рди рдХреА рдЬрд╝рд░реВрд░рдд рд╣реЛрддреА рд╣реИ. Android, AVF рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╝рд░реВрд░реА рд╕рднреА рдХреЙрдореНрдкреЛрдиреЗрдВрдЯ рдХрд╛ рд░реЗрдлрд╝рд░рдВрд╕ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ. AVF рдХреА рд╕реБрд╡рд┐рдзрд╛ рд╕рд┐рд░реНрдлрд╝ ARM64 рдбрд┐рд╡рд╛рдЗрд╕реЛрдВ рдкрд░ рдХрд╛рдо рдХрд░рддреА рд╣реИ. рдкрд╣рд▓реА рдЗрдореЗрдЬ рдореЗрдВ, AVF рдХрд╛ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ:
рдкрд╣рд▓реА рдЗрдореЗрдЬ. рдПрд╡реАрдПрдлрд╝ рдХрд╛ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░.
рдпрд╣рд╛рдВ рдкрд╣рд▓реЗ рдлрд╝рд┐рдЧрд░ рдореЗрдВ рджрд┐рдП рдЧрдП рд╕рдмрд╕реЗ рдЬрд╝рд░реВрд░реА рд╢рдмреНрджреЛрдВ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛рдПрдВ рджреА рдЧрдИ рд╣реИрдВ:
- apexd рдФрд░ zipfuse
- рдпрд╣ рд╣реЛрд╕реНрдЯ рд╕реЗ рдЗрдВрдкреЛрд░реНрдЯ рдХрд┐рдП рдЧрдП APEX рдФрд░ APK рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рддрд░реАрдХреЗ рд╕реЗ рдорд╛рдЙрдВрдЯ рдХрд░рддрд╛ рд╣реИ.
- authfs
- рдпрд╣ рдПрдХ рдлрд╝реНрдпреВрдЬрд╝ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рд╣реИ. рдЗрд╕рдХреА рдорджрдж рд╕реЗ, Android рдФрд░ pVM (рд╣реЛрд╕реНрдЯ рдФрд░ рдЧреЗрд╕реНрдЯ) рдХреЗ рдмреАрдЪ рдХрдИ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рддрд░реАрдХреЗ рд╕реЗ рд╢реЗрдпрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ.
- рдмрд╛рдЗрдВрдбрд░
- рдпрд╣ рд╡реАрдПрдо рдХреЗ рдмреАрдЪ рдХрдореНрдпреВрдирд┐рдХреЗрд╢рди рдХрд╛ рдореБрдЦреНрдп рддрд░реАрдХрд╛ рд╣реИ.
- crosvm
- рдпрд╣ рд░рд╕реНрдЯ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдореЙрдирд┐рдЯрд░ рд╣реИ. crosvm, VM рдореЗрдореЛрд░реА рдХреЛ рдЕрд╕рд╛рдЗрди рдХрд░рддрд╛ рд╣реИ, рд╡рд░реНрдЪреБрдЕрд▓ рд╕реАрдкреАрдпреВ рдереНрд░реЗрдб рдмрдирд╛рддрд╛ рд╣реИ, рдФрд░ рд╡рд░реНрдЪреБрдЕрд▓ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рдмреИрдХ-рдПрдВрдб рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ.
- рд╕рд╛рдорд╛рдиреНрдп рдХрд░реНрдиреЗрд▓ рдЗрдореЗрдЬ (рдЬреАрдХреЗрдЖрдИ)
- Google рд╕реЗ рд╕рд░реНрдЯрд┐рдлрд╝рд╛рдЗрдб рдХреА рдЧрдИ рдмреВрдЯ рдЗрдореЗрдЬ. рдЗрд╕рдореЗрдВ Android Common Kernel (ACK) рд╕реЛрд░реНрд╕ рдЯреНрд░реА рд╕реЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ GKI рдХрд░реНрдирд▓ рд╣реЛрддрд╛ рд╣реИ. рд╕рд╛рде рд╣реА, рдпрд╣ Android рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рдмреВрдЯ рдкрд╛рд░реНрдЯрд┐рд╢рди рдореЗрдВ рдлрд╝реНрд▓реИрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рд╣реЛрддреА рд╣реИ. рдЬрд╝реНрдпрд╛рджрд╛ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП, рдХрд░реНрдирд▓ рдХреА рдЦрд╛рд╕ рдЬрд╛рдирдХрд╛рд░реА рджреЗрдЦреЗрдВ.
- рд╣рд╛рдЗрдкрд░рд╡рд╛рдЗрдЬрд╝рд░
- AVF рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд╡рд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдЯреЗрдХреНрдиреЛрд▓реЙрдЬреА, рдЬрд┐рд╕реЗ pKVM рднреА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ. рд╣рд╛рдЗрдкрд░рд╡рд╛рдЗрдЬрд╝рд░, рдПрдХреНрдЬрд╝реАрдХреНрдпреВрдЯ рдХрд┐рдП рдЧрдП рдХреЛрдб рдХреА рдЗрдВрдЯрд┐рдЧреНрд░рд┐рдЯреА рдФрд░ pVM рдХреА рдРрд╕реЗрдЯ рдХреА рдирд┐рдЬрддрд╛ рдХреЛ рдмрдирд╛рдП рд░рдЦрддрд╛ рд╣реИ. рднрд▓реЗ рд╣реА, рд╣реЛрд╕реНрдЯ Android рдпрд╛ рдХреЛрдИ рдЕрдиреНрдп pVM рдЦрддрд░реЗ рдореЗрдВ рдкрдбрд╝ рдЬрд╛рдП.
- Java API
- VirtualizationService Java API, рдЬреЛ рд╕рд┐рд░реНрдлрд╝ AVF рдХреА рд╕реБрд╡рд┐рдзрд╛ рд╡рд╛рд▓реЗ рдбрд┐рд╡рд╛рдЗрд╕реЛрдВ рдкрд░ рдореМрдЬреВрдж рд╣реЛрддреЗ рд╣реИрдВ. рдЗрди рдПрдкреАрдЖрдИ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рдирд╛ рдЬрд╝рд░реВрд░реА рдирд╣реАрдВ рд╣реИ. рдпреЗ
thebootclasspathрдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдирд╣реАрдВ рд╣реИрдВ. - Microdroid
- Google рдХреА рдУрд░ рд╕реЗ рдЙрдкрд▓рдмреНрдз рдХрд░рд╛рдпрд╛ рдЧрдпрд╛ рдорд┐рдиреА-Android OS, рдЬреЛ pVM рдореЗрдВ рдЪрд▓рддрд╛ рд╣реИ.
- Microdroid Manager
- рдпрд╣ pVM рдХреЗ рд▓рд╛рдЗрдлрд╝рд╕рд╛рдЗрдХрд▓, pVM рдХреЗ рдЕрдВрджрд░, рдФрд░ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдбрд┐рд╕реНрдХ рдХреЛ рдореИрдиреЗрдЬ рдХрд░рддрд╛ рд╣реИ.
- рдиреЗрдЯрд┐рд╡ рдПрдкреАрдЖрдИ
- Android рдиреЗрдЯрд┐рд╡ рдбреЗрд╡рд▓рдкрд░ рдХрд┐рдЯ (NDK) рдХрд╛ рд╕рдмрд╕реЗрдЯ.
- рд╕реБрд░рдХреНрд╖рд┐рдд рдХрд░реНрдирд▓-рдЖрдзрд╛рд░рд┐рдд рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди (рдкреАрдХреЗрд╡реАрдПрдо)
- Hypervisor рджреЗрдЦреЗрдВ.
- pVM рдлрд╝рд░реНрдорд╡реЗрдпрд░ (
pvmfw) - рдпрд╣ pVM рдкрд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓рд╛ рдкрд╣рд▓рд╛ рдХреЛрдб рд╣реИ.
pvmfwрдпрд╣ рдкреЗрд▓реЛрдб рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╣рд░ рд╡реАрдПрдо рдХреЗ рд▓рд┐рдП рд╕реАрдХреНрд░реЗрдЯ рдмрдирд╛рддрд╛ рд╣реИ. - рд╕реБрд░рдХреНрд╖рд┐рдд рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди (рдкреАрд╡реАрдПрдо)
рдпрд╣ рдПрдХ рдРрд╕рд╛ рдПрдХреНрдЬрд╝реАрдХреНрдпреВрд╢рди рдПрдирд╡рд╛рдпрд░рдореЗрдВрдЯ (рдореЗрд╣рдорд╛рди) рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕ рдкрд░ рднрд░реЛрд╕рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛. рдпрд╣ рдореБрдЦреНрдп Android рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо (рд╣реЛрд╕реНрдЯ) рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ. pVM рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдХрд╛ рдПрдХ рдЕрд╣рдо рдкрд╣рд▓реВ рдпрд╣ рд╣реИ рдХрд┐ рдЕрдЧрд░ рд╣реЛрд╕реНрдЯ рд╕реЗ рд╕рдордЭреМрддрд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╣реЛрд╕реНрдЯ рдХреЗ рдкрд╛рд╕ pVM рдХреА рдореЗрдореЛрд░реА рдХрд╛ рдРрдХреНрд╕реЗрд╕ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ. pKVM, pVM рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреИрдВрдбрд░реНрдб рд╣рд╛рдЗрдкрд░рд╡рд╛рдЗрдЬрд╝рд░ рд╣реИ.
рдореМрдЬреВрджрд╛ рдЯреНрд░рд╕реНрдЯреЗрдб рдПрдХреНрдЬрд╝реАрдХреНрдпреВрд╢рди рдПрдирд╡рд╛рдпрд░рдореЗрдВрдЯ (рдЯреАрдИрдИ) рдХреА рддреБрд▓рдирд╛ рдореЗрдВ, pVM рдмреЗрд╣рддрд░ рдПрдирд╡рд╛рдпрд░рдореЗрдВрдЯ рдЙрдкрд▓рдмреНрдз рдХрд░рд╛рддреЗ рд╣реИрдВ. рдЗрдирдореЗрдВ Microdroid рдирд╛рдо рдХрд╛ рдорд┐рдиреА-Android рдбрд┐рд╕реНрдЯреНрд░рд┐рдмреНрдпреВрд╢рди рдЪрд▓рд╛рдиреЗ рдХреА рд╕реБрд╡рд┐рдзрд╛ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИ. рд╣рд╛рд▓рд╛рдВрдХрд┐, Microdroid рдХреЛ рдмрд┐рдирд╛ рд╕реБрд░рдХреНрд╖рд╛ рд╡рд╛рд▓реЗ VM рдкрд░ рднреА рдЪрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ. pVM рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдбрд╛рдЗрдиреИрдорд┐рдХ рддрд░реАрдХреЗ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ. рд╕рд╛рде рд╣реА, рдпреЗ рд╕рднреА рдбрд┐рд╡рд╛рдЗрд╕реЛрдВ рдкрд░ рдЙрдкрд▓рдмреНрдз, рднрд░реЛрд╕реЗрдордВрдж рдПрдирд╡рд╛рдпрд░рдореЗрдВрдЯ рдореЗрдВ рдПрдкреАрдЖрдИ рдХрд╛ рд╕реНрдЯреИрдВрдбрд░реНрдб рд╕реЗрдЯ рдЙрдкрд▓рдмреНрдз рдХрд░рд╛рддреЗ рд╣реИрдВ. рдпреЗ рдбрд┐рд╡рд╛рдЗрд╕, pVM рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ.
- VirtualizationService
рдпрд╣ Android рд╕реЗрд╡рд╛, pVM рдХреЗ рд▓рд╛рдЗрдлрд╝рд╕рд╛рдЗрдХрд▓ рдХреЛ рдореИрдиреЗрдЬ рдХрд░рддреА рд╣реИ.
рдЖрдЧреЗ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ?
- рдЕрдЧрд░ рдЖрдкрдХреЛ рдПрд╡реАрдПрдлрд╝ рдХреА рдЬрд╝рд░реВрд░рдд рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмреЗрд╣рддрд░ рддрд░реАрдХреЗ рд╕реЗ рдЬрд╛рдирдирд╛ рд╣реИ, рддреЛ рдПрд╡реАрдПрдлрд╝ рдХреНрдпреЛрдВ? рдкрд░ рдЬрд╛рдПрдВ.
- AVF рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓, рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрдВрдкрд╛рдЗрд▓реЗрд╢рди рдХреЗ рд▓рд┐рдП рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реНрддреЗрдорд╛рд▓ рдХреЗ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ.
- рдЕрдЧрд░ рдЖрдкрдХреЛ рдПрд╡реАрдПрдлрд╝ рдХреЗ рд░реЗрдлрд╝рд░рдВрд╕ рдЗрдВрдкреНрд▓реАрдореЗрдВрдЯреЗрд╢рди рдХреЗ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╝реНрдпрд╛рджрд╛ рдЬрд╛рдирдХрд╛рд░реА рдЪрд╛рд╣рд┐рдП, рддреЛ рдПрд╡реАрдПрдлрд╝ рдХрд╛ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рджреЗрдЦреЗрдВ.
- рдЕрдЧрд░ рдЖрдкрдХреЛ Microdroid рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдирд╛ рд╣реИ, рддреЛ Microdroid рдкрд░ рдЬрд╛рдПрдВ.
- рдЕрдЧрд░ рдЖрдкрдХреЛ рдпрд╣ рдЬрд╛рдирдирд╛ рд╣реИ рдХрд┐ AVF рд╕реБрд░рдХреНрд╖рд╛ рдХреЛ рдХреИрд╕реЗ рдореИрдиреЗрдЬ рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╕реБрд░рдХреНрд╖рд╛ рдкрд░ рдЬрд╛рдПрдВ.
- рд╡рд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рд╕реЗрд╡рд╛ рдХреА рднреВрдорд┐рдХрд╛ рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП, VirtualizationService рджреЗрдЦреЗрдВ.
- рдПрд╡реАрдПрдлрд╝ рдХреЗ рд╕реЛрд░реНрд╕ рдХреЛрдб рдпрд╛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХреЙрдореНрдкреЛрдиреЗрдВрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╝реНрдпрд╛рджрд╛ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП, AOSP рд░рд┐рдкреЙрдЬрд╝рд┐рдЯрд░реА рджреЗрдЦреЗрдВ