KIẾN TRÚC MÁY ẢO
Trang 1 trong tổng số 1 trang
KIẾN TRÚC MÁY ẢO
Kiến trúc của Máy ảo
Một máy ảo có thể hỗ trợ quá trình cá nhân hoặc một hệ thống đầy đủ
tùy thuộc vào mức độ trừu tượng mà ảo hóa xảy ra. Một số máy ảo
hỗ trợ sử dụng phần cứng linh hoạt và sự cô lập phần mềm, trong khi những người khác
dịch từ một trong những hướng dẫn thiết lập khác.
ảo hóa đã trở thành một quan trọng
công cụ trong thiết kế hệ thống máy tính, và
Các máy ảo được sử dụng trong một số
tiểu ngành khác nhau, từ điều hành
hệ thống ngôn ngữ lập trình
bộ xử lý kiến trúc. Bằng cách giải phóng các nhà phát triển và
người sử dụng từ giao diện truyền thống và hạn chế nguồn lực, máy ảo nâng cao khả năng tương tác phần mềm,
không chiếm được hệ thống, và tính linh hoạt nền tảng.
Bởi vì các máy ảo là sản phẩm của các nhóm khác nhau
với các mục tiêu khác nhau.
Do đó, nó rất hữu ích để có một bước trở lại, sự đa dạng của kiến trúc máy ảo, và mô tả
chúng trong một cách thống nhất, đưa cả hai khái niệm của
ảo hóa và các loại máy ảo trong quan điểm.
Trừu tượng và ảo hóa
Mặc dù phức tạp đáng kinh ngạc của họ, hệ thống máy tính
tập tin gốc tồn tại và tiếp tục phát triển, vì họ là
thiết kế như là hệ thống phân cấp với giao diện được xác định rõ
đó riêng biệt mức độ trừu tượng. Sử dụng tốt
giao diện được định nghĩa tạo điều kiện cho hệ thống phụ độc lập
phát triển cả phần cứng và phần mềm thiết kế
đội. Các khái niệm trừu tượng đơn giản hóa ẩn cấp dưới
thực hiện chi tiết, do đó làm giảm sự phức tạp của quá trình thiết kế.
Một kiến trúc tập lệnh của máy tính (ISA)
minh họa rõ ràng những lợi thế của cũng được xác định
giao diện. Các giao diện được xác định cho phép phát triển
của hệ thống con máy tính tương tác không chỉ
trong các tổ chức khác nhau nhưng cũng có những thời điểm khác nhau,
đôi khi nhiều năm ngoài. Ví dụ, Intel và
AMD thiết kế phát triển bộ vi xử lý mà
thực hiện Intel IA-32 bộ hướng dẫn (x86),
trong khi Microsoft phát triển viết phần mềm
biên dịch để cùng một tập lệnh. Bởi vì cả hai
nhóm đáp ứng các đặc điểm kỹ thuật ISA, phần mềm
có thể được dự kiến sẽ thực hiện một cách chính xác trên bất kỳ máy tính xây dựng
với một bộ vi xử lý IA-32.
Thật không may, cũng được xác định cũng có
những hạn chế của họ. Hệ thống con và các thành phần
thiết kế chi tiết kỹ thuật cho một giao diện sẽ không
làm việc với những người thiết kế cho một người khác. Đối với kỳ thi-
dụ, chương trình ứng dụng, khi phân phối như com-
nhị phân chất đống, được gắn với một ISA cụ thể và phụ thuộc
trên một giao diện hệ thống điều hành cụ thể. Sự thiếu
khả năng tương tác có thể được nhốt, đặc biệt là trong
thế giới của máy tính nối mạng, nơi nó được advan-
tageous để di chuyển phần mềm tự do như dữ liệu.
Ảo hóa cung cấp một cách để nhận được xung quanh
như vậy hạn chế. Ảo hóa một hệ thống hoặc compo
nent như một bộ xử lý, bộ nhớ, hoặc một I / O
thiết bị tại một bản đồ mức độ trừu tượng liên
mặt và nguồn tài nguyên có thể nhìn thấy vào giao diện và
nguồn lực của một cơ bản, có thể khác nhau, thực
hệ thống. Do đó, hệ thống thực sự xuất hiện như một
hệ thống ảo khác nhau hoặc thậm chí là nhiều ảo
hệ thống.
Không giống như trừu tượng, ảo hóa không được phân vào đâu
essarily nhằm mục đích để đơn giản hóa hoặc ẩn các chi tiết
MÁY ẢO
Khái niệm về ảo hóa có thể được áp dụng không
chỉ để các hệ thống con như đĩa nhưng toàn bộ
máy. Để thực hiện một máy ảo, phát
triển thêm một lớp phần mềm để một máy thật để hỗ trợ cổng kiến trúc mong muốn. Bằng cách làm như vậy, một máy ảo
có thể phá vỡ khả năng tương thích máy thực sự và
hạn chế tài nguyên phần cứng.
kiến trúc giao diện
Một cuộc thảo luận của các máy ảo cũng là một cuộc thảo luận về
kiến trúc máy tính theo nghĩa tinh khiết của thuật ngữ.
Bởi vì cài đặt VM nằm ở kiến trúc
giao diện, một chính xem xét trong kinh phí xây dựng
tion của một VM là lòng trung thành mà nó thực hiện các giao diện này
Kiến trúc, áp dụng cho hệ thống máy tính,
đề cập đến một đặc điểm kỹ thuật chính thức của một giao diện trong
hệ thống, bao gồm cả hành vi hợp lý các nguồn tài nguyên thông qua giao diện quản lý. thực hiện
mô tả là hiện thân thực tế của một kiến trúc.
Mức độ trừu tượng tương ứng để thực hiện
lớp, cho dù trong phần cứng hoặc phần mềm, mỗi liên quan với giao diện kiến trúc của riêng hay của nó.
Hướng dẫn thiết lập kiến trúc. ISA Các đánh dấu
phân chia giữa phần cứng và phần mềm, và con
sists của giao diện 3 và 4 trong Hình 2. Giao diện 4
đại diện cho người sử dụng ISA và bao gồm các khía cạnh
hiển thị cho một chương trình ứng dụng. 3 giao diện,
hệ thống ISA, là một siêu của ISA người sử dụng và
bao gồm những khía cạnh có thể nhìn thấy duy nhất để hệ điều hành phần mềm chịu trách nhiệm về quản lý phần cứng
nguồn lực.
Giao diện ứng dụng nhị phân. ABI cho một
gram truy cập vào các tài nguyên phần cứng và dịch vụ
có sẵn trong một hệ thống thông qua người sử dụng ISA (liên
phải đối mặt với 4) và cuộc gọi hệ thống giao diện (giao diện 2).
ABI không bao gồm hướng dẫn hệ thống;
đúng hơn, tất cả các chương trình ứng dụng tương tác với các
tài nguyên phần cứng một cách gián tiếp bằng cách gọi
hoạt động dịch vụ hệ thống thông qua hệ thống các cuộc gọi liên
phải đối mặt. Cuộc gọi hệ thống cung cấp một cách để điều hành một
hệ thống để thực hiện các hoạt động thay mặt cho một người sử dụng
chương trình sau khi xác nhận tính xác thực của họ và
an toàn.
Giao diện lập trình ứng dụng. API cung cấp cho một
chương trình truy cập vào các tài nguyên phần cứng và dịch
tệ nạn trong một hệ thống thông qua những người sử dụng ISA
(giao diện 4) bổ sung với ngôn ngữ cấp cao
ABI không bao gồm hướng dẫn hệ thống;
đúng hơn, tất cả các chương trình ứng dụng tương tác với các
tài nguyên phần cứng một cách gián tiếp bằng cách gọi
hoạt động dịch vụ hệ thống thông qua hệ thống các cuộc gọi liên
phải đối mặt. Cuộc gọi hệ thống cung cấp một cách để điều hành một
hệ thống để thực hiện các hoạt động thay mặt cho một người sử dụng
chương trình sau khi xác nhận tính xác thực của họ và
an toàn.
Giao diện lập trình ứng dụng. API cung cấp cho một
chương trình truy cập vào các tài nguyên phần cứng và dịch
tệ nạn trong một hệ thống thông qua những người sử dụng ISA
(giao diện 4) bổ sung với ngôn ngữ cấp cao
(HLL) thư viện các cuộc gọi (giao diện 1). Hệ thống bất kỳ cuộc gọi
thường được thực hiện qua các thư viện. Sử dụng một
API cho phép các phần mềm ứng dụng sẽ được chuyển EAS-
đình, thông qua biên dịch lại, các hệ thống khác
hỗ trợ các API cùng.
Quy trình và hệ thống máy ảo
Để hiểu những gì một máy ảo, đó là lần đầu tiên
cần thiết để xem xét ý nghĩa của "máy"
từ một quá trình và quan điểm hệ thống.
Từ góc nhìn của một quá trình thực hiện một người sử dụng
chương trình, máy bao gồm một bộ nhớ hợp lý
không gian địa chỉ được giao để xử lý cùng với
hướng dẫn người sử dụng cấp và đăng ký cho phép
thực hiện các mã thuộc quá trình. các
máy I / O chỉ có thể nhìn thấy thông qua các hoạt động
hệ thống, và cách duy nhất quá trình có thể tương tác
với hệ thống I / O thông qua hệ thống điều hành
các cuộc gọi. Vì vậy, ABI xác định máy tính như là nhìn thấy một
quá trình. Tương tự như vậy, API xác định máy char
acteristics như chương trình HLL của một ứng dụng.
Từ quan điểm của các hệ điều hành và
các ứng dụng hỗ trợ toàn bộ hệ thống chạy trên
một máy tính cơ bản. Một hệ thống là một thực hiện đầy đủ
môi trường có thể hỗ trợ nhiều tiến trình
cùng một lúc. Các quá trình này chia sẻ một hệ thống tập tin
và các I / O các nguồn lực. Môi trường hệ thống
kéo dài thời gian như quá trình đến và đi. Các hệ thống
tem cấp phát bộ nhớ thực và I / O các nguồn lực.
quy trình, và cho phép các quá trình tương tác với
nguồn lực của họ. Từ quan điểm hệ thống, có-
, đặc điểm nổi bật của phần cứng cơ bản một mình
xác định các máy, nó là ISA cung cấp
giao diện giữa hệ thống và máy tính.
Cũng như có những quan điểm quá trình và hệ thống
"máy móc", có quá trình và hệ thống ảo
máy. VM quá trình là một nền tảng ảo
thực hiện một quá trình cá nhân. Đây là loại của máy ảo
tồn tại chỉ để hỗ trợ quá trình, nó được tạo ra
khi quá trình này là tạo ra và chấm dứt khi
quá trình chấm dứt. Ngược lại, một máy ảo hệ thống
cung cấp một môi trường hệ thống hoàn chỉnh liên tục
hỗ trợ một hệ điều hành cùng với mình
quá trình người sử dụng nhiều. Nó cung cấp các operat khách
các hệ thống truy cập vào phần cứng ảo
nguồn lực, kể cả hệ thống I / O, và có lẽ
một giao diện người dùng đồ họa cùng với một bộ xử lý
và bộ nhớ.
Các quá trình hoặc hệ thống chạy trên một máy ảo là
khách, trong khi nền tảng cơ bản có hỗ trợ
VM là máy chủ. Các phần mềm ảo hóa mà
thực hiện một máy ảo quá trình thường được gọi là chạy
thời gian, viết tắt của "phần mềm thời gian chạy. virtualiz-
các phần mềm trong một máy ảo hệ thống thường được gọi
là màn hình máy ảo (VMM).
QUY TRÌNH MÁY ẢO
Quy trình máy ảo cung cấp một ABI ảo hoặc API môi
trường cho ứng dụng người dùng. Khác nhau của họ
triển khai, quá trình máy ảo cung cấp bản sao,
thi đua, và tối ưu hóa.
Đa hệ thống
VM quá trình phổ biến nhất là để phổ biến
mà ít coi nó như là một máy ảo. Hầu hết các hoạt động
hệ thống có thể đồng thời hỗ trợ nhiều người sử dụng
quá trình thông qua multiprogramming, trong đó cung cấp cho
mỗi quá trình ảo tưởng có một hoàn thành
máy cho chính nó. Mỗi quá trình có địa chỉ riêng của mình
không gian, đăng ký, và cấu trúc file. các hoạt động
hệ thống thời gian cổ phần phần cứng và quản lý
cơ bản các nguồn lực để thực hiện điều này có thể. trong
hiệu lực, hệ thống điều hành cung cấp một nhân rộng
quá trình cấp máy ảo cho mỗi đồng thời exe
cuting ứng dụng.
Giả lập và biên dịch nhị phân năng động
Một vấn đề thách thức đối với quá trình cấp
Máy ảo hỗ trợ chương trình nhị phân com-
chất đống để hướng dẫn một thiết lập khác nhau từ một trong những
máy chủ thực hiện. Một ví dụ gần đây của một máy ảo quá trình
Intel ia32-EL,
1
cho phép Intel IA-32 thư mục-
nhị phân cation để chạy trên phần cứng Itanium.
Cách đơn giản nhất thực hiện
thi đua là thông qua giải thích. một thông dịch viên
chương trình nạp, giải mã, và mô phỏng các-execu
tion hướng dẫn khách cá nhân. Điều này có thể là một
quá trình tương đối chậm, hàng chục yêu cầu của chủ nhà
hướng dẫn cho mỗi chỉ dẫn nguồn giải thích.
Hiệu suất tốt hơn có thể thu được thông qua
dịch năng động nhị phân, chuyển đổi khách
hướng dẫn để lưu trữ hướng dẫn trong các khối thay
hơn so với hướng dẫn của hướng dẫn và giúp họ tiết kiệm
tái sử dụng trong một bộ nhớ cache phần mềm. Lặp đi lặp lại thực hiện
hướng dẫn dịch do đó amortizes mối
tively cao chi phí của bản dịch.
Cùng ISA nhị phân tối ưu hóa
Để giảm tổn thất hiệu suất, năng động nhị phân
dịch giả đôi khi thực hiện tối ưu hóa mã
trong dịch mã. Khả năng này dẫn tự nhiên
cho máy ảo trong đó hướng dẫn thiết lập các máy chủ
và khách sử dụng là như nhau, với tối ưu hóa của một
chương trình nhị phân như mục đích duy nhất của máy ảo. Cùng
ISA nhị phân tối ưu hóa năng động, sử dụng hồ sơ thông tin
cấp thông tin thu thập trong quá trình giải thích hoặc
giai đoạn dịch để tối ưu hóa nhị phân trên-the-fly.
Một ví dụ của tối ưu hóa như vậy là Dynamo
hệ thống, phát triển như là một dự án nghiên cứu
Hewlett-Packard.
2
-Ngôn ngữ máy ảo cấp cao
Đối với các máy ảo quá trình, nền tảng di là
rõ ràng là một mục tiêu quan trọng. Tuy nhiên, thi đua
kiến trúc thông thường trên một cung cấp
cross-nền tảng tương thích trên một trường hợp trường
cơ sở và đòi hỏi nỗ lực lập trình đáng kể.
Tính di động nền tảng là dễ dàng hơn
đạt được bằng cách thiết kế một máy ảo quá trình cấp như một phần của
HLL tổng thể phát triển ứng dụng môi trường
thuận. HLL kết quả VM không trực tiếp cor-
đáp ứng với bất kỳ nền tảng thực tế, đúng hơn, nó được thiết kế
để dễ tính di động và để phù hợp với các tính năng của
HLL hoặc thiết lập các HLLs.
Hình 4 cho thấy sự khác biệt giữa một
biên dịch môi trường cụ thể ventional nền tảng
thuận và một môi trường máy ảo HLL. Trong một
thông thường hệ thống, thể hiện trong hình 4a, com
người bốc dỡ diện người dùng đầu tiên tạo ra mã trung gian
tương tự như mã máy, nhưng trừu tượng hơn. Sau đó,
một máy phát điện mã sử dụng mã trung gian gen-
erate một mã máy có chứa nhị phân cho một đặc
cific ISA và hệ điều hành. Tập tin nhị phân này là
phân phối và thực thi trên các nền tảng hỗ trợ
ISA / hệ điều hành được kết hợp.
Trong một máy ảo HLL, như thể hiện trong hình 4b, com
người bốc dỡ diện người dùng tạo ra mã máy trừu tượng trong
một ISA ảo xác định giao diện của máy ảo. Điều này
ảo ISA mã, cùng với liên quan đến dữ liệu cấu
ture thông tin (siêu dữ liệu) được phân phối cho-exe
cution trên nền tảng khác nhau. Mỗi nền tảng máy chủ
thực hiện một máy ảo có khả năng xếp hàng và thực hiện
ISA ảo và thiết lập một thói quen thư viện quy định
một API chuẩn hóa. Trong hình thức đơn giản của nó, các máy ảo
chứa một thông dịch viên. Tinh vi hơn, cao hơn
hiệu suất máy ảo biên dịch các máy trừu tượng
mã vào mã máy chủ để thực hiện trực tiếp
trên nền tảng máy chủ.
Một lợi thế của một máy ảo HLL là ứng dụng
phần mềm là dễ dàng chuyển một khi các máy ảo và các thư viện
được thực hiện trên một nền tảng máy chủ. Trong khi máy ảo
thực hiện một số nỗ lực, nhiều sim
pler hơn phát triển một trình biên dịch toàn diện cho một
nền tảng và porting tất cả các ứng dụng thông qua
biên dịch lại.
The Sun Microsystems Java VM kiến trúc
3
và Microsoft Common Language Infra-
cơ cấu, đó là nền tảng NET.
khuôn khổ,
4
được sử dụng rộng rãi ví dụ của HLL
Máy ảo. ISA trong cả hai hệ thống ngăn xếp dựa trên
loại bỏ đăng ký yêu cầu và sử dụng một trừu tượng
dữ liệu đặc điểm kỹ thuật và mô hình bộ nhớ hỗ trợ
lập trình hướng đối tượng an toàn.
Máy SYSTEM VIRTUAL
Một máy ảo hệ thống cung cấp một môi trường hoàn toàn
trong đó một hệ điều hành và nhiều quá trình,
có thể thuộc nhiều người dùng, có thể
cùng tồn tại. Bằng cách sử dụng máy ảo hệ thống, máy chủ đơn
nền tảng phần cứng có thể hỗ trợ nhiều, iso-
hệ thống môi trường điều hành khách lated
cùng một lúc.
Hệ thống máy ảo xuất hiện trong những năm 1960
và đầu những năm 1970
5
và là nguồn gốc của
máy ảo hạn. Tại thời điểm đó, chính
khung hệ thống máy tính rất lớn,
đắt tiền, và thường được chia sẻ giữa các numer
độc hại người sử dụng với công nghệ máy ảo, người sử dụng khác nhau
nhóm có thể chạy hệ điều hành khác nhau
trên phần cứng được chia sẻ.
Như phần cứng trở nên ít tốn kém và nhiều
di cư đến sự quan tâm, máy tính để bàn trong những origi
máy ảo hệ thống nal nhạt dần. Ngày nay, tuy nhiên, hệ thống
Máy ảo được thưởng thức phổ biến mới lớn
hệ thống máy tính lớn của quá khứ đã được thay thế
bởi các máy chủ hoặc máy chủ trang trại được chia sẻ bởi nhiều người sử dụng
hoặc các nhóm.
Có lẽ ứng dụng quan trọng nhất hiện nay
công nghệ của hệ thống máy ảo là cách ly nó pro-
vides giữa nhiều hệ thống chạy đồng-
rently trên cùng một nền tảng phần cứng. Nếu bảo mật
trên một hệ thống khách bị thỏa hiệp hoặc nếu một khách
hệ điều hành bị thất bại, các phần mềm chạy
Ning trên hệ thống khách khác không bị ảnh hưởng.
Trong một hệ thống máy ảo, VMM chủ yếu cung cấp
nền tảng nhân bản. Vấn đề trọng tâm là phân chia một
tập hợp các tài nguyên phần cứng giữa các khách nhiều
môi trường-một hệ điều hành ví dụ là
đĩa ảo hóa, như trong hình 1. Thiết bị VMM có
truy cập, quản lý, tất cả các tài nguyên phần cứng.
Một hệ thống điều hành khách và ứng dụng của nó
quá trình này sau đó được quản lý theo (ẩn) kiểm soát
VMM. Khi một hệ thống điều hành khách mỗi
hình thành một hướng dẫn đặc quyền hoặc hoạt động mà
trực tiếp tương tác với các tài nguyên phần cứng chia sẻ,
chặn VMM hoạt động, kiểm tra cho
đúng đắn, và thực hiện nó thay mặt cho khách.
Đánh giá của khách phần mềm là không biết đằng sau hậu trường
làm việc.
Cổ điển hệ thống máy ảo
Từ góc độ người dùng, hầu hết các máy ảo hệ thống
vide về cơ bản các chức năng tương tự nhưng khác nhau về
chi tiết của họ thực hiện. Cách tiếp cận cổ điển
6
nơi VMM trên phần cứng trống và các máy ảo phù hợp với
trên đầu trang. VMM chạy trong cao nhất privi
leged chế độ, trong khi tất cả các hệ thống khách chạy với
đặc quyền giảm để VMM có thể đánh chặn
và mô phỏng tất cả các hành động khách hệ điều hành
bình thường truy cập hay thao tác quan trọng cứng
đồ tài nguyên.
Lưu trữ máy ảo
Một hệ thống thực hiện VM thay thế xây dựng
ảo hóa phần mềm trên đầu trang của một host hiện có Giấy phép hoạt động
ating hệ thống, dẫn đến một máy ảo lưu trữ trên máy. Một advan
Tage của một máy ảo lưu trữ trên máy chủ là một người sử dụng cài đặt nó giống như
một chương trình ứng dụng điển hình. Hơn nữa, ảo hóa
phần mềm có thể dựa vào hệ điều hành máy chủ
cung cấp trình điều khiển thiết bị và thấp hơn cấp các dịch vụ khác
chứ không phải là trên VMM. Một ví dụ về một tổ chức
VM thực hiện là các máy chủ VMware GSX,
7
mà chạy trên các nền tảng phần cứng IA-32.
Toàn bộ hệ thống máy ảo
Trong hệ thống máy ảo thông thường, tất cả các khách trọ và chủ
hệ thống phần mềm cũng như sử dụng phần mềm ứng dụng
ISA giống như các phần cứng cơ bản. Trong một số
tình huống, tuy nhiên, hệ thống máy chủ và khách
không có một ISA phổ biến. Ví dụ, hai
hệ thống máy tính để bàn phổ biến nhất hiện nay, Windows máy tính cá nhân
và Apple PowerPC dựa trên hệ thống, sử dụng khác nhau
ISA (và hệ điều hành khác nhau).
Toàn bộ hệ thống máy ảo đối phó với tình trạng này bằng cách VIR
tualizing tất cả các phần mềm, bao gồm cả các hoạt động sys
tem và các ứng dụng. Bởi vì ISA khác nhau,
VM phải cạnh tranh với cả các ứng dụng và operat
các hệ thống mã. Một ví dụ của loại hình này của VM
Virtual PC,
8
trong đó một hệ thống Windows chạy trên
một nền tảng Macintosh. Phần mềm máy ảo thực hiện
như là một chương trình ứng dụng được hỗ trợ bởi máy chủ
hệ điều hành và sử dụng các hệ thống không hoạt động ISA.
Đa ảo hóa
Một hình thức thú vị của ảo hóa hệ thống
xảy ra khi các nền tảng máy chủ cơ bản là một lớn
chia sẻ bộ nhớ đa. Ở đây, tầm quan
tant mục tiêu là phân vùng hệ thống lớn thành
nhiều hệ thống đa nhỏ hơn dis-
tributing các tài nguyên phần cứng cơ bản của
hệ thống lớn.
Với phân vùng vật lý,
9
vật lý
tài nguyên sử dụng hệ thống ảo được phân chia
từ những người được sử dụng bởi các hệ thống ảo khác. Vật lý
phân vùng cung cấp một mức độ cao của sự cô lập, vì vậy
lập phần mềm không phải là vấn đề cũng không phải lỗi phần cứng
trên một phân vùng ảnh hưởng đến các chương trình phân vùng khác.
Với phân vùng hợp lý,
10
cơ bản cứng
nguồn tài nguyên đồ thời gian ghép giữa
phân vùng khác nhau, qua đó cải thiện hệ thống
sử dụng tài nguyên. Tuy nhiên, một số của Bene-
phù hợp với sự cô lập phần cứng bị mất.
Cả hai kỹ thuật phân vùng thường sử dụng đặc biệt
hỗ trợ phần cứng hoặc phần mềm dựa trên cơ bản
sửa đổi phần cứng đặc biệt nhắm mục tiêu ngang
titioning.
Codesigned máy ảo
Chức năng và tính di động là mục tiêu của
hầu hết các hệ thống máy ảo được thực hiện cứng
đồ đã được phát triển cho một số tiêu chuẩn ISA. trong
Ngược lại, máy ảo codesigned thực hiện mới, propri
ISA etary mục tiêu cải thiện hiệu suất,
hiệu quả năng lượng, hoặc cả hai. ISA của máy chủ có thể được
hoàn toàn mới, hoặc nó có thể là một phần mở rộng của một
hiện tại ISA.
Một VM codesigned có các ứng dụng ISA không có nguồn gốc.
Thay vào đó, VMM xuất hiện là một phần cứng
đồ thực hiện; mục đích duy nhất của nó là đà điểu
cuối của khách ISA. Để duy trì ảo tưởng này,
VMM nằm trong một vùng bộ nhớ che dấu
từ tất cả các phần mềm thông thường. Nó bao gồm một số nhị phân
dịch có thể chuyển đổi các hướng dẫn khách vào tối ưu
mized trình tự hướng dẫn ISA máy chủ và lưu trữ
chúng trong các khu vực bộ nhớ giấu.
Có lẽ ví dụ nổi tiếng nhất của một codesigned
VM là Crusoe Transmeta.
11
Trong bộ vi xử lý này,
phần cứng cơ bản sử dụng một chỉ thị rất dài
tion từ kiến trúc, và các khách ISA là Intel
IA-32. Các nhà thiết kế Transmeta tập trung vào
tiết kiệm điện năng lợi thế của VLIW đơn giản cứng
ware.
AS/400 IBM (nay là iSeries) cũng sử dụng đồng
thiết kế kỹ thuật máy ảo.
12
Không giống như các codesigned
Máy ảo, AS/400 "Mục tiêu thiết kế chính là để
cung cấp hỗ trợ cho những hướng dẫn đối tượng
định nghĩa lại giao diện HW / SW fash trong một cuốn tiểu thuyết
ion. Triển khai AS/400 hiện nay là dựa trên
một ISA PowerPC mở rộng, trong khi phiên bản trước đó
sử dụng ISA, đáng kể khác nhau độc quyền.
Máy phân loại tư duy ảo
Với mảng này rộng rãi của máy ảo, khác nhau
mục tiêu và triển khai, nó là hữu ích để đặt chúng
trong quan điểm và tổ chức phổ biến imple
mentation vấn đề. Hình 5 trình bày một thuế đơn giản
onomy máy ảo, trước tiên được chia thành một trong hai
quá trình hoặc hệ thống máy ảo. Trong thời hạn hai chính
chủng loại, máy ảo có thể được phân biệt hơn nữa
theo cho dù họ sử dụng cùng một ISA hoặc một
khác nhau một trong. Cơ sở cho sự khác biệt này là
mà thi đua ISA là một tính năng chiếm ưu thế trong những
Máy ảo có hỗ trợ nó.
Trong số các máy ảo quá trình không thực hiện ISA
thi đua là những hệ thống multiprogrammed, mà
hầu hết các máy tính ngày nay đã hỗ trợ. Ngoài ra
bao gồm cùng ISA tối ưu hóa năng động nhị phân,
có sử dụng nhiều trong những kỹ thuật tương tự như ISA
thi đua.
Quy trình máy ảo với khách khác nhau và máy chủ ISA
bao gồm các dịch giả năng động, với máy tính
giao diện thường được định nghĩa ở cấp ABI, và HLL
Máy ảo với một giao diện API cấp.
Hệ thống máy ảo bao gồm các máy ảo hệ thống cổ điển như
cũng như lưu trữ máy ảo cung cấp nhân rộng, iso-
lated môi trường hệ thống. Sự khác biệt chính
giữa hệ thống cổ điển và lưu trữ trên máy máy ảo là
VMM thực hiện chứ không phải là chức năng, nhiệm vụ
họ cung cấp cho người dùng.
Trong toàn bộ hệ thống máy ảo, trong đó khách
ISA máy chủ khác nhau, hiệu suất thường là giây
ondary để chức năng chính xác. Khi hiệu suất
mance hoặc điện / khu vực hiệu quả trở nên quan trọng,
như là trường hợp với các máy ảo codesigned, imple-VM
mentation giao diện có thể được gần gũi hơn với các Proces-
Sor của phần cứng vật lý.
Hệ thống máy tính hiện đại rất phức tạp cấu-
tures có chứa nhiều hợp chặt chẽ tương tác
các thành phần trong cả phần mềm và
phần cứng. Trong vũ trụ này, ảo hóa hành vi
như là một loại công nghệ kết nối. Interjecting
phần mềm ảo hóa giữa các lớp trừu tượng
gần giao diện HW / SW tạo một máy ảo
cho phép các hệ thống con không tương thích
làm việc cùng nhau. Hơn nữa, nhân rộng bởi virtualiza
tion cho phép sử dụng linh hoạt hơn và hiệu quả cứng
đồ tài nguyên.
Máy ảo được sử dụng rộng rãi để cho phép interoper
khả năng giữa phần cứng, phần mềm hệ thống, và
ứng dụng phần mềm. Với sự phụ thuộc nặng nề
tiêu chuẩn và củng cố xảy ra trong các ngành công nghiệp-
cố gắng, rất có thể là bất kỳ ISA mới, hệ điều hành,
hoặc ngôn ngữ lập trình sẽ được dựa trên VM
công nghệ. Trong tương lai, các máy ảo nên được xem
như là một kỷ luật thống nhất để cùng một mức độ cứng
ware, hệ thống điều hành và phần mềm ứng dụng
hiện nay.
* CHÚ THÍCH: mình sưu tầm bài này nên có nhiều từ sai hoặc thiếu mong các bạn thông cảm
Một máy ảo có thể hỗ trợ quá trình cá nhân hoặc một hệ thống đầy đủ
tùy thuộc vào mức độ trừu tượng mà ảo hóa xảy ra. Một số máy ảo
hỗ trợ sử dụng phần cứng linh hoạt và sự cô lập phần mềm, trong khi những người khác
dịch từ một trong những hướng dẫn thiết lập khác.
ảo hóa đã trở thành một quan trọng
công cụ trong thiết kế hệ thống máy tính, và
Các máy ảo được sử dụng trong một số
tiểu ngành khác nhau, từ điều hành
hệ thống ngôn ngữ lập trình
bộ xử lý kiến trúc. Bằng cách giải phóng các nhà phát triển và
người sử dụng từ giao diện truyền thống và hạn chế nguồn lực, máy ảo nâng cao khả năng tương tác phần mềm,
không chiếm được hệ thống, và tính linh hoạt nền tảng.
Bởi vì các máy ảo là sản phẩm của các nhóm khác nhau
với các mục tiêu khác nhau.
Do đó, nó rất hữu ích để có một bước trở lại, sự đa dạng của kiến trúc máy ảo, và mô tả
chúng trong một cách thống nhất, đưa cả hai khái niệm của
ảo hóa và các loại máy ảo trong quan điểm.
Trừu tượng và ảo hóa
Mặc dù phức tạp đáng kinh ngạc của họ, hệ thống máy tính
tập tin gốc tồn tại và tiếp tục phát triển, vì họ là
thiết kế như là hệ thống phân cấp với giao diện được xác định rõ
đó riêng biệt mức độ trừu tượng. Sử dụng tốt
giao diện được định nghĩa tạo điều kiện cho hệ thống phụ độc lập
phát triển cả phần cứng và phần mềm thiết kế
đội. Các khái niệm trừu tượng đơn giản hóa ẩn cấp dưới
thực hiện chi tiết, do đó làm giảm sự phức tạp của quá trình thiết kế.
Một kiến trúc tập lệnh của máy tính (ISA)
minh họa rõ ràng những lợi thế của cũng được xác định
giao diện. Các giao diện được xác định cho phép phát triển
của hệ thống con máy tính tương tác không chỉ
trong các tổ chức khác nhau nhưng cũng có những thời điểm khác nhau,
đôi khi nhiều năm ngoài. Ví dụ, Intel và
AMD thiết kế phát triển bộ vi xử lý mà
thực hiện Intel IA-32 bộ hướng dẫn (x86),
trong khi Microsoft phát triển viết phần mềm
biên dịch để cùng một tập lệnh. Bởi vì cả hai
nhóm đáp ứng các đặc điểm kỹ thuật ISA, phần mềm
có thể được dự kiến sẽ thực hiện một cách chính xác trên bất kỳ máy tính xây dựng
với một bộ vi xử lý IA-32.
Thật không may, cũng được xác định cũng có
những hạn chế của họ. Hệ thống con và các thành phần
thiết kế chi tiết kỹ thuật cho một giao diện sẽ không
làm việc với những người thiết kế cho một người khác. Đối với kỳ thi-
dụ, chương trình ứng dụng, khi phân phối như com-
nhị phân chất đống, được gắn với một ISA cụ thể và phụ thuộc
trên một giao diện hệ thống điều hành cụ thể. Sự thiếu
khả năng tương tác có thể được nhốt, đặc biệt là trong
thế giới của máy tính nối mạng, nơi nó được advan-
tageous để di chuyển phần mềm tự do như dữ liệu.
Ảo hóa cung cấp một cách để nhận được xung quanh
như vậy hạn chế. Ảo hóa một hệ thống hoặc compo
nent như một bộ xử lý, bộ nhớ, hoặc một I / O
thiết bị tại một bản đồ mức độ trừu tượng liên
mặt và nguồn tài nguyên có thể nhìn thấy vào giao diện và
nguồn lực của một cơ bản, có thể khác nhau, thực
hệ thống. Do đó, hệ thống thực sự xuất hiện như một
hệ thống ảo khác nhau hoặc thậm chí là nhiều ảo
hệ thống.
Không giống như trừu tượng, ảo hóa không được phân vào đâu
essarily nhằm mục đích để đơn giản hóa hoặc ẩn các chi tiết
MÁY ẢO
Khái niệm về ảo hóa có thể được áp dụng không
chỉ để các hệ thống con như đĩa nhưng toàn bộ
máy. Để thực hiện một máy ảo, phát
triển thêm một lớp phần mềm để một máy thật để hỗ trợ cổng kiến trúc mong muốn. Bằng cách làm như vậy, một máy ảo
có thể phá vỡ khả năng tương thích máy thực sự và
hạn chế tài nguyên phần cứng.
kiến trúc giao diện
Một cuộc thảo luận của các máy ảo cũng là một cuộc thảo luận về
kiến trúc máy tính theo nghĩa tinh khiết của thuật ngữ.
Bởi vì cài đặt VM nằm ở kiến trúc
giao diện, một chính xem xét trong kinh phí xây dựng
tion của một VM là lòng trung thành mà nó thực hiện các giao diện này
Kiến trúc, áp dụng cho hệ thống máy tính,
đề cập đến một đặc điểm kỹ thuật chính thức của một giao diện trong
hệ thống, bao gồm cả hành vi hợp lý các nguồn tài nguyên thông qua giao diện quản lý. thực hiện
mô tả là hiện thân thực tế của một kiến trúc.
Mức độ trừu tượng tương ứng để thực hiện
lớp, cho dù trong phần cứng hoặc phần mềm, mỗi liên quan với giao diện kiến trúc của riêng hay của nó.
Hướng dẫn thiết lập kiến trúc. ISA Các đánh dấu
phân chia giữa phần cứng và phần mềm, và con
sists của giao diện 3 và 4 trong Hình 2. Giao diện 4
đại diện cho người sử dụng ISA và bao gồm các khía cạnh
hiển thị cho một chương trình ứng dụng. 3 giao diện,
hệ thống ISA, là một siêu của ISA người sử dụng và
bao gồm những khía cạnh có thể nhìn thấy duy nhất để hệ điều hành phần mềm chịu trách nhiệm về quản lý phần cứng
nguồn lực.
Giao diện ứng dụng nhị phân. ABI cho một
gram truy cập vào các tài nguyên phần cứng và dịch vụ
có sẵn trong một hệ thống thông qua người sử dụng ISA (liên
phải đối mặt với 4) và cuộc gọi hệ thống giao diện (giao diện 2).
ABI không bao gồm hướng dẫn hệ thống;
đúng hơn, tất cả các chương trình ứng dụng tương tác với các
tài nguyên phần cứng một cách gián tiếp bằng cách gọi
hoạt động dịch vụ hệ thống thông qua hệ thống các cuộc gọi liên
phải đối mặt. Cuộc gọi hệ thống cung cấp một cách để điều hành một
hệ thống để thực hiện các hoạt động thay mặt cho một người sử dụng
chương trình sau khi xác nhận tính xác thực của họ và
an toàn.
Giao diện lập trình ứng dụng. API cung cấp cho một
chương trình truy cập vào các tài nguyên phần cứng và dịch
tệ nạn trong một hệ thống thông qua những người sử dụng ISA
(giao diện 4) bổ sung với ngôn ngữ cấp cao
ABI không bao gồm hướng dẫn hệ thống;
đúng hơn, tất cả các chương trình ứng dụng tương tác với các
tài nguyên phần cứng một cách gián tiếp bằng cách gọi
hoạt động dịch vụ hệ thống thông qua hệ thống các cuộc gọi liên
phải đối mặt. Cuộc gọi hệ thống cung cấp một cách để điều hành một
hệ thống để thực hiện các hoạt động thay mặt cho một người sử dụng
chương trình sau khi xác nhận tính xác thực của họ và
an toàn.
Giao diện lập trình ứng dụng. API cung cấp cho một
chương trình truy cập vào các tài nguyên phần cứng và dịch
tệ nạn trong một hệ thống thông qua những người sử dụng ISA
(giao diện 4) bổ sung với ngôn ngữ cấp cao
(HLL) thư viện các cuộc gọi (giao diện 1). Hệ thống bất kỳ cuộc gọi
thường được thực hiện qua các thư viện. Sử dụng một
API cho phép các phần mềm ứng dụng sẽ được chuyển EAS-
đình, thông qua biên dịch lại, các hệ thống khác
hỗ trợ các API cùng.
Quy trình và hệ thống máy ảo
Để hiểu những gì một máy ảo, đó là lần đầu tiên
cần thiết để xem xét ý nghĩa của "máy"
từ một quá trình và quan điểm hệ thống.
Từ góc nhìn của một quá trình thực hiện một người sử dụng
chương trình, máy bao gồm một bộ nhớ hợp lý
không gian địa chỉ được giao để xử lý cùng với
hướng dẫn người sử dụng cấp và đăng ký cho phép
thực hiện các mã thuộc quá trình. các
máy I / O chỉ có thể nhìn thấy thông qua các hoạt động
hệ thống, và cách duy nhất quá trình có thể tương tác
với hệ thống I / O thông qua hệ thống điều hành
các cuộc gọi. Vì vậy, ABI xác định máy tính như là nhìn thấy một
quá trình. Tương tự như vậy, API xác định máy char
acteristics như chương trình HLL của một ứng dụng.
Từ quan điểm của các hệ điều hành và
các ứng dụng hỗ trợ toàn bộ hệ thống chạy trên
một máy tính cơ bản. Một hệ thống là một thực hiện đầy đủ
môi trường có thể hỗ trợ nhiều tiến trình
cùng một lúc. Các quá trình này chia sẻ một hệ thống tập tin
và các I / O các nguồn lực. Môi trường hệ thống
kéo dài thời gian như quá trình đến và đi. Các hệ thống
tem cấp phát bộ nhớ thực và I / O các nguồn lực.
quy trình, và cho phép các quá trình tương tác với
nguồn lực của họ. Từ quan điểm hệ thống, có-
, đặc điểm nổi bật của phần cứng cơ bản một mình
xác định các máy, nó là ISA cung cấp
giao diện giữa hệ thống và máy tính.
Cũng như có những quan điểm quá trình và hệ thống
"máy móc", có quá trình và hệ thống ảo
máy. VM quá trình là một nền tảng ảo
thực hiện một quá trình cá nhân. Đây là loại của máy ảo
tồn tại chỉ để hỗ trợ quá trình, nó được tạo ra
khi quá trình này là tạo ra và chấm dứt khi
quá trình chấm dứt. Ngược lại, một máy ảo hệ thống
cung cấp một môi trường hệ thống hoàn chỉnh liên tục
hỗ trợ một hệ điều hành cùng với mình
quá trình người sử dụng nhiều. Nó cung cấp các operat khách
các hệ thống truy cập vào phần cứng ảo
nguồn lực, kể cả hệ thống I / O, và có lẽ
một giao diện người dùng đồ họa cùng với một bộ xử lý
và bộ nhớ.
Các quá trình hoặc hệ thống chạy trên một máy ảo là
khách, trong khi nền tảng cơ bản có hỗ trợ
VM là máy chủ. Các phần mềm ảo hóa mà
thực hiện một máy ảo quá trình thường được gọi là chạy
thời gian, viết tắt của "phần mềm thời gian chạy. virtualiz-
các phần mềm trong một máy ảo hệ thống thường được gọi
là màn hình máy ảo (VMM).
QUY TRÌNH MÁY ẢO
Quy trình máy ảo cung cấp một ABI ảo hoặc API môi
trường cho ứng dụng người dùng. Khác nhau của họ
triển khai, quá trình máy ảo cung cấp bản sao,
thi đua, và tối ưu hóa.
Đa hệ thống
VM quá trình phổ biến nhất là để phổ biến
mà ít coi nó như là một máy ảo. Hầu hết các hoạt động
hệ thống có thể đồng thời hỗ trợ nhiều người sử dụng
quá trình thông qua multiprogramming, trong đó cung cấp cho
mỗi quá trình ảo tưởng có một hoàn thành
máy cho chính nó. Mỗi quá trình có địa chỉ riêng của mình
không gian, đăng ký, và cấu trúc file. các hoạt động
hệ thống thời gian cổ phần phần cứng và quản lý
cơ bản các nguồn lực để thực hiện điều này có thể. trong
hiệu lực, hệ thống điều hành cung cấp một nhân rộng
quá trình cấp máy ảo cho mỗi đồng thời exe
cuting ứng dụng.
Giả lập và biên dịch nhị phân năng động
Một vấn đề thách thức đối với quá trình cấp
Máy ảo hỗ trợ chương trình nhị phân com-
chất đống để hướng dẫn một thiết lập khác nhau từ một trong những
máy chủ thực hiện. Một ví dụ gần đây của một máy ảo quá trình
Intel ia32-EL,
1
cho phép Intel IA-32 thư mục-
nhị phân cation để chạy trên phần cứng Itanium.
Cách đơn giản nhất thực hiện
thi đua là thông qua giải thích. một thông dịch viên
chương trình nạp, giải mã, và mô phỏng các-execu
tion hướng dẫn khách cá nhân. Điều này có thể là một
quá trình tương đối chậm, hàng chục yêu cầu của chủ nhà
hướng dẫn cho mỗi chỉ dẫn nguồn giải thích.
Hiệu suất tốt hơn có thể thu được thông qua
dịch năng động nhị phân, chuyển đổi khách
hướng dẫn để lưu trữ hướng dẫn trong các khối thay
hơn so với hướng dẫn của hướng dẫn và giúp họ tiết kiệm
tái sử dụng trong một bộ nhớ cache phần mềm. Lặp đi lặp lại thực hiện
hướng dẫn dịch do đó amortizes mối
tively cao chi phí của bản dịch.
Cùng ISA nhị phân tối ưu hóa
Để giảm tổn thất hiệu suất, năng động nhị phân
dịch giả đôi khi thực hiện tối ưu hóa mã
trong dịch mã. Khả năng này dẫn tự nhiên
cho máy ảo trong đó hướng dẫn thiết lập các máy chủ
và khách sử dụng là như nhau, với tối ưu hóa của một
chương trình nhị phân như mục đích duy nhất của máy ảo. Cùng
ISA nhị phân tối ưu hóa năng động, sử dụng hồ sơ thông tin
cấp thông tin thu thập trong quá trình giải thích hoặc
giai đoạn dịch để tối ưu hóa nhị phân trên-the-fly.
Một ví dụ của tối ưu hóa như vậy là Dynamo
hệ thống, phát triển như là một dự án nghiên cứu
Hewlett-Packard.
2
-Ngôn ngữ máy ảo cấp cao
Đối với các máy ảo quá trình, nền tảng di là
rõ ràng là một mục tiêu quan trọng. Tuy nhiên, thi đua
kiến trúc thông thường trên một cung cấp
cross-nền tảng tương thích trên một trường hợp trường
cơ sở và đòi hỏi nỗ lực lập trình đáng kể.
Tính di động nền tảng là dễ dàng hơn
đạt được bằng cách thiết kế một máy ảo quá trình cấp như một phần của
HLL tổng thể phát triển ứng dụng môi trường
thuận. HLL kết quả VM không trực tiếp cor-
đáp ứng với bất kỳ nền tảng thực tế, đúng hơn, nó được thiết kế
để dễ tính di động và để phù hợp với các tính năng của
HLL hoặc thiết lập các HLLs.
Hình 4 cho thấy sự khác biệt giữa một
biên dịch môi trường cụ thể ventional nền tảng
thuận và một môi trường máy ảo HLL. Trong một
thông thường hệ thống, thể hiện trong hình 4a, com
người bốc dỡ diện người dùng đầu tiên tạo ra mã trung gian
tương tự như mã máy, nhưng trừu tượng hơn. Sau đó,
một máy phát điện mã sử dụng mã trung gian gen-
erate một mã máy có chứa nhị phân cho một đặc
cific ISA và hệ điều hành. Tập tin nhị phân này là
phân phối và thực thi trên các nền tảng hỗ trợ
ISA / hệ điều hành được kết hợp.
Trong một máy ảo HLL, như thể hiện trong hình 4b, com
người bốc dỡ diện người dùng tạo ra mã máy trừu tượng trong
một ISA ảo xác định giao diện của máy ảo. Điều này
ảo ISA mã, cùng với liên quan đến dữ liệu cấu
ture thông tin (siêu dữ liệu) được phân phối cho-exe
cution trên nền tảng khác nhau. Mỗi nền tảng máy chủ
thực hiện một máy ảo có khả năng xếp hàng và thực hiện
ISA ảo và thiết lập một thói quen thư viện quy định
một API chuẩn hóa. Trong hình thức đơn giản của nó, các máy ảo
chứa một thông dịch viên. Tinh vi hơn, cao hơn
hiệu suất máy ảo biên dịch các máy trừu tượng
mã vào mã máy chủ để thực hiện trực tiếp
trên nền tảng máy chủ.
Một lợi thế của một máy ảo HLL là ứng dụng
phần mềm là dễ dàng chuyển một khi các máy ảo và các thư viện
được thực hiện trên một nền tảng máy chủ. Trong khi máy ảo
thực hiện một số nỗ lực, nhiều sim
pler hơn phát triển một trình biên dịch toàn diện cho một
nền tảng và porting tất cả các ứng dụng thông qua
biên dịch lại.
The Sun Microsystems Java VM kiến trúc
3
và Microsoft Common Language Infra-
cơ cấu, đó là nền tảng NET.
khuôn khổ,
4
được sử dụng rộng rãi ví dụ của HLL
Máy ảo. ISA trong cả hai hệ thống ngăn xếp dựa trên
loại bỏ đăng ký yêu cầu và sử dụng một trừu tượng
dữ liệu đặc điểm kỹ thuật và mô hình bộ nhớ hỗ trợ
lập trình hướng đối tượng an toàn.
Máy SYSTEM VIRTUAL
Một máy ảo hệ thống cung cấp một môi trường hoàn toàn
trong đó một hệ điều hành và nhiều quá trình,
có thể thuộc nhiều người dùng, có thể
cùng tồn tại. Bằng cách sử dụng máy ảo hệ thống, máy chủ đơn
nền tảng phần cứng có thể hỗ trợ nhiều, iso-
hệ thống môi trường điều hành khách lated
cùng một lúc.
Hệ thống máy ảo xuất hiện trong những năm 1960
và đầu những năm 1970
5
và là nguồn gốc của
máy ảo hạn. Tại thời điểm đó, chính
khung hệ thống máy tính rất lớn,
đắt tiền, và thường được chia sẻ giữa các numer
độc hại người sử dụng với công nghệ máy ảo, người sử dụng khác nhau
nhóm có thể chạy hệ điều hành khác nhau
trên phần cứng được chia sẻ.
Như phần cứng trở nên ít tốn kém và nhiều
di cư đến sự quan tâm, máy tính để bàn trong những origi
máy ảo hệ thống nal nhạt dần. Ngày nay, tuy nhiên, hệ thống
Máy ảo được thưởng thức phổ biến mới lớn
hệ thống máy tính lớn của quá khứ đã được thay thế
bởi các máy chủ hoặc máy chủ trang trại được chia sẻ bởi nhiều người sử dụng
hoặc các nhóm.
Có lẽ ứng dụng quan trọng nhất hiện nay
công nghệ của hệ thống máy ảo là cách ly nó pro-
vides giữa nhiều hệ thống chạy đồng-
rently trên cùng một nền tảng phần cứng. Nếu bảo mật
trên một hệ thống khách bị thỏa hiệp hoặc nếu một khách
hệ điều hành bị thất bại, các phần mềm chạy
Ning trên hệ thống khách khác không bị ảnh hưởng.
Trong một hệ thống máy ảo, VMM chủ yếu cung cấp
nền tảng nhân bản. Vấn đề trọng tâm là phân chia một
tập hợp các tài nguyên phần cứng giữa các khách nhiều
môi trường-một hệ điều hành ví dụ là
đĩa ảo hóa, như trong hình 1. Thiết bị VMM có
truy cập, quản lý, tất cả các tài nguyên phần cứng.
Một hệ thống điều hành khách và ứng dụng của nó
quá trình này sau đó được quản lý theo (ẩn) kiểm soát
VMM. Khi một hệ thống điều hành khách mỗi
hình thành một hướng dẫn đặc quyền hoặc hoạt động mà
trực tiếp tương tác với các tài nguyên phần cứng chia sẻ,
chặn VMM hoạt động, kiểm tra cho
đúng đắn, và thực hiện nó thay mặt cho khách.
Đánh giá của khách phần mềm là không biết đằng sau hậu trường
làm việc.
Cổ điển hệ thống máy ảo
Từ góc độ người dùng, hầu hết các máy ảo hệ thống
vide về cơ bản các chức năng tương tự nhưng khác nhau về
chi tiết của họ thực hiện. Cách tiếp cận cổ điển
6
nơi VMM trên phần cứng trống và các máy ảo phù hợp với
trên đầu trang. VMM chạy trong cao nhất privi
leged chế độ, trong khi tất cả các hệ thống khách chạy với
đặc quyền giảm để VMM có thể đánh chặn
và mô phỏng tất cả các hành động khách hệ điều hành
bình thường truy cập hay thao tác quan trọng cứng
đồ tài nguyên.
Lưu trữ máy ảo
Một hệ thống thực hiện VM thay thế xây dựng
ảo hóa phần mềm trên đầu trang của một host hiện có Giấy phép hoạt động
ating hệ thống, dẫn đến một máy ảo lưu trữ trên máy. Một advan
Tage của một máy ảo lưu trữ trên máy chủ là một người sử dụng cài đặt nó giống như
một chương trình ứng dụng điển hình. Hơn nữa, ảo hóa
phần mềm có thể dựa vào hệ điều hành máy chủ
cung cấp trình điều khiển thiết bị và thấp hơn cấp các dịch vụ khác
chứ không phải là trên VMM. Một ví dụ về một tổ chức
VM thực hiện là các máy chủ VMware GSX,
7
mà chạy trên các nền tảng phần cứng IA-32.
Toàn bộ hệ thống máy ảo
Trong hệ thống máy ảo thông thường, tất cả các khách trọ và chủ
hệ thống phần mềm cũng như sử dụng phần mềm ứng dụng
ISA giống như các phần cứng cơ bản. Trong một số
tình huống, tuy nhiên, hệ thống máy chủ và khách
không có một ISA phổ biến. Ví dụ, hai
hệ thống máy tính để bàn phổ biến nhất hiện nay, Windows máy tính cá nhân
và Apple PowerPC dựa trên hệ thống, sử dụng khác nhau
ISA (và hệ điều hành khác nhau).
Toàn bộ hệ thống máy ảo đối phó với tình trạng này bằng cách VIR
tualizing tất cả các phần mềm, bao gồm cả các hoạt động sys
tem và các ứng dụng. Bởi vì ISA khác nhau,
VM phải cạnh tranh với cả các ứng dụng và operat
các hệ thống mã. Một ví dụ của loại hình này của VM
Virtual PC,
8
trong đó một hệ thống Windows chạy trên
một nền tảng Macintosh. Phần mềm máy ảo thực hiện
như là một chương trình ứng dụng được hỗ trợ bởi máy chủ
hệ điều hành và sử dụng các hệ thống không hoạt động ISA.
Đa ảo hóa
Một hình thức thú vị của ảo hóa hệ thống
xảy ra khi các nền tảng máy chủ cơ bản là một lớn
chia sẻ bộ nhớ đa. Ở đây, tầm quan
tant mục tiêu là phân vùng hệ thống lớn thành
nhiều hệ thống đa nhỏ hơn dis-
tributing các tài nguyên phần cứng cơ bản của
hệ thống lớn.
Với phân vùng vật lý,
9
vật lý
tài nguyên sử dụng hệ thống ảo được phân chia
từ những người được sử dụng bởi các hệ thống ảo khác. Vật lý
phân vùng cung cấp một mức độ cao của sự cô lập, vì vậy
lập phần mềm không phải là vấn đề cũng không phải lỗi phần cứng
trên một phân vùng ảnh hưởng đến các chương trình phân vùng khác.
Với phân vùng hợp lý,
10
cơ bản cứng
nguồn tài nguyên đồ thời gian ghép giữa
phân vùng khác nhau, qua đó cải thiện hệ thống
sử dụng tài nguyên. Tuy nhiên, một số của Bene-
phù hợp với sự cô lập phần cứng bị mất.
Cả hai kỹ thuật phân vùng thường sử dụng đặc biệt
hỗ trợ phần cứng hoặc phần mềm dựa trên cơ bản
sửa đổi phần cứng đặc biệt nhắm mục tiêu ngang
titioning.
Codesigned máy ảo
Chức năng và tính di động là mục tiêu của
hầu hết các hệ thống máy ảo được thực hiện cứng
đồ đã được phát triển cho một số tiêu chuẩn ISA. trong
Ngược lại, máy ảo codesigned thực hiện mới, propri
ISA etary mục tiêu cải thiện hiệu suất,
hiệu quả năng lượng, hoặc cả hai. ISA của máy chủ có thể được
hoàn toàn mới, hoặc nó có thể là một phần mở rộng của một
hiện tại ISA.
Một VM codesigned có các ứng dụng ISA không có nguồn gốc.
Thay vào đó, VMM xuất hiện là một phần cứng
đồ thực hiện; mục đích duy nhất của nó là đà điểu
cuối của khách ISA. Để duy trì ảo tưởng này,
VMM nằm trong một vùng bộ nhớ che dấu
từ tất cả các phần mềm thông thường. Nó bao gồm một số nhị phân
dịch có thể chuyển đổi các hướng dẫn khách vào tối ưu
mized trình tự hướng dẫn ISA máy chủ và lưu trữ
chúng trong các khu vực bộ nhớ giấu.
Có lẽ ví dụ nổi tiếng nhất của một codesigned
VM là Crusoe Transmeta.
11
Trong bộ vi xử lý này,
phần cứng cơ bản sử dụng một chỉ thị rất dài
tion từ kiến trúc, và các khách ISA là Intel
IA-32. Các nhà thiết kế Transmeta tập trung vào
tiết kiệm điện năng lợi thế của VLIW đơn giản cứng
ware.
AS/400 IBM (nay là iSeries) cũng sử dụng đồng
thiết kế kỹ thuật máy ảo.
12
Không giống như các codesigned
Máy ảo, AS/400 "Mục tiêu thiết kế chính là để
cung cấp hỗ trợ cho những hướng dẫn đối tượng
định nghĩa lại giao diện HW / SW fash trong một cuốn tiểu thuyết
ion. Triển khai AS/400 hiện nay là dựa trên
một ISA PowerPC mở rộng, trong khi phiên bản trước đó
sử dụng ISA, đáng kể khác nhau độc quyền.
Máy phân loại tư duy ảo
Với mảng này rộng rãi của máy ảo, khác nhau
mục tiêu và triển khai, nó là hữu ích để đặt chúng
trong quan điểm và tổ chức phổ biến imple
mentation vấn đề. Hình 5 trình bày một thuế đơn giản
onomy máy ảo, trước tiên được chia thành một trong hai
quá trình hoặc hệ thống máy ảo. Trong thời hạn hai chính
chủng loại, máy ảo có thể được phân biệt hơn nữa
theo cho dù họ sử dụng cùng một ISA hoặc một
khác nhau một trong. Cơ sở cho sự khác biệt này là
mà thi đua ISA là một tính năng chiếm ưu thế trong những
Máy ảo có hỗ trợ nó.
Trong số các máy ảo quá trình không thực hiện ISA
thi đua là những hệ thống multiprogrammed, mà
hầu hết các máy tính ngày nay đã hỗ trợ. Ngoài ra
bao gồm cùng ISA tối ưu hóa năng động nhị phân,
có sử dụng nhiều trong những kỹ thuật tương tự như ISA
thi đua.
Quy trình máy ảo với khách khác nhau và máy chủ ISA
bao gồm các dịch giả năng động, với máy tính
giao diện thường được định nghĩa ở cấp ABI, và HLL
Máy ảo với một giao diện API cấp.
Hệ thống máy ảo bao gồm các máy ảo hệ thống cổ điển như
cũng như lưu trữ máy ảo cung cấp nhân rộng, iso-
lated môi trường hệ thống. Sự khác biệt chính
giữa hệ thống cổ điển và lưu trữ trên máy máy ảo là
VMM thực hiện chứ không phải là chức năng, nhiệm vụ
họ cung cấp cho người dùng.
Trong toàn bộ hệ thống máy ảo, trong đó khách
ISA máy chủ khác nhau, hiệu suất thường là giây
ondary để chức năng chính xác. Khi hiệu suất
mance hoặc điện / khu vực hiệu quả trở nên quan trọng,
như là trường hợp với các máy ảo codesigned, imple-VM
mentation giao diện có thể được gần gũi hơn với các Proces-
Sor của phần cứng vật lý.
Hệ thống máy tính hiện đại rất phức tạp cấu-
tures có chứa nhiều hợp chặt chẽ tương tác
các thành phần trong cả phần mềm và
phần cứng. Trong vũ trụ này, ảo hóa hành vi
như là một loại công nghệ kết nối. Interjecting
phần mềm ảo hóa giữa các lớp trừu tượng
gần giao diện HW / SW tạo một máy ảo
cho phép các hệ thống con không tương thích
làm việc cùng nhau. Hơn nữa, nhân rộng bởi virtualiza
tion cho phép sử dụng linh hoạt hơn và hiệu quả cứng
đồ tài nguyên.
Máy ảo được sử dụng rộng rãi để cho phép interoper
khả năng giữa phần cứng, phần mềm hệ thống, và
ứng dụng phần mềm. Với sự phụ thuộc nặng nề
tiêu chuẩn và củng cố xảy ra trong các ngành công nghiệp-
cố gắng, rất có thể là bất kỳ ISA mới, hệ điều hành,
hoặc ngôn ngữ lập trình sẽ được dựa trên VM
công nghệ. Trong tương lai, các máy ảo nên được xem
như là một kỷ luật thống nhất để cùng một mức độ cứng
ware, hệ thống điều hành và phần mềm ứng dụng
hiện nay.
* CHÚ THÍCH: mình sưu tầm bài này nên có nhiều từ sai hoặc thiếu mong các bạn thông cảm
DoThuyTien16 (I11C)- Tổng số bài gửi : 15
Join date : 26/08/2011
Age : 36
Đến từ : Lâm Đồng
Similar topics
» Kiến trúc của C Sharp va .net
» Thảo luận những vấn đề khác của Môn học
» Vai trò của kiến trúc máy ảo trong tổ chức HĐH & ích lợi
» Thảo luận Bài 3
» Phân biệt kiến trúc về chip RISC và CISC?
» Thảo luận những vấn đề khác của Môn học
» Vai trò của kiến trúc máy ảo trong tổ chức HĐH & ích lợi
» Thảo luận Bài 3
» Phân biệt kiến trúc về chip RISC và CISC?
Trang 1 trong tổng số 1 trang
Permissions in this forum:
Bạn không có quyền trả lời bài viết