Boli by ste prekvapení, aké flexibilné sú počítače. Nielenže dokážeme prevádzkovať mnoho rôznych operačných systémov alebo dokonca viac operačných systémov vedľa seba, ale môžete tiež spustiť operačný systém v inom. Ako, pýtate sa? Cez nič iné ako magický proces virtualizácie.
Virtualizácia nie je vo výpočtovej technike žiadnou novinkou, no boli by ste prekvapení, ako často sa používa. Dnes vám zjednodušene vysvetlíme, čo je virtualizácia, ako funguje a kedy sa používa.
Čo je virtualizácia?
Predstavte si, že ste so skupinou ľudí v kancelárii a všetci potrebujete počítač. Všetko, čo je k dispozícii, je jediný, veľmi výkonný server. Čo teda robíš? Logika nariaďuje, že striedanie sa na veľkom serveri je zlý nápad – má oveľa viac zdrojov, než ktokoľvek z vás potrebuje, a strávite tam veľa času. Namiesto toho je logickým postupom rozdeliť tieto zdroje rovnomerne a nechať všetkých používať stroj súčasne pomocou virtualizácie.
Laicky povedané, virtualizácia je akt vytvorenia simulovaného virtuálneho výpočtového prostredia úroveň abstrakcie ako fyzickú, čo vám umožňuje využívať vlastnosti fyzického stroja v simulovanom životné prostredie. Zjednodušene povedané, je to v podstate ako keby ste mali virtuálny počítač v skutočnom počítači a oba robili to isté.
Koncept virtualizácie pochádza z konca 60. alebo začiatku 70. rokov 20. storočia a myslelo sa naň ako na riešenie samotného problému, ktorý sme predstavili na začiatku tejto časti. V čase, keď bolo takmer nemysliteľné dať každému v spoločnosti vlastný počítač, IBM premýšľala o spôsoboch, ako zdieľať zdroje sálových systémov medzi viacerých ľudí a virtualizácia k tomu bola príjemným prístupom, pričom jedným z prvých úspešných použití virtualizácie bol IBM CP/CMS, prvýkrát uvedený na trh v r. 1968.
Odvtedy virtualizácia nadobudla iné tvary a formy a stojí za mnohými vecami, ktoré dnes robíme na našich počítačoch, dokonca aj odhliadnuc od tých očividných.
Ako funguje virtualizácia?
Väčšina implementácií virtualizácie je pomerne jednoduchá. Virtualizačný softvér používa hypervízor na pomoc pri spúšťaní vecí vo virtualizovanom stroji. Ak vám to slovo nie je známe hypervízor, je to v podstate softvér, ktorý prideľuje zdroje z hostiteľského počítača, ako je určený počet jadier, systém pamäť alebo úložisko a používa to na spustenie simulovaného počítača, ktorý bude často bežať ako ktorýkoľvek iný proces vo vnútri a PC.
Počítače sa často dodávajú s niečím nazývaným „hardvérovo podporovaná virtualizácia.“ Napríklad na počítačoch Intel to nájdete ako Intel VT-x alebo „Virtualizačná technológia“, zatiaľ čo na systémoch AMD namiesto toho nájdete „AMD-V“ alebo „AMD Virtualization“. Obe umožňujú virtualizačnému softvéru bežať rýchlejšie a viac presne.
Pomocou virtualizácie môžu používatelia spustiť samostatnú inštanciu operačného systému, ktorý už používajú, alebo spustiť úplne iný operačný systém ako ten, ktorý používajú, pokiaľ je kompatibilný s hardvérom, ktorý už používate použitím. Táto posledná časť je dôležitá pre definíciu samotnej virtualizácie, ako uvidíte.
Na čo sa virtualizácia používa?
Najbežnejšie využitie virtualizácie je na virtuálnych strojoch. Pomocou softvéru ako VMware alebo Virtualbox, používatelia môžu vytvárať virtuálne inštancie simulovaných počítačov vo svojich počítačoch a nechať ich bežať ako uzavreté inštancie, čo im umožňuje buď vytvoriť ďalšiu inštanciu operačného systému, ktorý používajú, alebo úplne spustiť iný.
Je to skvelý spôsob, ako používať iné operačné systémy bez toho, aby ste museli používať iný počítač alebo skutočne prepínať OS, a ak hráte karty správne a virtuálnemu stroju pridelíte dostatok zdrojov, pravdepodobne si ani nevšimnete veľký rozdiel v porovnaní s natívnym stroj.
Nedávno sa však objavili zaujímavejšie prípady použitia virtualizácie, najmä ak používate systém Windows.
Po prvé, ak používate Windows 11, pravdepodobne ste už počuli o „subsystéme“ alebo ho dokonca používali. Konkrétne ide o Windows Subsystem for Linux (WSL) a Windows Subsystem for Android (WSA).
Váš počítač to hneď nevysvetlí, ale namiesto toho, aby Windows spájal natívnu podporu pre Linux a aplikácie pre Android, tieto služby bežia na nízkozdrojovom virtualizovanom subsystéme (teda subsystéme názov). Prvá verzia WSL používala normálnu vrstvu kompatibility, ale pre WSL 2 a WSA, ľahký virtuálny stroj beží v ňom programy pre Linux a Android a umožňuje vám s nimi komunikovať prostredníctvom príkazového riadku alebo prostredníctvom skutočného UI.
Nie je to prvýkrát, čo systém Windows zvolil takýto prístup. V časoch systému Windows 7 systém Windows XP „Režim kompatibility“ v podstate spúšťal iba virtuálny počítač so systémom Windows XP a umožňoval vám spustiť akýkoľvek nekompatibilný softvér.
Aký je rozdiel medzi virtualizáciou a emuláciou?
Virtualizácia a emulácia vyzerajú ako veľmi podobné pojmy – a skutočne, ak nepoznáte výhody a nevýhody oboch, môžu vyzerať ako to isté. Ale existujú a niekoľko zásadných rozdielov medzi oboma.
Virtualizácia je proces, ktorý dokáže simulovať iba systémy využívajúce rovnakú základnú architektúru a technológiu ako hostiteľský stroj. Ak napríklad používate počítač so systémom Windows x86, môžete vytvárať inštancie iných počítačov iba vtedy, ak sú tiež x86. Môže to byť ľubovoľný systém, či už Windows, Linux alebo Android, ale musí to byť x86.
Naproti tomu emulácia môže simulovať systém s úplne odlišnou základnou architektúrou. Dobrým príkladom sú emulátory konzol. V prípade emulátora GameCube/Wii simulujete konzolu založenú na PowerPC na x86 alebo možno dokonca na stroji ARM. Hlavný rozdiel je v tom, že emulácia rôznych inštrukcií môže pridať veľa réžie, čo má za následok stratu výkonu – problém, ktorý s virtualizovaným strojom nebudete mať.
Virtualizácia je zmena hry
Virtualizácia je technológia za virtuálnymi strojmi, ale ako sme sa dnes dozvedeli, hoci sa to bežne považuje za jej hlavné využitie, zďaleka nie je jediné. Nespomenuli sme žiadne obchodné využitie virtualizácie, ale ak ich pridáme, je to dosť výkonný nástroj, ktorý vám umožní urobiť váš počítač všestrannejším.
Je to skvelá technológia, ktorá poslúžila ako zmena hry v oblasti výpočtovej techniky.