VirtualBox | |
![]() | |
![]() VirtualBox 7.0 на Windows 10 в действие | |
Информация | |
---|---|
Автор | Innotek GmbH |
Разработчик | Oracle Corporation |
Начална версия | 15 януари 2007 г. |
Програмен език | C, C++, x86 Assembly |
Операционна система | Windows, OS X, Linux и Solaris[1] |
Размер | 86 – 115 MB в зависимост от платформата[2] |
Вид софтуер | Хипервайзор |
Лиценз | Базов пакет (USB поддръжка само за USB 1.1): GNU General Public License версия 2, Разширителен пакет (включващ USB 2.0 поддръжка): PUEL |
Уебсайт | www.virtualbox.org |
Oracle VM VirtualBox в Общомедия |
Oracle VM VirtualBox (с предишно наименование Sun VirtualBox, Sun xVM VirtualBox и Innotek VirtualBox) е хипервайзор за x86 компютри на корпорация Oracle. Първоначално Innotek разработват продукта до придобиването на компанията от Sun Microsystems през 2008 г., а от 2010 г. насам Oracle се занимават с разработването.
VirtualBox може да бъде инсталиран на съществуваща операционна система-домакин (host); може да създава и менажира гостуващи (guest) виртуални машини, всяка с гостуваща операционна система и собствена виртуална среда. Поддържаните операционни системи-домакин включват Linux, OS X, Windows XP и по-късно Solaris и OpenSolaris; налични са също и портове за FreeBSD[3] и Genode[4]. Поддържаните гостуващи операционни системи включват различни версии и разновидности на Windows, Linux, BDS, OS/2, Solaris, Haiku и други.[5] От версия 3.2.0 насам VirtualBox позволява частична виртуализация на OS X гости върху Apple хардуер. OSx86 също може да бъде инсталирана използвайки VirtualBox.[6][7]
За най-ползотворно използване на продукта се препоръчва инсталирането на Добавки към госта (Guest Additions) към гостуващата операционна система.[8] Тези добавки представляват различни драйвери и системни приложения, които оптимизират гостуващата операционна система за по-добра производителност и използваемост.[9] От версия 4.3 (излязла през октомври 2013 г.[10]), Windows гостуващите системи на хардуер, който е поддържан могат да се възползват от WDDM драйвера включен в пакета Guest Additions. Това позволява използването на Windows Aero заедно с поддръжка на Direct3D.
VirtualBox първоначално се предлага от Innotek от Германия под собственически софтуерен лиценз, правейки една от версиите на продуктът безплатна за използване за лични нужди при съобразяване с VirtualBox Условията за индивидуално и временно ползване (Personal Use and Evaluation License – PUEL).[11] През януари 2007 г. по препоръка на LiSoG, Innotek пускат VirtualBox Версия с отворен код (Open Source Edition – OSE), обект на изискванията на GNU Основен публичен лиценз (General Public License – GPL), версия 2.[12]
Innotek също допринася за разработката на виртуализация[13] на OS/2 и Linux, както и за OS/2 портове[14] на продукти на Connectix – фирма по-късно придобита от Microsoft. В частност, Innotek разработват кода за добавките в Microsoft Virtual PC и Microsoft Virtual Server, които дават възможност за различни взаимодействия между основната и гостуващите операционни системи като споделени клипбордове (clipboards) или динамично оразмеряване на екранното пространство (viewport).
Sun Microsystems придобиват Innotek през февруари 2008 г.[15][16][17]
Oracle Corporation придобива Sun през януари 2010 г. и прекръства продукта на „Oracle VM VirtualBox“.[18][19]
С версия 4 на VirtualBox, излязла през декември 2010 г., основният пакет става свободен, използвайки GNU Основен Публичен Лиценз версия 2 (GPLv2). Това е пакет с пълна функционалност, но не са включени някои собственически компоненти, които не са налични под GPLv2. Тези компоненти са например поддръжка на USB 2.0 устройства, Remote Desktop Protocol (RDP) и Preboot Execution Environment (PXE) за Intel карти и са налични отделно като част от „VirtualBox Oracle VM VirtualBox extension pack“ пакета под собственически PUEL лиценз. Той позволява използването на продукта за лично ползване безплатно.[20]
Oracle определя като лично ползване всяка ситуация, в която индивид инсталира софтуера и само той, негови приятели или членове на семейството му го използват. Oracle не прави разграничаване между това дали софтуерът се използва с комерсиална или некомерсиална цел.[21] Oracle определя като използване за не-лични цели, например, ако мрежови администратор инсталира много копия на софтуера на много различни машини, използвани от различни потребители. В тази ситуация е нужно да бъде закупен специален лиценз.
Преди версия 4 са налични два различни пакета на VirtualBox софтуера. Първият (пълен пакет) се предлага безплатно под PUEL, а вторият се предлага под GPLv2 лиценз и се казва VirtualBox Open Source Edition (OSE).
VirtualBox изисква използването на Open Watcom компилатор за построяване на BIOS-а след версия 4.2.[22]
Въпреки че VirtualBox позволява експериментална поддръжка за Mac OS X гостуващи системи, лицензът на Mac OS X не позволява тя да работи на друг хардуер, освен на Apple. Това е наложено в операционната система чрез викане на Apple System Management Controller (SMC), който верифицира автентичността на хардуера.[23]
Потребителите на VirtualBox могат да зареждат множество гостуващи операционни системи, използвайки една система – домакин. Всяка гостуваща система може да бъде стартирана, паузирана и спряна независимо в собствената си виртуална машина. Потребителят може да конфигурира по отделно всяка виртуална машина и да я подкара на редица софтуер-базирани виртуализации или на хардуерно базирани такива ако използвания домакинстващ хардуер го позволява. Операционната система – домакин, гост системите и различните приложения могат да комуникират помежду си през различни механизми като общ клипборд и виртуализирано мрежово съоръжение (virtualized network facility). Виртуалните машини – гост могат директно да комуникират помежду си ако са конфигурирани по такъв начин.[24]
В случай на липса на хардуерно-базирана виртуализация, VirtualBox възприема стандартна софтуерно-базирана такава. Този начин на действие поддържа 32-битови гостуващи операционни системи, които вървят на пръстени 0 и 3 от пръстеновидната архитектура на Intel.
Системата конфигурира операционната система – гост, която стандартно върви в пръстен 0, да се изпълни в пръстен 1 на хардуера – домакин. Понеже кодът съдържа редица инструкции, които не могат на бъдат изпълнени на пръстен 1, VirtualBox използва Code Scanning and Analysis Manager (CSAM), чрез които сканира кода за пръстен 0 рекурсивно преди първото му изпълнение. Така биват идентифицирани проблемни инструкции. След това извиква Patch Manager (PATM) за да извърши in-situ пачване. Това заменя инструкцията със скок до безопасен за използване на виртуални машини компилиран код.
Гостуващият код в потребителски режим, вървящ в пръстен 3 се изпълнява директно на хардуера – домакин в пръстен 3.
И в двата случая VirtualBox използва CSAM и PATM за да проверява и променя опасните инструкции в случай, че се появи проблем. VirtualBox също съдържа динамичен рекомпилатор, базиран на QEMU за да рекомпилира напълно всеки код в реален (real mode) или защитен (protected mode) режим (например BIOS код или DOS гост).[25]
Използвайки тези техники, VirtualBox постига производителност сравнима с тази на VMware.[26][27]
VirtualBox поддържа както хардуерната виртуализация VT-x на Intel, така и AMD-V на AMD. Използвайки ги VirtualBox може да пусне всяка гостуваща виртуална машина в свое собствено адресно пространство; кодът за пръстен 0 на гост операционната система върви в VMX не-администраторски режим също на пръстен 0 на системата – домакин, а не на пръстен 1.
VirtualBox поддържа някой гост системи (включително 64-битовите SMP и определени собственически операционни системи) само на домакини с хардуерно-подпомагана виртуализация.
Системата емулира твърди дискове в един от следните формати – образи (images):
VirtualBox, както се вижда, може да използва виртуални дискове създадени в VMware или Microsoft Virtual PC, както и своите собствени формати. VirtualBox също може да се свързва с iSCSI устройства, използвайки съответният виртуален твърд диск. VirtualBox емулира IDE (PIIX4 и ICH6 контролери), SCSI, SATA (ICH8M контролер) и SAS контролери, към които могат да бъдат закачани твърди дискове.
VirtualBox поддържа Open Virtualization Format (OVF) от версия 2.2.0 (април 2009 г.) насам.[28]
Както ISO образи, така и свързани физически устройства към домакина могат да бъдат зареждани като CD/DVD устройства. Например, DVD образ на Linux дистрибуция може да бъде смъкнат от Интернет и използван директно от VirtualBox.
По подразбиране VirtualBox предлага графична поддръжка през специфична виртуална графична карта, която е VESA съвместима. Guest Additions за Windows, Linux, Solaris, OpenSolaris или OS/2 гости включват специален видео драйвер, който увеличава производителността и предлага допълнителна функционалност като автоматично коригиране на резолюцията на госта при оразмеряване на прозореца на виртуалната машина[29] или композиция на работния плот чрез виртуализирани WDDM драйвери.
За Etherner мрежови карти VirtualBox виртуализира следните Карти за мрежови интерейфи:[30]
Емулираните мрежови карти позволяват повечето гост операционни системи да работят без да е нужно търсенето и инсталирането на драйвери за мрежовия хардуер, тъй като тези драйвери са включени като част от гост операционната система. Налична и е специална паравиртулизирана мрежова карта, която подобрява мрежовата производителност чрез премахване на нуждата да се напасва с конкретния хардуерен интерфейс. Тя, обаче, изисква поддръжка на специален драйвер в госта (много дистрибуции на Linux вървят с включен такъв драйвер). По подразбиране VirtualBox използва NAT, който е от значение, например, за Firefox и ssh. До 36 мрежови карти могат да бъдат закачени едновременно, но само до четири подлежат на конфигуриране през графичния интерфейс.
За звукова карта VirtualBox виртуализира Intel HD Audio, Intel ICH AC`97 и SoundBlaster 16 устройства.[31]
Емулиран е USB 1.1 контролер, така че всяко USB устройство, закачено към домакина, може да бъде използвано през системата – гост. Специален собственически разширителен пакет добавя поддръжка на USB 2.0 контролер и VirtualBox действа като RDP сървър. USB устройства на отдалечения RDP клиент също могат да бъдат използвани все едно, че са свързани директно за домакина. Това е възможно само ако клиентът поддържа въпросния разширителен пакет (Oracle предлагат клиенти за Solaris, Linux и Sun Ray, които го поддържат и обещават поддръжка и за други платформи за в бъдеще).[32]
Някои от функциите са достъпни само след инсталирането на пакета със затворен код „VirtualBox Extension Pack“:[1]
VirtualBox е част от Live Raizo – Debian базирано live CD, създаден специално за експерименти чрез симулация в сферата на мрежите и системната администрация.[36]
Въпреки че VirtualBox не е преносимо приложение, преносима версия може да бъде набавена от различни инструмени като vbox.me[37] или LinuxLive USB Creator.[38]
![]() ![]() |
Тази страница частично или изцяло представлява превод на страницата VirtualBox в Уикипедия на английски. Оригиналният текст, както и този превод, са защитени от Лиценза „Криейтив Комънс – Признание – Споделяне на споделеното“, а за съдържание, създадено преди юни 2009 година – от Лиценза за свободна документация на ГНУ. Прегледайте историята на редакциите на оригиналната страница, както и на преводната страница, за да видите списъка на съавторите.
ВАЖНО: Този шаблон се отнася единствено до авторските права върху съдържанието на статията. Добавянето му не отменя изискването да се посочват конкретни източници на твърденията, които да бъдат благонадеждни. |