Máy ảo – Wikipedia tiếng Việt

Related Articles

Trong khoa học máy tính, một máy ảo (VM) là một trình giả lập một hệ thống máy tính. Máy ảo dựa trên kiến trúc máy tính và cung cấp chức năng của máy tính vật lý. Việc triển khai của chúng có thể liên quan đến phần cứng, phần mềm chuyên dụng hoặc kết hợp.

Có nhiều loại máy ảo khác nhau, mỗi loại có công dụng khác nhau :

  • Máy ảo hệ thống (còn được gọi là máy ảo ảo hoá hoàn thoàn) cung cấp một sự thay thế cho một máy thật. Chúng cung cấp chức năng cần thiết để thực thi toàn bộ hệ điều hành. Một trình ảo hóa sử dụng thực thi riêng để chia sẻ và quản lý phần cứng, cho phép nhiều môi trường được cách ly với nhau, nhưng vẫn tồn tại trên cùng một máy vật lý. Các siêu giám sát hiện đại sử dụng ảo hóa hỗ trợ phần cứng, phần cứng dành riêng cho ảo hóa, chủ yếu từ các CPU chủ
  • Máy ảo tiến trình được thiết kế để thực thi các chương trình máy tính trong môi trường độc lập với nền tảng.

Một số máy ảo như QEMU, được phong cách thiết kế để mô phỏng những kiến trúc khác nhau và được cho phép thực thi những ứng dụng ứng dụng và hệ quản lý và điều hành được viết cho CPU hoặc kiến trúc khác. Ảo hoá cấp hệ điều hành quản lý cho phép những tài nguyên của máy tính được phân vùng trải qua kernel. Các nhóm không hề thay thế sửa chữa cho nhau .

Các định nghĩa[sửa|sửa mã nguồn]

Máy ảo mạng lưới hệ thống[sửa|sửa mã nguồn]

Một “máy ảo” được định nghĩa ban đầu bởi Popek và Goldberg như là “một bản sao hiệu quả, tách biệt của một máy tính thực sự.”[1] Việc sử dụng hiện tại bao gồm các máy ảo không có sự tương ứng trực tiếp với bất kỳ phần cứng thực nào.[2]

TPhần cứng vật lý, “thế giới thực” chạy VM thường được gọi là ‘máy chủ’ (host) và máy ảo được mô phỏng trên máy đó thường được gọi là ‘khách’ (guest). Một host có thể mô phỏng một số khách, mỗi khách có thể mô phỏng các hệ điều hành và nền tảng phần cứng khác nhau.

Mong muốn chạy nhiều hệ quản lý là động lực khởi đầu cho những máy ảo, để cho phép san sẻ thời hạn giữa 1 số ít hệ điều hành quản lý tác vụ đơn. Trong 1 số ít góc nhìn, một máy ảo mạng lưới hệ thống hoàn toàn có thể được coi là một khái quát của khái niệm bộ nhớ ảo có trước đây trong lịch sử vẻ vang. CP / CMS của IBM, những mạng lưới hệ thống tiên phong được cho phép ảo hóa trọn vẹn, đã triển khai san sẻ thời hạn bằng cách cung ứng cho mỗi người dùng một hệ quản lý và điều hành một người dùng, Conversational Monitor System ( CMS ). Không giống như bộ nhớ ảo, một máy ảo mạng lưới hệ thống được cho phép người dùng viết những hướng dẫn độc quyền trong mã của chúng. Cách tiếp cận này có những lợi thế nhất định, ví dụ điển hình như thêm những thiết bị vào / ra không được mạng lưới hệ thống tiêu chuẩn được cho phép. [ 2 ]

Khi công nghệ phát triển bộ nhớ ảo cho mục đích ảo hóa, ác hệ thống dư thừa bộ nhớ mới có thể được áp dụng để quản lý chia sẻ bộ nhớ giữa nhiều máy ảo trên một hệ điều hành máy tính. Có thể chia sẻ các trang nhớ có nội dung giống hệt nhau giữa nhiều máy ảo chạy trên cùng một máy vật lý, điều này có thể dẫn đến việc ánh xạ chúng đến cùng một trang vật lý bằng một kỹ thuật gọi là kernel same-page merging (KSM). Điều này đặc biệt hữu ích cho các trang chỉ đọc, chẳng hạn như các trang đang giữ phân đoạn mã, đó là trường hợp cho nhiều máy ảo chạy cùng một phần mềm hoặc thư viện phần mềm, máy chủ web, thành phần phần mềm trung gian, v.v. tuân thủ phần cứng máy chủ, do đó có thể chạy các hệ điều hành khác nhau trên cùng một máy tính (ví dụ: Windows, Linux hoặc các phiên bản trước của hệ điều hành) để hỗ trợ phần mềm trong tương lai.[3]

Việc sử dụng những máy ảo để tương hỗ những hệ điều hành khách riêng không liên quan gì đến nhau là thông dụng so với những mạng lưới hệ thống nhúng. Một cách sử dụng thường thì sẽ là chạy một hệ quản lý và điều hành thời hạn thực đồng thời với một hệ quản lý và điều hành phức tạp ưa thích, ví dụ điển hình như Linux hay Windows. Một ứng dụng khác sẽ dành cho ứng dụng mới và chưa được chứng tỏ vẫn đang trong tiến trình tăng trưởng, thế cho nên nó chạy trong một sandbox. Máy ảo có những lợi thế khác để tăng trưởng hệ điều hành quản lý và hoàn toàn có thể gồm có cải tổ truy vấn gỡ lỗi và khởi động lại nhanh hơn. [ 4 ]Nhiều máy ảo chạy hệ điều hành khách của riêng chúng thường được sử dụng để hợp nhất sever. [ 5 ]

Máy ảo tiến trình[sửa|sửa mã nguồn]

Máy ảo tiến trình, đôi lúc được gọi là máy ảo ứng dụng, hoặc Môi trường thời hạn chạy được quản trị ( MRE ), chạy như một ứng dụng thông thường bên trong hệ quản lý và điều hành sever và tương hỗ một quá trình duy nhất. Nó được tạo ra khi quy trình đó được mở màn và bị tàn phá khi nó thoát. Mục đích của nó là phân phối một thiên nhiên và môi trường lập trình độc lập với nền tảng giúp tóm tắt những cụ thể của phần cứng hoặc hệ điều hành quản lý bên dưới và được cho phép một chương trình thực thi theo cùng một cách trên bất kể nền tảng nào .Máy ảo quá trình cung cấp tính trừu tượng mức cao – của ngôn từ lập trình mức cao ( so với mức trừu tượng ISA mức thấp của máy ảo mạng lưới hệ thống ). Máy ảo tiến trình được thực thi bằng cách sử dụng trình thông dịch ; hoàn toàn có thể đạt được hiệu suất tương tự với những ngôn từ lập trình đã biên dịch bằng cách sử dụng biên dịch đúng lúc. [ source need to ]Loại máy ảo này đã trở nên thông dụng với ngôn từ lập trình Java, được triển khai bằng máy ảo Java. Các ví dụ khác gồm có máy ảo Parrot và. NET Framework, chạy trên máy ảo được gọi là Common Language Runtime. Tất cả chúng hoàn toàn có thể đóng vai trò là một lớp trừu tượng cho bất kể ngôn từ máy tính nào .Một trường hợp đặc biệt quan trọng của máy ảo quy trình tiến độ là mạng lưới hệ thống trừu tượng hóa những chính sách tiếp xúc của một cụm máy tính ( có năng lực không giống hệt ). Một máy ảo như vậy không gồm có một quy trình đơn lẻ, mà một quy trình cho mỗi máy vật lý trong cụm. Chúng được phong cách thiết kế để thuận tiện triển khai việc làm lập trình những ứng dụng đồng thời bằng cách được cho phép người lập trình tập trung chuyên sâu vào những thuật toán hơn là những chính sách tiếp xúc được cung ứng bởi liên kết link và hệ quản lý. Họ không che giấu thực tiễn rằng tiếp xúc diễn ra, và do đó, không cố gắng nỗ lực trình diễn cụm như một máy duy nhất. [ source need to ]

Không giống như các máy ảo quy trình khác, các hệ thống này không cung cấp một ngôn ngữ lập trình cụ thể mà được nhúng vào một ngôn ngữ hiện có; thường một hệ thống như vậy cung cấp các ràng buộc cho một số ngôn ngữ (ví dụ: C và Fortran). [cần nguồn dẫn] Ví dụ là Máy ảo song song (PVM) và Giao diện truyền thông báo (MPI). Chúng không hoàn toàn là máy ảo vì các ứng dụng chạy trên đầu vẫn có quyền truy cập vào tất cả các dịch vụ hệ điều hành và do đó không bị giới hạn trong mô hình hệ thống.

Cả máy ảo mạng lưới hệ thống và máy ảo giải quyết và xử lý đều có từ những năm 1960 và liên tục là những nghành tăng trưởng tích cực .Các máy ảo mạng lưới hệ thống đã tăng trưởng nhờ tính năng san sẻ thời hạn, đặc biệt quan trọng là được tiến hành trong Hệ thống san sẻ thời hạn thích hợp ( CTSS ). Chia sẻ thời hạn được cho phép nhiều người dùng sử dụng máy tính đồng thời : mỗi chương trình có vẻ như có toàn quyền truy vấn vào máy, nhưng chỉ một chương trình được thực thi tại thời gian đó, với mạng lưới hệ thống quy đổi giữa những chương trình theo từng lát thời hạn, lưu và Phục hồi trạng thái mỗi lần. Điều này đã tăng trưởng thành những máy ảo, đặc biệt quan trọng là trải qua những mạng lưới hệ thống điều tra và nghiên cứu của IBM : M44 / 44X, sử dụng ảo hóa một phần và CP-40 và SIMMON, sử dụng ảo hóa trọn vẹn và là những ví dụ khởi đầu về siêu giám sát. Kiến trúc máy ảo tiên phong được thông dụng thoáng đãng là CP-67 / CMS ( xem Lịch sử của CP / CMS để biết thêm cụ thể ). Một điểm độc lạ quan trọng là giữa việc sử dụng nhiều máy ảo trên một mạng lưới hệ thống sever để san sẻ thời hạn, như trong M44 / 44X và CP-40 và sử dụng một máy ảo trên mạng lưới hệ thống sever để tạo mẫu, như trong SIMMON. Trình giả lập, với năng lực mô phỏng phần cứng của những mạng lưới hệ thống trước đó để thích hợp, có từ thời Hệ thống IBM / 360 vào năm 1963, trong khi mô phỏng ứng dụng ( khi đó được gọi là ” mô phỏng ” ) có trước nó .Xử lý máy ảo khởi đầu là nền tảng trừu tượng cho một ngôn từ trung gian được trình biên dịch sử dụng làm đại diện thay mặt trung gian của một chương trình ; những ví dụ bắt đầu có niên đại khoảng chừng năm 1966. Một ví dụ đầu năm 1966 là máy mã O, một máy ảo thực thi mã O ( mã đối tượng người tiêu dùng ) được phát ra bởi giao diện người dùng của trình biên dịch BCPL. Sự trừu tượng này được cho phép trình biên dịch thuận tiện được chuyển sang một kiến ​ ​ trúc mới bằng cách tiến hành một back end mới lấy mã O hiện có và biên dịch nó thành mã máy cho máy vật lý bên dưới. Ngôn ngữ Euler đã sử dụng một phong cách thiết kế tựa như, với ngôn từ trung gian có tên là P. ( portable ). Điều này đã được phổ cập vào khoảng chừng năm 1970 bởi Pascal, đặc biệt quan trọng là trong mạng lưới hệ thống Pascal-P ( 1973 ) và trình biên dịch Pascal-S ( 1975 ), trong đó nó được gọi là mã p và tác dụng là máy mã p. Điều này đã có ảnh hưởng tác động và những máy ảo theo nghĩa này thường được gọi là máy mã p. Ngoài vai trò là một ngôn từ trung gian, mã p Pascal còn được thực thi trực tiếp bởi một trình thông dịch thực thi máy ảo, đặc biệt quan trọng là trong UCSD Pascal ( 1978 ) ; điều này ảnh hưởng tác động đến những trình thông dịch sau này, đặc biệt quan trọng là máy ảo Java ( JVM ). Một ví dụ bắt đầu khác là SNOBOL4 ( 1967 ), được viết bằng Ngôn ngữ tiến hành SNOBOL ( SIL ), một ngôn từ hợp ngữ cho một máy ảo, sau đó được nhắm tiềm năng đến những máy vật lý bằng cách chuyển tiếp đến trình hợp dịch gốc của chúng trải qua trình hợp dịch macro. Tuy nhiên, những macro đã không còn được yêu thích nữa nên cách tiếp cận này đã ít tác động ảnh hưởng hơn. Máy ảo giải quyết và xử lý là một cách tiếp cận thông dụng để tiến hành ứng dụng máy tính vi mô bắt đầu, gồm có Tiny BASIC và những game show mạo hiểm, từ việc tiến hành một lần như Pyramid 2000 đến một công cụ đa năng như z-machine của Infocom, mà Graham Nelson lập luận là ” hoàn toàn có thể là nhiều nhất máy ảo di động từng được tạo ra ” .Những tân tiến đáng kể đã xảy ra trong việc tiến hành Smalltalk-80, đặc biệt quan trọng là việc tiến hành Deutsch / Schiffmann đã thôi thúc quy trình biên dịch đúng lúc ( JIT ) như một giải pháp tiến hành sử dụng máy ảo tiến trình. Các máy ảo Smalltalk đáng quan tâm sau này là VisualWorks, Máy ảo Squeak và Strongtalk. Một ngôn từ có tương quan đã tạo ra rất nhiều thay đổi máy ảo là ngôn từ lập trình Self, ngôn từ này đi tiên phong trong việc tối ưu hóa thích ứng và thu gom rác nhiều thế hệ. Những kỹ thuật này đã được chứng tỏ là thành công xuất sắc về mặt thương mại vào năm 1999 trong máy ảo HotSpot Java. Những thay đổi khác gồm có việc có một máy ảo dựa trên thanh ghi, để tương thích hơn với phần cứng bên dưới, chứ không phải là một máy ảo dựa trên ngăn xếp, điều này tương thích hơn với ngôn từ lập trình ; vào năm 1995, điều này đã được tiên phong bởi máy ảo Dis cho ngôn từ Limbo. OpenJ9 là một giải pháp thay thế sửa chữa cho HotSpot JVM trong OpenJDK và là một dự án Bất Động Sản nhật thực mã nguồn mở công bố khởi động tốt hơn và tiêu thụ ít tài nguyên hơn so với HotSpot .

Ảo hóa trọn vẹn[sửa|sửa mã nguồn]

Sơ đồ logic của ảo hóa trọn vẹnTrong ảo hóa trọn vẹn, máy ảo mô phỏng đủ phần cứng để cho phép một hệ điều hành quản lý ” khách ” chưa được sửa đổi ( một phong cách thiết kế cho cùng một tập lệnh ) được chạy tách biệt. Cách tiếp cận này đã đi tiên phong vào năm 1966 với IBM CP-40 và CP-67, tiền thân của mái ấm gia đình VM .Các ví dụ bên ngoài mainframe gồm có Parallels Workstation, Parallels Desktop for Mac, VirtualBox, Virtual Iron, Oracle VM, Virtual PC, Virtual Server, Hyper-V, VMware Workstation, VMware Server ( ngừng tăng trưởng, trước kia là GSX Server ), VMware ESXi, QEMU, Adeos, Mac-on-Linux, Win4BSD, Win4Lin Pro, và Egenera vBlade .

Ảo hóa dựa vào phần cứng[sửa|sửa mã nguồn]

Trong ảo hóa dựa vào phần cứng, phần cứng cung cấp hỗ trợ kiến trúc tạo điều kiện cho việc xây dựng trình giám sát máy ảo và cho phép các hệ điều hành khách được chạy riêng rẽ.[6]

Ảo hóa dựa vào phàn cứng lần đầu được giới thiệu trên IBM System/370 in 1972,[cần dẫn nguồn] cho sử dụng với VM/370, hệ điều hành máy ảo đầu tiên được IBM cung cấp như một sản phẩm chính thức.

Vào năm 2005 và 2006, Intel và AMD đã cung cấp phần cứng bổ sung để hỗ trợ ảo hóa. Sun Microsystems (bây giờ là Oracle Corporation) ađã bổ sung các tính năng tương tự trong bộ xử lý UltraSPARC T-Series của họ năm 2005. Ví dụ về các nền tảng ảo hóa thích ứng với phần cứng đó bao gồm KVM, VMware Workstation, VMware Fusion, Hyper-V, Windows Virtual PC, Xen, Parallels Desktop for Mac, Oracle VM Server for SPARC, VirtualBox và Parallels Workstation.

Năm 2006, tương hỗ phần cứng 32 và 64 bit x86 thế hệ tiên phong được tìm thấy hiếm khi mang lại lợi thế về hiệu suất so với ảo hóa ứng dụng. [ 7 ]

Ảo hóa cấp hệ quản lý[sửa|sửa mã nguồn]

Trong ảo hóa cấp hệ quản lý và điều hành, một sever vật lý được ảo hóa ở cấp hệ quản lý và điều hành, được cho phép nhiều sever ảo hóa bảo đảm an toàn và tách biệt chạy trên một sever vật lý. Các môi trường tự nhiên hệ quản lý và điều hành ” khách ” có chung biểu lộ của hệ quản lý với mạng lưới hệ thống chủ. Do đó, nhân hệ quản lý tương tự như cũng được sử dụng để triển khai những môi trường tự nhiên ” khách ” và những ứng dụng chạy trong thiên nhiên và môi trường ” khách ” đã xem nó như một mạng lưới hệ thống độc lập. Việc triển khai tiên phong là FreeBSD jails ; Các ví dụ khác gồm có Docker, Solaris Containers, OpenVZ, Linux-VServer, LXC, AIX Workload Partitions, Parallels Virtuozzo Containers, và iCore Virtual Accounts .

  • James E. Smith, Ravi Nair, Virtual Machines: Versatile Platforms For Systems And Processes, Morgan Kaufmann, May 2005, ISBN 1-55860-910-5, 656 pages (covers both process and system virtual machines)
  • Craig, Iain D. Virtual Machines. Springer, 2006, ISBN 1-85233-969-1, 269 pages (covers only process virtual machines)

Liên kết ngoài[sửa|sửa mã nguồn]

More on this topic

Comments

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Advertismentspot_img

Popular stories