Skip directly to content

Virtualizacija operativnih sistema na Mac-u

on Sub, 12/03/2011 - 23:48

Mac korisnike je uvijek mučila činjenica da za Windows operativne sisteme postoji veći izbor softvera. Međutim, nije se samo radilo o većem broju aplikacija, već i o nekim usko specijaliziranim aplikacijama koje ni danas ne postoje za Maca. Ponekad se dešava da pravila firme inzistiraju na upotrebi standardiziranog softvera, koji na Macu nije dostupan.

Sve je to predstavljalo prepreku za prelazak ili ostanak na Macu. Prvi pokušaj da se na Macu taj problem riješi bio je Connectix-ov proizvod Virtual PC.

Virtual PC

Virtual PC bila je aplikacija koja ja na tadašnjem Macovom Power PC (PPC) procesoru emulirala intelov procesor, tj. napravila bi izolirano programsko okruženje unutar kojeg su vrijedile zakonitosti Intel procesora. Uz to je i preuzela ulogu "mosta" između tog "virtualnog" (mislim da se to prevodi sa "prividnog") okruženja i Mac hardvera. Jednom kada je takvo okruženje aktivirano, sve što se pokreće unutar njega ima privid da je pokrenuto na PC računalu. Kada su ti uvjeti bili zadovoljeni mogao se instalirati Windows operativni sistem, a nakon toga i same aplikacija pisanie za Windows-e

Virtual PC je tada spadao u kategoriju softverskog emulatora, jer je emulirao (imitirao) Intel procesor. I vjerujem da je upravo ta činjenica prilično usporavala cijelo okruženje. Tako da, bez obzira koliko je Mac bio brz, uvijek se zamjećivalo da to nije pravi PC. No za one koji nisu imali izbora, ipak je radilo upotrebljivom brzinom.

2003. Microsoft je otkupio Virtual PC od Connectixa, nije mi baš jasno zašto, ili da ga dotjera, jer ako je netko mogao optimizirati kod za Windowse, onda je to sigurno bio Microsoft, ili da ga uništi, tako da otkloni i zadnju mogućnost Mac korisnika da koristi Windows aplikacije, ili možda jednostavno da ima stvari pod svojom kontrolom i bude u mogućnosti potegnuti potez koji mu odgovara.

I onda je Apple napravio jedan od onih svojih poteza....prešao je na Intel procesore.

Prelazak Apple-a na intelove procesore

Još iste godine, 2006. Microsoft je objavio da se Virtual PC prestaje razvijati, i to je bio kraj ere Virtual PC-a.

Prelaskom na Intel, Apple je sebi otvorio nove mogućnosti između ostalog i mogućnost "poigravanja" sa Windowsima. Obznanili su "Boot Camp" koji je u "Dual Boot"-u omogućavao da se na Maca instaliraju Windowsi i Mac koristi pod Windowsima.

Time je Apple srušio još jedan prepreku prema odluci kupnje Maca, jer je kupac uvijek imao alternativu da Maca koristiti kao PC. Čak sam i ja osobno sam osjetio neko olakšanje jer sam prilikom upita u stilu "što misliš, da li da kupim Maca" bio "osiguran" od nevolje i bilo mi je puno lakše odgovoriti potvrdno.

 

I fakat, jedan moj prijatelj je kupio Maca, i nakon mjesec dana rekao da koliko god se trudio, to nije to, i Windowsi su mu bili bolji, pogasio je Maca i upalio Windowse. Istina, malo ga je više koštalo, ali bar je imao lijepo računalo :-).
 
(za one koji se pitaju što je bilo kasnije.....pa nakon mjesec dana korištenja Windowsa, shvatio je da se već odvikao "tiranije" koju su mu Windowsi redovito servirali, i da ju više ne mora uzeti zdravo za gotovo, jer ima opciju - Maca, i tako je postao i ostao još jedan Mac korisnik, happy end :-))

To vrijedi i dan danas, nema straha, svi mogu probati, i ako baš ne ide, mogu odustati. Vjerujem da je to i bila ideja Applea iza "Boot Camp"-a.

Parallels i VMWare

Međutim, uz opciju "Boot Camp", u to neko vrijeme, pojavila se i jedna potpuno nepoznata nova firma na tržištu: "Parallels". Krajem 2005 objavljuju svoj proizvod "Parallels Workstation for Windows and Linux", ali na Mac tržištu postaju poznati upravo 2006. kada objavljuju "Parallels Desktop for Mac". Ono što su oni nudili je pandan Virtual PCu ali sada napravljen za Intel procesore. Prelaskom Applea na Intel, prestaje i potreba da se emulira procesor, pa se ti novi proizvodi više nisu zvali "emulatori". Počeo se koristiti termin "virtualizacija operativnog sistema".

Fokus Parallelsa je bio postići što je moguću bolja integraciju Windows aplikacija u Mac OS X operativni sistem.

I zaista, u biti ima tu dosta posla. Ne svodi se cijela priča samo na mogućnost startanja Windowsa, to je samo osnovna tehnička strana priče. Ima tu i dosta korisničke strane, koja možda u prvi čas ne upada u oči.

Međutim, prije nego krenem u detalje o problematici integracije, treba spomenuti još jednu firmu.

Naime, Parallels nije bio prva firma koja se počela baviti virtualizacijom. Nekoliko godina prije njih, točnije 2001, pojavljuje se još jedna do tada nepoznata firma: "Virtual Machine Ware", ili skraćeno "VM Ware". Oni su još tada (5 godina ranije od Parallelsa) svom silinom zagazili u virtualizaciju, ali njihov fokus je bio nešto drugačiji. Oni su se usredotočili na Windows poslužitelje (servere) na kojima se "kroz" VM Ware aplikaciju, startao virtualni operativni sistem, koji je obično opet bio Windows. Čemu sad to?

Pa naizgled besmisleno, ali priča ide dalje. Prije svega, VMW Vas nije ograničavao na jedan virtualni Windows, na jednom PC-u moglo se startati više virtualnih okruženja i u svakom startati odvojeni operativni sistem. I tako, umjesto da imate 4 PCa koji svaki mora imati svoje kućište, napajanje, hlađenje itd. sve je bilo u jednom PCu a Vi ste ga mogli transformirati u jednog, dva, tri ili više PC-a. Isto tako, omogućili su jednostavnu migraciju virtualnog računala sa jednog na drugo pravo računalo. Time se dobila fleksibilnost u organizaciji servera.

Dalo bi se o ovome još pričati, ali to nije toliko bitno za ovaj članak, jer nije taj dio nije vezan za Macove. Samo sam Vam htio pojasniti zašto je moguće da je fokus VMW-a bio drugačiji od Parallelsa.

Međutim, krajem 2006. znači nešto kasnije od objave Parallels Desktopa za Mac, VMW odlučuje izbaciti na tržište VMW Fusion, što je ništa drugo nego VMWare-ova inačica Parallels Desktopa. I time direktno "napada" Parallels, te od toga dana počinje bespoštedna borba između Parallelsa i VMWare-a.

Međutim, dok je VMW Fusion za VMWare samo jedan, rekao bih i, manje bitan proizvod, od cijele liste njihovih proizvoda, Parallelsu je to, vjerujem, najbitniji proizvod. Stoga Parallels ulaže jako puno truda da dokaže da je bolji od VMW Fusiona, ali ne samo na papiru već zaista i u stvarnom svijetu. I što je "najgore" to mu i uspijeva i to protiv oko 10 puta većeg VM Ware-a, očito, ili vjerojatno, zato jer VM Ware ima i "drugog posla".

Ali pojednostavljeno, ono u čemu VMW obično prednjači je gola brzina, i funkcije koje oni razvijaju u "server" svijetu, pa primjenjuju na Fusion, a Parallels pak prednjači u prije spomenutoj integraciji Windowsa i Maca. Ali i jedan i drugi proizvođač svojski se trude funkcije koje je onaj drugi "izmislio" brže bolje implementirati u svoj proizvod, tako da su funkcionalnosti, pa i performanse proizvoda obije firme vrlo slični.

Pa, da vidimo što se tu u stvari sve može.

Problemi kod virtualizacije

Krenimo od prije spomenute integracije Windowsa sa Macom. Naizgled jednostavno, ali kada malo "zagrebete" ispod površine, počinju se pojavljivati sasvim očiti problemi u upotrebi.

Prvi problem su periferije. Čak i ako izuzmemo razne "prave" periferije kao npr. printeri i vanjski diskovi, koji ponekad jesu dio okruženja a ponekad nisu, postoje one periferije koje su stalno prisutne, što više, bez njih se i ne može, a to su miš, tastatura i ekran. Problem je u tome što imamo dva računala, (jedno pravo, a drugo virtualno) a samo jednu tastaturu i miša. Srećom, olakotna je okolnost da nikada ne kontroliramo oba računala od jedanput, već ili jedno ili drugo. Stoga, trebalo je samo postići, da kada je prozor u kojem se vrti virtualno računalo aktivan, tada tastatura i miš kontroliraju njega, a kada nije, onda Mac-a. To i nije baš tako trivijalno kako se čini, jer u pozadini se USB periferija svaki put treba "odspojiti" od jednog računala i spojiti na drugo, i obratno. Stvar postaje još neobičnija kada je virtualno računalo u stadiju u kojem nema strelice miša, kao na primjer kada se Windowsi startaju. I dalje vrijedi isti sistem, samo ono što se desi je, kada kliknete na prozor virtualnog računala strelica miša jednostavno nestane. Jasno nestala je, jer u virtualnom računalu i ne treba biti vidljiva. Ali kako se onda vratiti na Maca, kada ne možete kliknuti van prozora virtualnog računala, jer nemate čime!

Nešto manje automatizma ima sa periferijama koje se naknadno prikopčavaju na računalo. Naravno i za njih vrijedi da ih može kontrolirati samo jedan operativni sistem. Stoga, ako je virtualno računalo startano, i recimo prikopčate USB "stick", Parallels Desktop će Vas pitati da li periferiju želite dodijeliti Macu ili virtualnom računalu. Postoji mogućnost postavke da ovisno o tome da li je prozor virtualnog računala aktivan ili ne, periferija automatski dodjeli "PC"-u, a ako nije onda Macu, ali tada gubite kontrolu nad procesom jer se sve dešava automatski. Sada ovisi o tome da li želite više automatizma ili više kontrole.

Postoji i još jedan "problem". Normalno je da sve periferije koje su prikopčane na Maca prije startanja virtualnog računala i pripadaju Macu, tj. dodijeljene su njemu. Između ostalog to vrijedi i za optičku jedinicu tj. DVD "drive". I stoga nakon startanja i aktivacije virtualnog računala, optička jedinica i dalje je dodijeljena Macu. Jasno, ako ste iz do sada rečenog shvatili sistem, to je i logično. I onda je isto tako logično da kada umetnete neki DVD ili CD u jedinicu taj se ne pojavi u Windowsima, stoga Parallels Desktopu treba izričito reći da jedinicu "odspoji" od Maca i dodjeli ga PC. To se ne dešava automatski jer nije potrebna ta "automatska dinamičnost" kao kod tastature i miša, vjerojatnije je da želimo da periferija bude dodijeljena jednom računalu sve dok mi ne odlučimo drugačije, bez obzira što smo se možda u međuvremenu prebacivali sa jednog na drugo.

Problem je i prebacivanje podataka, naime, virtualno računalo je "svijet" za sebe, stoga ako u njemu imamo neki dokument, to ne znači da je (jednostavno) moguće doći do njega na Macu, i obratno.

I na kraju bih dodao još i "problematiku" Windows desktopa, koji nam najčešće nije uopće bitan, mi ne želimo gledati desktop, već koristimo prozore aplikacija koje su startane u Windowsima, stoga bi bilo zgodno "riješiti se" tog desktop prozora, ali kamo onda sa "start" menijem i "task bar"-om?

O svim ovim elementima upotrebe virtualnog računala, Parallels je napravio vrlo lijepu demonstraciju njihovih rješenja, pa izdvojite 5 minuta vremena i pogledate što oni kažu o tome.

Na žalost, nisam uspio naći sličan video demo za VMWare Fusion. Ali principi su vrlo slični pa ako shvatite jedan proizvod, snaći ćete se i u drugom.

U video demo-u ste vjerojatno zapazili i neke funkcionalnosti koje ja još nisam spominjao, pa o njima u slijedećim recima.

Prednosti virtualizacije

Do sada sam govorio samo o "problemima" koji se javljaju iz činjenice da istovremeno postoje dva ili više aktivna operativna sistema. Međutim činjenica da je operativni sistem virtualiziran, donosi i neke, inače nemoguće, prednosti.

Snapshot

"Snapshot" funkcionalnost omogućava da "smrznemo" stanje na disku virtualne mašine i napravimo njegovu "sliku" (snapshot). Time dobivamo mogućnost da kasnije "vratimo" stanje cijele virtualne mašine u trenutak kada je napravljen snapshot.

To se da iskoristiti na svakojake načine: recimo

  • odlučimo instalirati zakrpe (patcheve) na operativni sistem, ponekad to zna završiti "loše", stoga je pametno napraviti snapshot prije početka instalacije, ako nešto pođe po zlu, jednostavno se vratimo na staro stanje
  • isto vrijedi za "drivere" sa kojima zna biti još više čudnih problema
  • ili radimo redovite snapshote kao zaštitu od virusa. Jasno, snapshot neće spriječiti da nas virus "napadne" ali ako se to već desi, možete se vratiti na stanje prije. Naravno gubite i sve promjene na dokumentima ako ih je bilo, ali bar imate izbora.

Snapshoti na žalost uzimaju dosta mjesta na disku, što je i za očekivati, ako želimo spremiti cijeli "file system" ali u biti treba manje mjesta nego što ste možda očekivali. Naime, ne sprema svaki snapshot cijeli "file system". Naime, "file system" virtualne mašine je ništa drugo nego jedna velika datoteka na Macovom "file systemu". Kada napravimo prvi snapshot, u biti "naređujemo" aplikaciji za virtualizaciju da daljnje promjene "file systema" virtualne mašine prestane pisati u tu datoteku, i počne pisati u novu. To se desi kod svakog novog snapshota. Stoga veličina svakog snapshota više ovisi o tome koliko se intenzivno "file system" virtualne mašine mijenja, a manje o njezinoj inicijalnoj veličini.

Thin provisioning

"Thin provisioning" omogućava da "file system" rezerviran za virtualnu mašinu "raste" po potrebi. Naime, kod inicijalnog kreiranja nove virtualne mašine, moramo definirati njezine parametre, između ostalog i veličinu "diska" virtualne mašine. Ali ako ga namjestimo recimo na 50GB, to ne znači da će se prilikom kreiranja mašine, svih 50GB odmah rezervirati. Zauzet će se samo onoliko mjesta koliko je potrebno za instalaciju operativnog sistema. Naknadno, prilikom upotrebe virtualne mašine, zauzeto mjesto će rasti kako se podaci budu dodavali na (virtualni) disk, virtualne mašine. (Da, što više ulazite u detalje, nailaziti ćete uvijek nove oblike virtualizacije).

"Thin provisioning" nam na taj način opet omogućava uštedu. Niti jedan sistem dinamičkog particioniranja diska neće nam omogućiti ovako nešto.

Virtual Networking

"Virtual networking", naravno i mrežna kartica virtualne mašine je virtualna :-). Postoje tri načina definiranja mrežne konekcije virtualne mašine: "NAT", "bridged" i "host only".

Krenimo od "bridged" tj. "premoščeni" mod, u njemu se virtualna mašina ponaša kao da ima pravu mrežnu karticu. Virtualna mašina se na mreži pojavljuje sa zasebnom IP adresom, i izlazni (i ulazni) mrežni promet je u potpunosti odvojen od Macovog (osim što podaci putuju preko iste, i jedine, prave, mrežne kartice, one od Maca). Nedostatak ovog načina je da je virtualna mašina u potpunosti izložena mreži, pa time i internetu, i svim onim opasnostima koji od tamo vrebaju.

U "NAT" modu PC je "sakriven" u mrežnoj konekciji Maca, dakle nema svoju zasebnu adresu, i sav promet putuje preko Maca koji se u ovom slučaju ponaša kao ruter.

"Host only" jednostavno znači da virtualna mašina uopće nema pristupa na mrežu.

Mogućnost mijenjanja dodijeljene RAM memorije

Jedan od parametara koji se definiraju za virtualnu mašinu je količina RAM memorije koja će joj biti dodijeljena. Za razliku od "memory managementa" za "normalne" aplikacije, kod kojih se memorija dodjeljuje dinamički, po potrebi, softver za virtualizaciju dodjeljuje cijelu definiranu količinu memorije virtualnoj mašini prilikom njezinog startanja. Stoga nije na odmet poigrati se sa tom vrijednošću, jer možda možete postići da Vaš PC radi dovoljno dobro i sa manje RAM-a. Moje je iskustvo da je 1GB RAM-a dovoljan za sve "moderne" OS-ove, tj. Windows 7, Windows 2003 i 2008 server. 64 bitni OS-i trebaju bar 50% više RAM-a, stoga, ako Vam bitovi nisu bitni, rađe koristite 32bitu verziju OS-a.

Virtual appliances

Postoje neke namjene računala koje se dosta često koriste, relativno su komplicirane za konfiguraciju, a licence su uglavnom "open source" tipa, te time besplatne. Stoga se netko pametan sjetio, i kreirao virtualnu mašinu sa potrebnim operativnim sustavom (obično neka varijanta Linux-a), i instaliranom aplikacijom (obično neka vrsta poslužitelja recimo web poslužitelj, ili baza podataka, recimo MySQL), i napravio ju svima dostupnom. Takav paket se zove "virtual appliance", potiče iz VMW krugova, ali danas ga nudi i Parallels (opet nadmetanje). Tako ako se recimo poželite poigrati sa jednom MySQL bazom, preuzmete odgovarajući "Virtual appliance" i jednostavno ga startate unutar aplikacije za virtualizaciju. Uglavnom se prvi put napravi i neki automatski setup, ali obično za manje od 10ak minuta sve je spremno. Ako nešto pokvarite ili pobrkate, jednostavno ju obrišite i krenite sa novom kopijom. Nekad nezamislivo!

Migracija virtualnih mašina

I za kraj ću još dodati prije spomenutu mogućnost migracije virtualne mašine sa jednog na drugo "pravo" računalo. Migracija se svodi na kopiranje datoteke virtualne mašine, dakle jedne jedine datoteke, sa jednog na drugo računalo, to je sve. (doduše, ta datoteka je u stvari "bundle" što je pak u stvari specijalni tip mape, koji se prikazuje kao datoteka, ali uglavnom Vas to ne treba brinuti).

Virtualizacija VS "Boot Camp"

Prva razlika je očita, "Boot Camp" je "dual boot" rješenje, dakle prilikom boot-a (startanja) Maca odabirete da li želite raditi u OS X-u ili u Windows-ima. Jedini način da prijeđete u drugi operativni sistem je da pogasite prvi i startate drugi. Ponekad je to prihvatljivo a ponekad ne, sve ovisi o Vašem načinu rada i namjeni za koje koristite računalo.

I prva prednost je očita, odjedanput je startan samo jedan operativni sustav, stoga svi hardverski resursi (najviše se to odnosi na procesor i RAM memoriju) pripadaju samo aktivnom OS-u, tj. on ga ne mora dijeliti ni sa kim i tako ostane više njemu, što rezultira boljim performansama, ali ne uvijek bitno boljim! Evo jednog malo zastarjelog, ali iscrpnog članka. Brojke su danas malo drugačije, ali čisto da vidite da nije sve crno-bijelo.

Mane, međutim, su manje očite. Nema dinamičkog dodjeljivanja diska. Prilikom kreiranja "Boot Camp" particije, morate se odlučiti za veličinu. Nakon toga ide instalacija operativnog sistema. Ako Vam se desi da ispadne da ste napravili preveliku ili premalu particiju, promjena veličine nije jednostavan zadatak. Nema diobe datoteka, prebaciti neku datoteku iz Boot Camp particije na Maca i obratno, isto tako nije baš jednostavno. 

VMWare je prepoznao još jednu mogućnost da "navuče" korisnika da se sa "Boot Camp" rješenja prebaci na Fusion, pa tako omogućava da se iz Fusion-a direktno koristi "Boot Camp" instalacija. Navodno je brzina nešto slabija nego kada je ista ta mašina "prava" VMW virtualna mašina, ali je zgodno za testiranje. Ako se pokaže da Vas brzina zadovoljava, onda Vam VMW omogućava da "Boot Camp" instalaciju pretvorite u Fusion instalaciju. Imajte samo na umu da ćete u tom trenutku trebati duplo mjesta na disku, jer će privremeno instalacija Windowsa biti na disku dva puta, ona originalna od "Boot Campa" i ona migrirana, od VMW-a. Nakon migracije možete obrisati "Boot Camp" particiju. Drugo, Windowsi će najvjerojatnije nakon migracije tražiti ponovnu autorizaciju.

Nisam siguran ako Parallels nudi to opciju, ali kao što sam spomenuo, ako ne nudi danas, vrlo brzo hoće :-)

Crossover

I za kraj, postoji još jedan mogućnost korištenja Windows aplikacija na Macu, i to preko Crossovera.

Ponovno se radi o nekoj vrsti emulatora, ali glavna prednost je u tome da instalacija (Windows) operativnog sistema uopće nije potrebna. Naime emulator se brine o tome da sistemske pozive Windows aplikacije u realnom vremenu pretvara u iste za Maca. Iako na izgled fantastično rješenje, na žalost to baš nije tako. Prvi problem je da se (koliko ja razumijem) ne mogu baš svi sistemski pozivi prevesti, pa to automatski znači da neće sve aplikacije raditi na taj način. Ali nije samo to da one rade ili ne rade, već neke rade stabilnije a neke manje stabilno. Ne bih ulazio u tehničke detalje, ali na kraju se svodi na to da je ovo rješenje prihvatljivo samo ako ste sigurni da aplikacija koji Vi želite koristiti radi dobro. A ako Vam kasnije zatreba neka druga, opet je pitanje da li će ta raditi kako treba.

Stoga, ja baš nisam neki pobornik Crossovera, ali i on ima svoji prednosti, pa ako imate sreći da Vas se ograničenja ne tiču, onda zašto ne, probajte.

Virtual Box

Virtual Box je aplikacija istog tipa kao Fusion i Parallels Desktop, dakle služi za virtualizaciju operativnog sistema. Održava ju Sun Microsystems, i najvažnija mu je karakteristika da je besplatan. Ja nemam iskustva sa njim, navodno ima nešto slabije performanse od do sada spomenutih, ima nešto manje funkcija, i nešto manje je dotjeran, grafički, ali poklonjenom konju se ne bi trebalo gledati u zube :-)

Međutim, za nekoga tko često ima potrebu koristiti drugi operativni sistem, cijena od 50ak Eura, ne bi trebala biti pretjerana za aplikaciju koja zaista svoj posao odrađuje kvalitetno. Uz to, u neprestanom nadmetanju dvije firme, nerijetko su i jedan i drugi proizvod na nekom popustu, obično kada konkurent izbaci novu verziju, ovaj drugi spusti cijenu svog proizvoda. Uz to, ako imate licencu jednog, ovaj drugi nudi rabat ako kupite njegovu licencu. Ponekad su skoro smiješni :-)

Trenutno je Parallels Deskop dostupan i u paketu sa drugim programima za vrlo povoljnu cijenu. Za 1Password mogu potvrditi da je vrlo kvalitetna i korisna aplikacija, pa ako Vam treba virtualizacija, i 1PP isplati se uložiti $50, više detalja na www.mupromo.com.

Prelazak Apple-a na Intel, i razvoj hardvera općenito, što je značilo jači procesori, više RAM memorije i brži diskovi, rezultirali su time da su te virtualne mašine danas zaista izrazito upotrebljive. I na jednom MacBook Pro-u sa Intel Core 2 Duo na 2.5 GHz i 4 GB RAM-a, na kojem ovo pišem, činjenica da su startani Windowsi se uopće ne osjeti, i Windowsi i Mac rade uobičajenom brzinom i nema nikakvih problema. Jasno, to opet ovisi o tome koje aplikacije koristite i koliko one same RAM-a traže, ali u jednom prosječnom korisničkom okruženju, sve radi jako lijepo.

Mislim da i jedan i drugi proizvod rade u demo modu određeni vremenski period, pa ih možete slobodno isprobati, i vidjeti da li Vam performanse odgovaraju. Evo poveznica za direktno preuzimanje.

 
Eto, bi bilo to za ovaj članak.
 
Ako nešto iz članka nije jasno, ili Vam treba dodatna pomoć, molim registrirajte se na uslugu MacMe korisničke podrške, i pošaljite mi Vaše pitanje preko MacMe Widgeta koje možete i direktno preuzeti ovdje. Ako pak imate ideju za novi članak na macmeblog-u, ili želite glasovati za neku već predloženu temu, to možete na ovoj strani.
Tagovi: