Công nghệ ảo hóa (VT) của Intel

Những bộ vi xử lí  Intel được trang bị công nghệ ảo hóa VT ( Virtualization Technology ) , có tên cũ là Vanderpool , cho phép bộ vi xử lí  hoạt động như là bạn có vài máy tính độc lập để chạy được vài hệ điều hành cùng một lúc trên cùng một máy . Trong phần này chúng ta sẽ giải thích mọi điều bạn cần biết về công nghệ này .

 

Công nghệ VT của Intel có hai phiên bản : VT-x cho những chip x86 và VT-i cho những chip Itanium ( hay còn gọi IA-64 ) . Trong bài chúng ta sẽ nói về VT-x .

Công nghệ ảo hóa không  có gì là mới . Có một số phần mềm trên thị trường để phục vụ cho ảo hóa . VMware là một phần mềm như vậy và rất nổi tiếng , chúng ta có thể xem tại đây để liệt kê những phần mềm này . Với kỹ thuật này , bạn có thể “phân vùng” một máy tính để hoạt động nếu như có vài máy tính độc lập , cho phép hệ thống  chạy vài hệ điều hành cùng một lúc . Những hệ điều hành này có thể là khác nhau , ví dụ bạn có thể dùng Windows trên một máy ảo và Linux trên một máy ảo khác .

Bạn có thể bối rối với ảo hóa và chạy đa nhiệm ( Multitasking ) , đa lõi hoặc Hyper-Threading . Với đa nhiệm chỉ có một hệ điều hành và chạy vài chương trình ứng dụng cùng một lúc . Với ảo hóa , bạn có thể có vài hệ điều hành chạy song song với nhau , mỗi hệ điều hành lại có thể chạy được vài chương trình cùng một lúc . Mỗi hệ điều hành chạy trên máy ảo và “nghĩ rằng” đang chạy trên một máy tính hoàn toàn độc lập .

Công nghệ đa lõi ( Multi-Core ) cho phép một bộ vi xử lí  có nhiều hơn một lõi vật lí bên trong . Ví dụ , một máy tính có một bộ vi xử lí  2-lõi hoạt động như là một máy tính có lắp đặt hai bộ vi xử lí  , làm việc theo Mode SMP ( Symmetrical MultiProcessing ) . Trên thực tế những bộ vi xử lí  đa lõi không  thể dùng những lõi độc lập với nhau . Hệ điều hành chạy trên lõi CPU đầu tiên và những lõi còn lại vẫn phải dùng  cùng với hệ điều hành này ,

Công nghệ Hyper-Threading mô phỏng thêm lõi trong bộ vi xử lí  . Ví dụ CPU 2-lõi vật lí hỗ trợ công nghệ Hyper-Threading thì trong hệ điều hành sẽ nhận dạng thành 4-lõi . Những bộ vi xử lí  này không thể chạy được những hệ điều hành riêng biệt do vậy hệ điều hành với công nghệ Hyper-Threading cũng có những hoạt động tương tự như công nghệ đa lõi .

Biểu đồ bên dưới hỗ trợ cho bạn hiểu sự khác nhau giữa những công nghệ này .

 

Hình 1 : Đa nhiệm – Multitasking


 

Hình 2 : Đa lõi hoặc Hyper-Threading

 

Hình 3 : Ảo hóa

Trên thực tế công nghệ ảo hóa VT có cùng ý tưởng như Mode Virtual 8086 (V86) , đã có từ trong bộ vi xử lí  386 . Với Mode V86 , bạn có thể tạo một số máy 8086 ảo để chạy những chương trình trên DOS cùng một lúc để mỗi chương trình “nghĩ rằng” đang chạy trên một máy tính hoàn toàn độc lập . Với VT bạn có thể tạo mọt số máy ảo “đầy đủ” để chạy nhiều hệ điều hành cùng một lúc .

Tại sao phần mềm VMware đã cho phép tạo được môi trường ảo hóa thế tại sao lại phải cần công nghệ VT bên trong bộ vi xử lí  ? Sự tiên tiến ở đây đó là CPU hỗ trợ công nghệ VT có những tập lệnh mới để điều khiển môi trường ảo hóa . Với những CPU này phần mềm điều khiển ( có tên gọi VMM , Virtual Machine Monitor ) có thể đơn giản hơn và có tốc độ xử lí nhanh hơn so với những giải pháp phần mềm . Khi CPU hỗ trợ VT việc ảo hóa được sự hỗ trợ trực tiếp từ phần cứng .

 

Nó làm việc như thế nào

 

Những bộ vi xử lí  trang bị công nghệ ảo hóa VT có những tập lệnh phụ có tên gọi Virtual Machine Extension hoặc VMX .

VMX có 10 lệnh mới chuyên dùng cho ảo hóa trong CPU bao gồm : VMPTRLD , VMPTRST , VMCLEAR , VMREAD , VMWRITE , VMCALL ,VMLAUNCH , VMRESUME , VMXOFF và VMXON .

Có hai mode để chạy trong ảo hóa đó là những hoạt động VMX Root và hoạt động VMX Non-Root . Thông thường chỉ có phần mềm điều khiển ảo hóa , có tên gọi VMM ( Virtual Machine Monitor ) , chạy theo những hoạt động Root , còn hệ điều hành chạy phía trên cùng của máy ảo chạy theo hoạt động Non-Root . Phần mềm chạy trên cùng máy ảo cũng có tên gọi “phần mềm khách “ ‘ Guest Software .

Để vào chế độ ảo hóa , phần mềm thực hiện lênh VMXON và sau đó gọi phần mềm VMM . Phần mềm VMM có thể vào mỗi máy ảo bằng lệnh VMLAUNCH , và ra khỏi nó bằng lệnh VMRESUME . Nếu VMM muốn tắt và thoát khỏi chế độ ảo hóa , nó thực hiện lệnh VMXOFF .

 

Hình 4: Hoạt động của công nghệ ảo hóa .

 

Mỗi phần khách , Guest , trong hình 4 có thể là những hệ điều hành khác nhau chạy riêng những chương trình của mình ( thậm chí một số chương trình chạy cùng một lúc như Hình 3 ) .

Những bộ vi xử lí  mới đều có mở rộng gọi là EPT ( Extended Page Tables ) , cho phép mỗi Guest có bảng trang riêng của mình để theo dõi địa chỉ bộ nhớ . Không có phần mở rộng này , VMM phải thoát khỏi máy ảo để thực hiện việc dịch địa chỉ bộ nhớ . Việc Thoát và Quay trở lại sẽ làm giảm hiệu suất làm việc . Như vậy EPT sẽ tăng hiệu suất làm việc của hệ thống  ảo .

 

Nhận biết hỗ trợ VT

 

Mặc dù công nghệ Intel VT được đưa ra từ năm 2005 nhưng không  phải những bộ vi xử lí  nào của Intel cũng hỗ trợ . Cách đơn giản nhất để kiểm tra xem CPU có hỗ trợ công nghệ này hay không , người dùng có thể dùng công cụ Intel Processor Identification Utility . Sau khi tải và cài đặt chương trình này , chọn tab “CPU Technology” . Bạn sẽ thấy dòng “Intel Virtualization Technology” nếu như CPU hỗ trợ , còn nếu không  có thì CPU không hỗ trợ công nghệ VT .

Tương tự như vậy bạn có thể xem CPU có hỗ trợ EPT ( Extended Page Tablet ) nếu như có xuất hiện dòng “Intel VT-x with Extended Page Tables” , như trong Hình 5 .