Ảo hóa phần cứng:

Một phần của tài liệu VIRTUALMACHINE (Trang 41 - 45)

4 KHAI THÁC SỨC MẠNH ẢO HÓA

4.3.1 Ảo hóa phần cứng:

Ảo hóa phần cứng hay ảo hóa nền tảng hướng tới việc tạo ra một máy ảo có thể hoạt động như một máy tính thực với một hệ điều hành. Phần mềm thực thi trên những máy này tách biệt với tài nguyên phần cứng bên dưới. Ví dụ, một máy tính đang chạy Microsoft Windows có thể chứa một máy ảo trơng như một máy thực với hệ điều hành Ubuntu Linux. Về sau, các phần mềm cơ sở Ubuntu có thể chạy trên các máy ảo đó.Trong ảo hóa phần cứng, thuật ngữ host machine nhắc đến một cỗ máy thật mà trên đó ảo hóa đang diễn ra. Thuật ngữ guest machine, tuy nhiên, nhắc đến một máy ảo. Cũng giống như vậy, trợ danh từ thêm vào host và guest được dùng để giúp nhận ra phần mềm chạy trên máy tính thực với một phần mềm chạy trên máy ảo. Phần mềm hay firmware mà đã tạo ra máy ảo trên phần cứng máy chủ được gọi là “hypervisors” hay “Virtual Machine Monitor” Các loại khác nhau của ảo hóa phần cứng bao gồm:

a. Ảo hóa tồn phần (Full virtualization): Sự mơ phỏng gần như hồn toàn của phần cứng thực cho phép phần mềm, là thành phần đặc trưng của một guest OS, chạy mà khơng có thay đổi.

Trong khoa học máy tính, ảo hóa tồn phần là một kỹ thuật ảo hóa thường cung cấp một loại mơi trường máy ảo nào đó, cụ thể là, một trong số đó là một sự mơ phỏng hồn tồn của phần cứng bên dưới. Ảo hóa tồn phần u cầu mọi tính năng nổi bật của phần cứng phải được phản xạ vào một trong nhiều máy ảo - bao gồm một bộ câu lệnh đầy đủ, vận hành nhập/xuất, ngắt, truy cập bộ nhớ và bất cứ phần tử nào khác mà được sử dụng bởi phần mềm chạy trên máy trần, và đó là

và, trong trường hợp đặc biệt, bất cứ hệ điều hành nào có khả năng thực thi trên phần cứng thơ đều có thể chạy trên máy ảo. Bài kiểm tra rõ ràng của ảo hóa là dù một hệ điều hành có mục đích cho một sử dụng độc lập thì có thể chạy thành cơng bên trong một máy ảo hay khơng. Một dạng khác là ảo hóa nền tảng chỉ cho phép phần mềm cụ thể hoặc đã được thay đổi chạy trong một máy ảo. Khái niệm ảo hóa tồn phần đã được thiết lập tốt trong các tài liệu, nhưng không phải luôn luôn gọi bằng thuật ngữ đặc trưng này; ta thấy ảo hóa nền tảng cũng là một thuật ngữ.Một ví dụ quan trọng của ảo hóa tồn phần được cung cấp bởi chương trình điều khiển của hệ điều hành CP/CMS của IBM. Nó được chứng minh lần đầu tiên với hệ thống nghiên cứu CP-40 của IBM vào năm 1967, sau đó được phân phối thơng qua mã nguồn mở của CP/CMS từ 1967-1972, và được tái thực hiện trong VM family của IBM từ 1972 tới nay. Mỗi người dùng CP/CMS được cung cấp một máy tính độc lập, được mơ phỏng. Mỗi một máy ảo này hồn tồn có khả năng của máy bên dưới, và (cho những người dùng của nó) máy ảo khơng thể phân biệt từ một hệ thống riêng. Mơ phỏng này có thể tồn diện, và dựa trên sách hướng dẫn Principles of Operation cho phần cứng. Nó vì thế bao gồm những phần tử như bộ câu lệnh, bộ nhớ chính, ngắt, ngoại lệ và truy cập thiết bị. Kết quả là một máy đơn có thể ghép nhiều người sử dụng. Ảo hóa tồn phần chỉ có thể mang đến những phần tử kết nối đúng của phần cứng và phần mềm. Ví dụ, nó khơng có khả năng với hầu hết serie System/360 của IBM ngoại trừ IBM System/360-67; cũng như khơng có khả năng với hệ thống System/370 trước đây của IBM đến khi IBM bổ sung bộ nhớ phần cứng ảo vào series System/370 vào năm 1972. Tương tự, ảo hóa tồn phần cũng khơng có khả năng với nền tảng x86 cho đến 2005-2006 với sự mở rộng của AMD-V và Intel VT-x (xem ảo hóa x86). Nhiều nền tảng máy ảo cho nền tảng x86 trở nên rất “đóng” và u sách ảo hóa tồn phần thậm chí trước khi có thêm AMD-v và Intel VT-x. Ví dụ bao gồm Adeos, Mac-on-Linux, Parallels Desktop for Mac, Parallels Workstation, VMware Workstation, VMware Server (trước đây là GSX Server), Virtual Box, Win4BSD, và Win4Lin Pro. VMware, ví dụ, mượn một kỹ thuật gọi là binary translation để tự động thay đổi phần mềm x86 đang chạy để thay thế câu lệnh “đục lỗ máy ảo” bằng một lệnh khác, máy ảo lưu lại thứ tự các câu lệnh, kỹ thuật này cung cấp hình thức của ảo hóa tồn phần. Thử thách chính của ảo hóa tồn phần là sự ngăn chặn và mơ phỏng của những vận hành đặc quyền, như là những câu lệnh nhập/xuất. Hiệu ứng của mọi vận hành thực hiện trong máy ảo được mang tới phải được giữ trong máy ảo đó - vận hành ảo khơng thể được phép thay đổi trạng thái của bất kỳ máy ảo, chương trình điều khiển hay phần cứng nào. Vài câu lệnh máy có thể được thực thi trực tiếp bởi phần

cứng, từ khi toàn bộ hiệu ứng của chúng được chứa trong những phần tử được quản lý bởi chương trình điều khiển, như là vùng nhớ hay thanh ghi số học. Nhưng các câu lệnh khác mà “đục lỗ máy ảo” không thể được phép thực thi trực tiếp; chúng phải thay thế được bẫy và mô phỏng. Những câu lệnh như thế này truy cập hoặc ảnh hưởng đến trạng thái của thơng tin bên ngồi máy ảo. Ảo hóa tồn phần đã chứng minh sự thành công cho:

 Chia sẻ một hệ thống máy tính cho nhiều người dùng.

 Cách ly người dùng với những người dùng khác (và với chương trình điều khiển).

 Mơ phỏng phần cứng mới để đạt được sự cải thiện độ tin cậy, bảo mật và hiệu suất.

b. Ảo hỏa cục bộ (Partial virtualization): Một vài nhưng không phải tất cả môi trường mục tiêu được mô phỏng. Một vài chương trình guest, thành ra, có thể cần sự thay đổi để chạy trong mơi trường ảo này.

Trong ảo hóa cục bộ, bao gồm ảo hóa khơng gian địa chỉ, máy ảo mô phỏng rất nhiều đối tượng của môi trường phần cứng bên dưới, đặc biệt là không gian địa chỉ. Thơng thường, điều này có nghĩa là tồn bộ hệ điều hành khơng thể chạy trong máy ảo - có dấu hiệu ảo hóa tồn bộ - nhưng nhiều chương trình có thể chạy. Dạng chính của ảo hóa cục bộ là ảo hóa khơng gian địa chỉ, trong đó mỗi máy ảo gồm có một khơng gian địa chỉ độc lập. Khả năng này đòi hỏi phần cứng tái định vị địa chỉ, và hiện diện trong hầu hết các ví dụ thực tế của ảo hóa cục bộ. Ảo hóa cục bộ có một mốc lịch sử quan trọng trên con đường tới ảo hóa tồn phần. Nó được dùng trong hệ thống chia sẻ thời gian CTSS thế hệ đầu tiên, trong hệ thống trang thử nghiệm IBM M44/44X, và người ta có thể cho rằng hệ thống như MVS và Commodore 64 (cặp chương trình “chuyển tác vụ”). Thuật ngữ này cũng được sử dụng để miêu tả bất kỳ hệ điều hành nào cung cấp những không gian địa chỉ khác biệt cho từng người dùng hay chương trình riêng lẻ, bao gồm nhiều thứ mà ngày nay khơng cịn được xem xét trên các hệ thống máy ảo. Thử nghiệm với ảo hóa cục bộ, và giới hạn của nó, dẫn đến sự tạo ra hệ thống ảo hóa tồn phần đầu tiên (CP-40 của IBM, phép lặp đầu tiên của CP/CMS, mà cuối cùng trở thành VM family của IBM). (Nhiều hơn những hệ thống gần đây, như Microsoft Windows và Linux, cũng như là những mục còn lại bên dưới, cũng sử dụng hướng tiếp cận cơ bản này. Ảo hóa cục bộ thực hiện dễ dàng hơn đáng kể so với ảo hóa tồn phần.

quan trọng. Ảo hóa cục bộ đã chứng tỏ sự thành cơng lớn trong chia sẻ tài nguyên máy tính cho nhiều người dùng. Tuy nhiên, khi so sánh với ảo hóa tồn phần, hạn chế của nó là trong những tình huống u cầu tương thích ngược hay tính di động. Có thể khó khăn nếu muốn dự đốn chính xác tính năng nào được sử dụng bởi một ứng dụng được mang tới. Nếu những tính năng phần cứng cụ thể khơng được mơ phỏng, thì bất kỳ phần mềm nào sử dụng những tính năng này đều sẽ lỗi.

c. Ảo hóa song song (Paravirtualization): Mơi trường phần cứng khơng được mơ phỏng; tuy nhiên, chương trình guest được thực thi trên miền cách ly của chúng, giống như chúng đang chạy trên một hệ thống khác biệt. Chương trình guest cần sự thay đổi một cách đặc biệt để chạy trong mơi trường này.

Trong điện tốn, ảo hóa song song là kỹ thuật ảo hóa trình bày một giao diện phần mềm tới máy ảo mà tương tự nhưng khơng đồng nhất với phần cứng bên dưới. Mục đích của giao diện thay đổi là giảm tỉ lệ thời gian được dùng để thực hiện vận hành những thực thi của guest mà về bản chất khó chạy hơn trong mơi trường ảo hóa nếu so sánh với mơi trường khơng ảo hóa. Ảo hóa song song cung cấp những “móc nối” đặc biệt xác định cho phép guest và host yêu cầu và báo nhận những tác vụ này, mà mặt khác sẽ thực thi trong domain ảo (nơi hiệu năng thực thi tệ hơn). Một nền tảng ảo hóa song song thành cơng có thể cho phép giám sát máy ảo (VMM) đơn giản hơn (bằng cách tái định vị sự thực thi của những tác vụ quan trọng từ domain ảo đến domain host) và/hoặc giảm sự suy giảm hiệu năng tổng thể của những thực thi máy bên trong virtual-guest.

Ảo hóa song song yêu cầu hệ điều hành guest ported một cách rõ ràng cho API song song - một phân phối OS tiêu chuẩn khơng nhận thức ảo hóa song song - khơng thể chạy trên đỉnh của một VMM ảo hóa song song. Tuy nhiên, thậm chí trong trường hợp nơi mà hệ điều hành khơng thể thay đổi, các thành phần có thể vẫn khả dụng và khởi tạo nhiều lợi thế hiệu năng đáng kể của ảo hóa song song; ví dụ dự án XenWindowsGplPv cung cấp một bộ trình điều khiển thiết bị nhận thức ảo hóa song song, bản quyền dưới điều kiện của GPL, có mục đích cài đặt vào trong một virtual guest Microsoft Windows chạy trên một Xen hypervisor. Ảo hóa phần cứng-hỗ trợ là một cách để cải thiện hiệu quả của ảo hóa phần cứng. Nó bao gồm việc mượn những CPU và thành phần phần cứng được thiết kế đặc biệt để có thể giúp cải thiện hiệu năng của mơi trường guest.Ảo hóa phần cứng khơng được hiểu nhầm với giả lập phần cứng: Trong giả lập phần cứng, một phần của phần cứng mô phỏng các phần khác, trong khi đối với ảo hóa phần cứng, một hypervisor (một phần của phần mềm) mô phỏng một phần cụ thể của phần cứng máy tính hay nhìn chung là tồn bộ máy tính. Ngồi ra, một hypervisor khơng được hiểu nhầm với một emulator. Hai thứ này được định nghĩa tương tự nhau: Cả

hai đều là những chương trình mơ phỏng phần cứng, nhưng miền ngơn ngữ sử dụng của chúng khác nhau.

Một phần của tài liệu VIRTUALMACHINE (Trang 41 - 45)

Tải bản đầy đủ (DOC)

(59 trang)
w