Chương 8: Ảo Hóa (Virtualization) — Tài liệu học tập mở rộng


1. Ảo Hóa Là Gì?

Ảo hóa (Virtualization) là quá trình tạo ra một phiên bản ảo (thay vì vật lý) của tài nguyên máy tính — bao gồm phần cứng, hệ điều hành, thiết bị lưu trữ hoặc tài nguyên mạng.

Ảo hóa che giấu các đặc tính vật lý của tài nguyên khỏi người dùng hoặc ứng dụng sử dụng chúng, cho phép nhiều môi trường độc lập cùng tồn tại trên một nền tảng vật lý.


2. Các Tầng Trừu Tượng Trong Hệ Thống Máy Tính

Hệ thống máy tính được xây dựng theo nhiều tầng trừu tượng chồng lên nhau. Mỗi tầng cao hơn ẩn đi chi tiết của tầng bên dưới, cung cấp một giao diện đơn giản hơn cho tầng trên.

┌─────────────────────────────┐
│     Application Programs    │  ← Tầng ứng dụng
├─────────────────────────────┤
│         Libraries           │  ← Thư viện (API)
├─────────────────────────────┤
│      Operating System       │  ← Hệ điều hành (ABI)
├─────────────────────────────┤
│    Execution Hardware       │  ← Phần cứng thực thi (ISA)
├─────────────────────────────┤
│     Memory Translation      │
├─────────────────────────────┤
│  System Interconnect (Bus)  │
├─────────────────────────────┤
│  I/O Devices & Networking   │
├─────────────────────────────┤
│        Main Memory          │
└─────────────────────────────┘

2.1. Tầng Máy (Machine Level) — ISA

ISA (Instruction Set Architecture) là ranh giới quan trọng nhất, phân chia phần cứng và phần mềm.

  • Dành cho các nhà phát triển hệ điều hành.
  • Định nghĩa tập lệnh mà CPU hỗ trợ (x86, ARM, MIPS…).
  • Gồm hai phần:
    • User ISA: Lệnh mà ứng dụng người dùng có thể thực thi.
    • System ISA: Lệnh chỉ OS mới được phép thực thi (privileged instructions).

2.2. Tầng OS (ABI — Application Binary Interface)

  • Dành cho các nhà phát triển compilerthư viện.
  • ABI định nghĩa giao diện ở cấp nhị phân giữa ứng dụng và OS:
    • Cách gọi system call.
    • Quy ước truyền tham số (calling conventions).
    • Cấu trúc dữ liệu nhị phân.
  • ABI đảm bảo rằng các file .so (shared library trên Linux) hoặc .dll (Windows) có thể tái sử dụng mà không cần biên dịch lại.

2.3. Tầng Thư Viện (API — Application Programming Interface)

  • Dành cho lập trình viên ứng dụng.
  • API định nghĩa các hàm, lớp, giao thức mà ứng dụng có thể gọi.
  • Trừu tượng hóa sự phức tạp bên dưới: lập trình viên không cần biết malloc() thực sự quản lý bộ nhớ như thế nào.
Mức trừu tượng:
  API   → lập trình viên ứng dụng dùng (ngôn ngữ lập trình)
  ABI   → compiler/linker dùng (nhị phân)
  ISA   → OS/hardware dùng (tập lệnh)

3. Mô Hình Triển Khai Ảo Hóa Tổng Quát

graph TD A[Virtualized Instance] --> B[Virtualization Layer] B --> C[Abstraction Layer] C --> D[Physical Hardware]
TầngMô tả
Virtualized InstancePhiên bản ảo hóa — VM mà người dùng nhìn thấy
Virtualization LayerPhần mềm triển khai ảo hóa (VMM/Hypervisor)
Abstraction LayerGiao diện truy cập phần cứng (ISA, ABI, API)
Physical HardwareTài nguyên vật lý: Server, Storage, Network

4. Phân Biệt Emulation và Virtualization

Mô phỏng một môi trường độc lập trong đó kiến trúc phần cứng của guest KHÁC với host.

  • Mọi lệnh của guest ISA phải được dịch sang lệnh host ISA.
  • Hiệu năng thường thấp hơn đáng kể.
  • Cho phép chạy phần mềm của một nền tảng hoàn toàn khác.

Tạo môi trường độc lập trong đó kiến trúc phần cứng của guest GIỐNG host.

  • Nhiều lệnh guest có thể chạy trực tiếp trên phần cứng.
  • Hiệu năng cao hơn nhiều so với emulation.
  • Một máy vật lý x86 chạy nhiều VM x86.

5. Virtual Machine (VM)

Máy ảo (Virtual Machine) là một phần mềm mô phỏng máy tính, thực thi chương trình giống như máy vật lý thực sự.

Thuật ngữ

Thuật ngữÝ nghĩa
Host (Target)Môi trường chính — nền tảng vật lý nơi ảo hóa diễn ra
Guest (Source)Môi trường được ảo hóa — hệ thống chạy bên trong VM

Tính đồng cấu (Isomorphism)

Về mặt hình thức, ảo hóa xây dựng một ánh xạ đồng cấu (isomorphism) từ trạng thái guest sang trạng thái host:

Guest state  ──e(si)──►  Guest state'
     │                        │
  mapping                  mapping
     │                        │
Host state   ──e'(si)──► Host state'

Mọi hành vi trong môi trường guest đều có sự tương ứng chính xác trong môi trường host.


6. Phân Loại Virtual Machine

Process VM (Máy ảo tiến trình)

  • Thường chạy các ứng dụng guest với ISA khác so với host.
  • Ghép nối ở tầng ABI thông qua một runtime system.
  • Không persistent — khi thoát ứng dụng, VM biến mất.
┌─────────────────────────────┐
│  Application  │ Application │  ← Guest
├─────────────────────────────┤
│          Runtime            │  ← Virtualizing Software
├─────────────────────────────┤
│              OS             │
├─────────────────────────────┤
│          Hardware           │  ← Host
└─────────────────────────────┘

System VM (Máy ảo hệ thống)

  • Cung cấp toàn bộ hệ điều hành trên cùng hoặc khác ISA với host.
  • Xây dựng ở tầng ISA.
  • Persistent — VM tồn tại độc lập, có thể khởi động/tắt như máy thật.
┌────────────┬────────────┐
│    Apps    │    Apps    │  ← Guest
├────────────┼────────────┤
│  Guest OS  │  Guest OS  │
├────────────┴────────────┤
│    VMM / Hypervisor     │  ← Virtualizing Software
├─────────────────────────┤
│        Hardware         │  ← Host
└─────────────────────────┘

7. Virtual Machine Monitor (VMM) / Hypervisor

VMM (Virtual Machine Monitor) hay Hypervisor là lớp phần mềm quản lý và điều phối các máy ảo.

Trách nhiệm của VMM

  • Phân bổ tài nguyên phần cứng (CPU, RAM, I/O) cho từng VM.
  • Cô lập các VM với nhau — VM này không thể truy cập bộ nhớ của VM khác.
  • Ảo hóa các lệnh đặc quyền (privileged instructions) mà guest OS cố thực thi.
  • Multiplexing phần cứng — nhiều VM dùng chung một CPU vật lý.

So sánh kiến trúc: Traditional Stack vs. Virtualized Stack

┌───────────────────┐
│        App        │
├───────────────────┤
│  Operating System │
├───────────────────┤
│     Hardware      │
└───────────────────┘
┌───────┬───────┬───────┐
│  App  │  App  │  App  │
├───────┼───────┼───────┤
│  OS   │  OS   │  OS   │
├───────┴───────┴───────┤
│      Hypervisor       │
├───────────────────────┤
│       Hardware        │
└───────────────────────┘

8. Phân Loại VMM Theo Kiến Trúc

Type 1 — Bare Metal Hypervisor

  • VMM chạy trực tiếp trên phần cứng của host, đóng vai trò như một OS kiểm soát.
  • Không cần OS trung gian.
  • Hiệu năng cao hơn Type 2 vì ít tầng trung gian hơn.
  • Thường dùng trong môi trường doanh nghiệp / data center.
┌──────┬──────┬──────┐
│ VM1  │ VM2  │ VM3  │
├──────┴──────┴──────┤
│   Hypervisor (T1)  │
├────────────────────┤
│      Hardware      │
└────────────────────┘

Type 2 — Hosted Hypervisor

  • VMM là ứng dụng phần mềm chạy bên trong một OS thông thường.
  • Host OS quản lý phần cứng, VMM chạy trên Host OS.
  • Dễ cài đặt hơn, phù hợp cho người dùng cá nhân / phát triển.
  • Hiệu năng thấp hơn do thêm một tầng Host OS.
┌──────┬──────┬──────┐
│ VM1  │ VM2  │ VM3  │
├──────┴──────┴──────┤
│   Hypervisor (T2)  │
├────────────────────┤
│     Host OS        │
├────────────────────┤
│     Hardware       │
└────────────────────┘

9. Phương Pháp Ảo Hóa

Full Virtualization (Ảo hóa toàn phần)

VMM mô phỏng đủ phần cứng để guest OS có thể chạy mà không cần chỉnh sửa.

Cơ chế hoạt động:

  • Các lệnh đặc quyền (privileged instructions) của guest OS bị trap (bẫy) và emulate bởi VMM.
  • Kỹ thuật Binary Translation: VMM dịch các lệnh nhạy cảm thành lệnh an toàn trước khi thực thi.
  • Kỹ thuật Hardware-Assisted Virtualization (Intel VT-x, AMD-V): CPU có hỗ trợ ảo hóa ở mức phần cứng, giảm overhead.
Ưu điểmKhông cần chỉnh sửa guest OS — chạy được cả Windows lẫn Linux không sửa đổi
Nhược điểmOverhead hiệu năng đáng kể (đặc biệt khi không có hỗ trợ phần cứng)

Para-Virtualization (Ảo hóa bán phần)

VMM không mô phỏng hoàn toàn phần cứng. Thay vào đó, guest OS được chỉnh sửa để biết mình đang chạy trong môi trường ảo hóa và giao tiếp trực tiếp với VMM qua hypercall API.

Cơ chế hoạt động:

  • Guest OS thay thế các lệnh đặc quyền bằng hypercall (gọi trực tiếp vào VMM).
  • Giống như system call nhưng từ guest OS đến VMM thay vì từ app đến OS.
// Ví dụ hypercall (giả lập)
// Thay vì thực thi lệnh đặc quyền trực tiếp:
// MOV CR3, reg  ← lệnh này sẽ gây trap

// Guest OS được sửa để gọi:
HYPERCALL(HYPERVISOR_UPDATE_VA_MAPPING, va, new_pte, flags)
// VMM nhận và xử lý trực tiếp — không cần trap/emulate
Ưu điểmHiệu năng cao hơn full virtualization (ít overhead hơn)
Nhược điểmPhải chỉnh sửa guest OS — không chạy được OS đóng như Windows (không có source code)

10. Ví Dụ Thực Tế: Xen và KVM

Xen Hypervisor

  • Type 1 (Bare Metal)
  • Para-Virtualization (chính) + hỗ trợ HVM (Hardware-assisted Virtual Machine) cho full virtualization

Kiến trúc Xen:

┌──────────────────────────────────────────────────┐
│  Dom0 (Privileged Domain)                        │
│  ┌──────────────────────────────────────────┐   │
│  │ Control Interface  │  Guest OS (Modified)│   │
│  └──────────────────────────────────────────┘   │
├──────────────────────────────────────────────────┤
│  DomU (Unprivileged Domains)                     │
│  ┌──────────┐ ┌──────────┐ ┌──────────┐         │
│  │ Dom1     │ │ Dom2     │ │ Dom3     │         │
│  │(Modified)│ │(Modified)│ │(Modified)│         │
│  └──────────┘ └──────────┘ └──────────┘         │
├──────────────────────────────────────────────────┤
│               VMM (Xen Hypervisor)               │
├──────────────────────────────────────────────────┤
│                 Physical Hardware                │
└──────────────────────────────────────────────────┘

KVM (Kernel-based Virtual Machine)

  • Type 2 (Hosted) — tích hợp vào Linux kernel như một module
  • Full Virtualization — sử dụng Intel VT-x hoặc AMD-V

Kiến trúc KVM:

┌────────────────────────────────────┐
│  Guest OS 1   │  Guest OS 2        │
│  ┌──────────┐ │  ┌──────────┐      │
│  │   QEMU   │ │  │   QEMU   │      │
│  └──────────┘ │  └──────────┘      │
├────────────────────────────────────┤
│           KVM Module               │
├────────────────────────────────────┤
│     Host OS (Linux Kernel)         │
├────────────────────────────────────┤
│         Physical Hardware          │
└────────────────────────────────────┘

QEMU đóng vai trò là device emulator (mô phỏng I/O devices), trong khi KVM xử lý việc thực thi CPU ảo bằng hardware acceleration.


11. Các Kỹ Thuật Ảo Hóa Theo Loại Tài Nguyên

11.1. Server Virtualization (Ảo hóa máy chủ)

  • Ảo hóa CPU, RAM, I/O devices.
  • Một máy chủ vật lý chạy nhiều VM độc lập.
  • Công nghệ: Xen, KVM, VMware
  • Phần cứng cơ sở: x86, ARM, MIPS

11.2. Storage Virtualization (Ảo hóa lưu trữ)

  • Ảo hóa các thiết bị lưu trữ vật lý thành Virtual Disk File System.
  • Che giấu sự phức tạp của RAID, SAN, NAS khỏi VM.
  • Công nghệ: LVM (Logical Volume Manager), NFS, FC (Fibre Channel), RAID
  • Thiết bị vật lý: Flash disk, Hard disk, Tape

11.3. Network Virtualization (Ảo hóa mạng)

  • Tạo ra các Virtual Network độc lập trên cùng hạ tầng mạng vật lý.
  • VM trong cùng một virtual network có thể giao tiếp như trong mạng LAN thật, dù nằm trên các máy vật lý khác nhau.
  • Công nghệ: 802.1Q (VLAN), MPLS, GRE (tunneling)
  • Thiết bị vật lý: Network Card, Switch, Router
graph LR subgraph Server Virtualization VM1 --> Xen/KVM/VMware VM2 --> Xen/KVM/VMware Xen/KVM/VMware --> CPU_RAM end subgraph Storage Virtualization VD1[Virtual Disk] --> LVM/NFS/FC LVM/NFS/FC --> HDD/SSD end subgraph Network Virtualization VNet1[Virtual Network] --> 802.1Q/MPLS/GRE 802.1Q/MPLS/GRE --> NIC/Switch end

12. Bảng So Sánh Tổng Quan

Tiêu chíFull VirtualizationPara-Virtualization
Guest OS cần sửa?Không
Hiệu năngThấp hơnCao hơn
Hỗ trợ WindowsKhông (thường)
Cơ chếTrap & Emulate / Binary TranslationHypercall API
Ví dụVMware, VirtualBox, KVMXen PV
Tiêu chíType 1 (Bare Metal)Type 2 (Hosted)
Chạy trênPhần cứng trực tiếpHost OS
Hiệu năngCao hơnThấp hơn
Dễ cài đặtKhó hơnDễ hơn
Dùng choData center, ProductionDev/Test, Cá nhân
Ví dụVMware ESXi, XenVirtualBox, VMware Workstation, KVM
Tiêu chíProcess VMSystem VM
Cấp độABIISA
Phạm viMột tiến trình/ứng dụngToàn bộ OS
PersistentKhông
Ví dụJVM, .NET CLRXen, KVM, VMware


Câu Hỏi Trắc Nghiệm

Câu 1. Ảo hóa (Virtualization) được định nghĩa là gì?

  • A. Quá trình nâng cấp phần cứng máy chủ
  • B. Tạo ra một phiên bản ảo của tài nguyên máy tính thay vì phiên bản vật lý
  • C. Mã hóa dữ liệu trên máy chủ
  • D. Cài đặt nhiều hệ điều hành trên cùng một ổ cứng

Câu 2. ISA là viết tắt của gì và đại diện cho tầng trừu tượng nào?

  • A. Internet Security Architecture — tầng mạng
  • B. Instruction Set Architecture — ranh giới giữa phần cứng và phần mềm
  • C. Integrated System Application — tầng ứng dụng
  • D. Internal Software API — tầng thư viện

Câu 3. ABI (Application Binary Interface) chủ yếu phục vụ đối tượng nào?

  • A. Lập trình viên ứng dụng
  • B. Nhà phát triển phần cứng
  • C. Nhà phát triển compiler và thư viện
  • D. Quản trị viên mạng

Câu 4. API (Application Programming Interface) dành cho đối tượng nào?

  • A. OS developers
  • B. Hardware engineers
  • C. Application developers (lập trình viên ứng dụng)
  • D. Network administrators

Câu 5. Đâu là sự khác biệt cốt lõi giữa Emulation và Virtualization?

  • A. Emulation nhanh hơn Virtualization
  • B. Emulation cho phép guest ISA khác host ISA; Virtualization yêu cầu guest ISA giống host ISA
  • C. Virtualization cho phép guest ISA khác host ISA; Emulation yêu cầu giống
  • D. Không có sự khác biệt

Câu 6. Java Runtime Environment (JRE) là ví dụ của loại VM nào?

  • A. System Virtual Machine
  • B. Process Virtual Machine
  • C. Type 1 Hypervisor
  • D. Para-Virtual Machine

Câu 7. System Virtual Machine khác Process Virtual Machine ở điểm nào?

  • A. System VM chạy nhanh hơn
  • B. System VM được xây dựng ở tầng ISA, cung cấp toàn bộ OS, và persistent
  • C. System VM chỉ chạy được một ứng dụng tại một thời điểm
  • D. System VM không cần phần cứng vật lý

Câu 8. VMM (Virtual Machine Monitor) có tên gọi khác là gì?

  • A. Virtual CPU
  • B. Hypervisor
  • C. Guest OS
  • D. Host Driver

Câu 9. Hypervisor Type 1 (Bare Metal) hoạt động như thế nào?

  • A. Chạy như ứng dụng trong Host OS
  • B. Chạy trực tiếp trên phần cứng, đóng vai trò như một OS kiểm soát
  • C. Chạy trong một container
  • D. Chạy bên trong Process VM

Câu 10. Hypervisor Type 2 (Hosted) có đặc điểm gì?

  • A. Chạy trực tiếp trên phần cứng
  • B. Là một ứng dụng phần mềm chạy bên trong Host OS thông thường
  • C. Không cần OS
  • D. Chỉ hỗ trợ Linux

Câu 11. VMware ESXi thuộc loại Hypervisor nào?

  • A. Type 2 — Hosted
  • B. Type 1 — Bare Metal
  • C. Process VM
  • D. Para-Virtual

Câu 12. Oracle VirtualBox thuộc loại Hypervisor nào?

  • A. Type 1 — Bare Metal
  • B. Type 2 — Hosted
  • C. Para-Virtualization
  • D. Process VM

Câu 13. Full Virtualization (Ảo hóa toàn phần) có đặc điểm gì?

  • A. Yêu cầu chỉnh sửa guest OS
  • B. VMM mô phỏng đủ phần cứng để guest OS chạy mà không cần sửa đổi
  • C. Chỉ hỗ trợ Linux
  • D. Không hỗ trợ Windows

Câu 14. Nhược điểm chính của Full Virtualization là gì?

  • A. Không thể chạy Windows
  • B. Phải sửa đổi guest OS
  • C. Overhead hiệu năng đáng kể (đặc biệt khi không có hỗ trợ phần cứng)
  • D. Không hỗ trợ mạng ảo

Câu 15. Para-Virtualization (Ảo hóa bán phần) yêu cầu điều gì từ guest OS?

  • A. Guest OS phải là Windows
  • B. Guest OS phải được chỉnh sửa để giao tiếp với VMM qua hypercall
  • C. Guest OS phải chạy ở chế độ 64-bit
  • D. Guest OS phải có ít nhất 4GB RAM

Câu 16. Ưu điểm của Para-Virtualization so với Full Virtualization là gì?

  • A. Không cần sửa guest OS
  • B. Hiệu năng nhẹ hơn và cao hơn do tránh được overhead của trap & emulate
  • C. Hỗ trợ nhiều loại OS hơn
  • D. Dễ triển khai hơn

Câu 17. Tại sao Para-Virtualization thường không hỗ trợ Windows?

  • A. Windows quá nặng
  • B. Windows là hệ thống đóng, không có source code để chỉnh sửa thành para-virtualized guest
  • C. Windows không hỗ trợ mạng ảo
  • D. Windows yêu cầu ISA riêng

Câu 18. Xen thuộc loại Hypervisor nào và sử dụng phương pháp ảo hóa gì?

  • A. Type 2, Full Virtualization
  • B. Type 1, Para-Virtualization (chính)
  • C. Type 2, Para-Virtualization
  • D. Type 1, Full Virtualization duy nhất

Câu 19. KVM thuộc loại Hypervisor nào và sử dụng phương pháp ảo hóa gì?

  • A. Type 1, Para-Virtualization
  • B. Type 2, Full Virtualization (theo slide gốc)
  • C. Type 1, Full Virtualization
  • D. Type 2, Para-Virtualization

Câu 20. Dom0 trong kiến trúc Xen có vai trò gì?

  • A. Là VM thông thường không có quyền đặc biệt
  • B. Là domain đặc quyền duy nhất có quyền truy cập phần cứng và điều khiển các DomU
  • C. Là hypervisor layer
  • D. Là virtual network controller

Câu 21. Trong kiến trúc KVM, QEMU đảm nhiệm vai trò gì?

  • A. Quản lý bộ nhớ RAM
  • B. Mô phỏng thiết bị I/O (device emulation)
  • C. Phân bổ CPU cho các VM
  • D. Quản lý mạng ảo

Câu 22. LVM (Logical Volume Manager) được dùng trong lĩnh vực ảo hóa nào?

  • A. Server Virtualization
  • B. Network Virtualization
  • C. Storage Virtualization
  • D. Process Virtualization

Câu 23. Công nghệ 802.1Q được sử dụng trong loại ảo hóa nào?

  • A. Server Virtualization
  • B. Storage Virtualization
  • C. Network Virtualization
  • D. CPU Virtualization

Câu 24. GRE (Generic Routing Encapsulation) thuộc về lĩnh vực ảo hóa nào?

  • A. Storage Virtualization
  • B. Server Virtualization
  • C. Network Virtualization
  • D. Memory Virtualization

Câu 25. FC (Fibre Channel) được dùng trong lĩnh vực nào?

  • A. Network Virtualization
  • B. Storage Virtualization
  • C. Server Virtualization
  • D. CPU Virtualization

Câu 26. Tầng ISA (Instruction Set Architecture) định nghĩa điều gì?

  • A. Giao diện lập trình ứng dụng
  • B. Tập lệnh mà CPU hỗ trợ — ranh giới giữa phần cứng và phần mềm
  • C. Giao thức mạng
  • D. Cấu trúc cơ sở dữ liệu

Câu 27. Kiến trúc hệ thống máy tính được xây dựng theo nguyên lý nào?

  • A. Mọi tầng có thể truy cập trực tiếp phần cứng
  • B. Các tầng trừu tượng chồng lên nhau, tầng cao hơn ẩn chi tiết của tầng thấp hơn
  • C. Một tầng duy nhất quản lý toàn bộ
  • D. Các tầng hoạt động độc lập không tương tác nhau

Câu 28. Process Virtual Machine có đặc tính “not persistent” có nghĩa là gì?

  • A. Không thể lưu file
  • B. VM tự động xóa dữ liệu mỗi giờ
  • C. VM chỉ tồn tại khi ứng dụng đang chạy, biến mất khi ứng dụng kết thúc
  • D. Không thể kết nối mạng

Câu 29. System Virtual Machine có đặc tính “persistent” có nghĩa là gì?

  • A. VM không thể bị xóa
  • B. VM tồn tại độc lập, có trạng thái lưu lại, có thể khởi động/tắt như máy vật lý
  • C. VM chạy mãi mãi không tắt được
  • D. VM không cần nguồn điện

Câu 30. Trong ảo hóa, “Host” được định nghĩa là gì?

  • A. Môi trường được ảo hóa (guest environment)
  • B. Môi trường chính — nền tảng vật lý nơi ảo hóa diễn ra
  • C. Tên của hypervisor
  • D. Phần mềm quản lý VM

Câu 31. Đâu là ví dụ đúng của Emulation?

  • A. Chạy nhiều VM Linux x86 trên máy chủ x86
  • B. Chạy phần mềm x86 trên chip ARM (ví dụ: Rosetta 2 của Apple)
  • C. Cài nhiều HĐH trên nhiều ổ cứng khác nhau
  • D. Dùng Docker để containerize ứng dụng

Câu 32. Microsoft CLI (.NET CLR) là ví dụ của loại VM nào?

  • A. System Virtual Machine — Type 1
  • B. System Virtual Machine — Type 2
  • C. Process Virtual Machine
  • D. Para-Virtual Machine

Câu 33. Kỹ thuật “Binary Translation” trong Full Virtualization dùng để làm gì?

  • A. Dịch ngôn ngữ lập trình sang ngôn ngữ khác
  • B. Dịch các lệnh nhạy cảm/đặc quyền của guest thành lệnh an toàn để VMM thực thi
  • C. Mã hóa binary file
  • D. Biên dịch source code của OS

Câu 34. Intel VT-x và AMD-V là gì?

  • A. Giao thức mạng ảo hóa
  • B. Chuẩn lưu trữ ảo hóa
  • C. Các extension phần cứng hỗ trợ Hardware-Assisted Virtualization cho CPU
  • D. Loại hypervisor

Câu 35. Hypercall là gì trong Para-Virtualization?

  • A. Lệnh gọi giữa hai ứng dụng trong cùng một VM
  • B. Lệnh gọi trực tiếp từ guest OS đến VMM, thay thế cho privileged instructions
  • C. Lệnh gọi từ VMM đến phần cứng
  • D. Giao thức mạng giữa các VM

Câu 36. Đâu là đặc điểm ĐÚNG về loại ảo hóa của Xen?

  • A. Type 2, Full Virtualization
  • B. Type 1, Para-Virtualization
  • C. Type 2, Para-Virtualization
  • D. Process VM, ABI level

Câu 37. Trong ba loại ảo hóa tài nguyên, loại nào ảo hóa CPU và RAM?

  • A. Storage Virtualization
  • B. Network Virtualization
  • C. Server Virtualization
  • D. Memory Virtualization

Câu 38. MPLS được sử dụng trong lĩnh vực ảo hóa nào?

  • A. Server Virtualization
  • B. Storage Virtualization
  • C. Network Virtualization
  • D. Process Virtualization

Câu 39. NFS (Network File System) thuộc loại ảo hóa nào?

  • A. Network Virtualization
  • B. Storage Virtualization
  • C. Server Virtualization
  • D. Application Virtualization

Câu 40. Isomorphism (đồng cấu) trong ngữ cảnh ảo hóa có nghĩa là gì?

  • A. Hai VM giống hệt nhau
  • B. Ánh xạ 1-1 giữa trạng thái guest và trạng thái host, đảm bảo hành vi tương đương
  • C. Hai hypervisor cùng loại
  • D. Hai ISA tương thích nhau

Câu 41. Đâu là ưu điểm chính của Type 1 Hypervisor so với Type 2?

  • A. Dễ cài đặt hơn
  • B. Hỗ trợ nhiều OS hơn
  • C. Hiệu năng cao hơn vì không có Host OS trung gian
  • D. Rẻ hơn

Câu 42. Đâu là nhược điểm chính của Type 2 Hypervisor?

  • A. Không thể chạy Linux
  • B. Hiệu năng thấp hơn Type 1 do thêm tầng Host OS
  • C. Không hỗ trợ nhiều VM
  • D. Không thể snapshot VM

Câu 43. Virtualization Layer trong mô hình tổng quát đảm nhiệm vai trò gì?

  • A. Giao tiếp trực tiếp với người dùng
  • B. Phần mềm triển khai ảo hóa, đứng giữa Virtualized Instance và Abstraction Layer
  • C. Quản lý nguồn điện
  • D. Kết nối mạng bên ngoài

Câu 44. Câu nào sau đây mô tả đúng về Para-Virtualization?

  • A. VMM mô phỏng toàn bộ phần cứng
  • B. Guest OS không cần sửa đổi
  • C. VMM không nhất thiết mô phỏng phần cứng, thay vào đó guest OS được chỉnh sửa để gọi hypercall
  • D. Hiệu năng thấp hơn Full Virtualization

Câu 45. Thứ tự đúng của các tầng trong mô hình ảo hóa tổng quát từ trên xuống dưới là gì?

  • A. Physical Hardware → Abstraction Layer → Virtualization Layer → Virtualized Instance
  • B. Virtualized Instance → Virtualization Layer → Abstraction Layer → Physical Hardware
  • C. Virtualization Layer → Physical Hardware → Abstraction Layer → Virtualized Instance
  • D. Abstraction Layer → Virtualized Instance → Physical Hardware → Virtualization Layer

Câu 46. Điều gì xảy ra khi guest OS cố thực thi privileged instruction trong Full Virtualization (không có hardware assist)?

  • A. Guest OS crash ngay lập tức
  • B. Lệnh được thực thi bình thường không có vấn đề gì
  • C. VMM trap lệnh đó và emulate hành vi tương ứng thay cho guest
  • D. Host OS tắt VM đó

Câu 47. Đâu là lý do ảo hóa được sử dụng rộng rãi trong data center hiện đại?

  • A. Vì ảo hóa giúp máy tính chạy nhanh hơn tuyệt đối
  • B. Vì ảo hóa giúp tận dụng tài nguyên phần cứng, cô lập môi trường, dễ sao lưu/khôi phục, và là nền tảng của cloud computing
  • C. Vì ảo hóa miễn phí hoàn toàn
  • D. Vì ảo hóa không cần điện

Câu 48. Đâu là điểm khác biệt giữa ISA và ABI?

  • A. Không có sự khác biệt
  • B. ISA là giao diện phần cứng/phần mềm (tập lệnh CPU); ABI là giao diện nhị phân giữa ứng dụng và OS
  • C. ABI là tập lệnh CPU; ISA là giao diện ứng dụng
  • D. Cả hai đều là giao thức mạng

Câu 49. Công nghệ nào sau đây thuộc Storage Virtualization?

  • A. 802.1Q
  • B. GRE
  • C. MPLS
  • D. RAID

Câu 50. Câu nào sau đây là ĐÚNG về KVM?

  • A. KVM là Type 1 Hypervisor sử dụng Para-Virtualization
  • B. KVM là Type 2 Hosted Hypervisor sử dụng Full Virtualization, kết hợp với QEMU để emulate thiết bị I/O
  • C. KVM không cần phần cứng hỗ trợ ảo hóa (VT-x/AMD-V)
  • D. KVM chỉ chạy được trên Windows

Câu 51. Ba loại ảo hóa tài nguyên chính được đề cập trong bài là gì?

  • A. CPU Virtualization, Memory Virtualization, Disk Virtualization
  • B. Server Virtualization, Storage Virtualization, Network Virtualization
  • C. Full Virtualization, Para-Virtualization, Hardware-Assisted Virtualization
  • D. Type 1, Type 2, Type 3 Virtualization

Câu 52. Process VM ghép nối với host tại tầng nào?

  • A. ISA (Instruction Set Architecture)
  • B. ABI (Application Binary Interface)
  • C. API (Application Programming Interface)
  • D. Tầng phần cứng vật lý

Câu 53. System VM được xây dựng tại tầng nào?

  • A. ABI (Application Binary Interface)
  • B. API (Application Programming Interface)
  • C. ISA (Instruction Set Architecture)
  • D. Tầng thư viện

Câu 54. Đâu là ví dụ của Type 1 Hypervisor trong thực tế?

  • A. Oracle VirtualBox
  • B. VMware Workstation
  • C. VMware ESXi
  • D. Parallels Desktop

Câu 55. Tại sao Type 1 Hypervisor phù hợp với môi trường production hơn Type 2?

  • A. Type 1 miễn phí còn Type 2 tốn phí
  • B. Type 1 hỗ trợ nhiều ngôn ngữ lập trình hơn
  • C. Type 1 có hiệu năng cao hơn, độ ổn định cao hơn do không phụ thuộc Host OS, phù hợp cho workload quan trọng
  • D. Type 1 dễ cài đặt hơn