Równoległe przełączanie USB. Łączenie Mac OS X i Windows za pomocą Parallels. Funkcje dla programistów i specjalistów IT

Równoległe przełączanie USB. Łączenie Mac OS X i Windows za pomocą Parallels. Funkcje dla programistów i specjalistów IT

Parallels Desktop to program, który umożliwia instalację i pracę na innych systemach operacyjnych bezpośrednio na macOS. Na przykład zainstalowałem system Windows 10 i Kali Linux i uruchamiam je w razie potrzeby.

👨‍💻 Parallels Desktop 14 dla komputerów Mac: pobierz demo / kup

Zaletą Parallels Desktop jest to, że możesz zainstalować absolutnie dowolny system operacyjny, a aby z nimi pracować, nie musisz ponownie uruchamiać komputera Mac, jak ma to miejsce w przypadku Boot Camp.


Używam programu Parallels Desktop do uruchamiania systemu Windows 10 i Kali Linux

Często zadawanym pytaniem jest, dlaczego program Parallels Desktop jest potrzebny, jeśli w systemie wbudowany jest Boot Camp. Odpowiadam: Bootcamp nie jest narzędziem do wirtualizacji i nie wyklucza użycia maszyny wirtualnej. Bootcamp po prostu tworzy dodatkową partycję na dysku do instalacji systemu Windows i rejestruje ją w programie ładującym system. Nie możesz używać tego systemu Windows jednocześnie z systemem macOS; będziesz musiał ponownie uruchomić komputer.

Domyślnie program Parallels Desktop for Mac ma ustawienia optymalne dla przeciętnego człowieka. Jednak w naszym kraju z PD korzystają głównie zaawansowani użytkownicy, którzy mają bardzo specyficzne wymagania wobec platformy wirtualizacyjnej – wydajność i długi czas pracy na baterii.

Zatem… gdzie należy kliknąć, aby system gościnny działał szybciej i zużywał mniej baterii?

Wskazówka 1. Ustaw optymalną ilość pamięci RAM dla systemu-gościa i jego aplikacji

Osiem gigabajtów pamięci RAM, które zwykle są dołączane do nowoczesnych komputerów Mac, wystarczy, aby macOS i Windows działały jednocześnie z normalną szybkością.

Domyślnie program Parallels Desktop ma przydzielone 2 GB pamięci RAM dla systemu operacyjnego gościa. Co dziwne, dwa gigabajty mogą być nawet za dużo, jeśli regularnie uruchamiasz na przykład niewymagające aplikacje, takie jak Office, Edge i Notatnik.

Przesada z ilością pamięci dla maszyny wirtualnej może spowolnić macOS: zabierzesz systemowi niezbędne zasoby, dlatego zmuszony będzie on skorzystać z pliku stronicowania.

W idealnym przypadku musisz sprawdzić, ile pamięci RAM zużywa wirtualny system Windows wraz z aplikacjami, które chcesz w nim uruchomić, i przypisać odpowiednią wartość w ustawieniach programu Parallels Desktop.

Algorytm wygląda następująco:

  • uruchom system Windows w programie Parallels Desktop na komputerze Mac;
  • poczekaj, aż system gościa zostanie w pełni załadowany;
  • uruchom niezbędne aplikacje. W naszym przypadku jest to Edge z trzema dość „ciężkimi” stronami: Paint i Notatnik;
  • otwórz Monitor zasobów i spójrz na zużytą ilość pamięci RAM w zakładce Pamięć. To właśnie ta wartość (na wszelki wypadek +10%) będzie musiała zostać użyta do zainstalowania pamięci RAM dla maszyny wirtualnej;

W przypadku aplikacji, których potrzebuję, zużycie pamięci RAM utrzymuje się na poziomie 1,6 GB
  • Wyłącz maszynę wirtualną za pomocą programu Parallels Desktop. Następnie ustalamy limit pamięci RAM w ustawieniach:

Maszyna wirtualna ▸ Skonfiguruj… ▸ Procesor i pamięć


Mój komputer ma 16 GB RAM-u, więc 4 GB przeznaczę na Windows 10

Przestając pracować z aplikacjami w systemie gościa, użytkownik zamyka w nim swoje programy i zatrzymuje maszynę wirtualną. Gdy aplikacje gościa będą ponownie potrzebne, proces jest powtarzany w odwrotnej kolejności. Wszystko to zajmuje dużo czasu, który można łatwo zaoszczędzić korzystając z funkcji Pauza/Wznów.

Zamiast zamykać program Parallels Desktop, wybierz opcję Akcje ▸ Wstrzymaj.


Wirtualny Windows 10 może „zamrozić się” wraz z otwartymi w nim aplikacjami. Jest to wygodne, gdy trzeba szybko wznowić działanie maszyny wirtualnej ze wszystkimi otwartymi programami. Co więcej, system zostaje wybudzony ze stanu hibernacji dosłownie w ciągu kilku sekund, podobnie jak wszystkie wcześniej otwarte programy.


Stan pamięci oraz stan urządzeń wewnętrznych komputera wirtualnego zapisywany jest na dysku w postaci pliku. Plik ten jest następnie „rozwijany” przy użyciu programu Parallels Desktop.

Podczas korzystania z funkcji Wstrzymaj/Wznów zamiast czekać jedną lub dwie minuty na załadowanie systemu Windows i jego aplikacji, wszystko zajmuje około dziesięciu sekund. Oszczędność czasu jest kolosalna.

Ta sztuczka jest dobra dla właścicieli 15-calowych MacBooków Pro. Mają dwie karty wideo - zintegrowaną i dyskretną. Oddzielna karta graficzna jest jednym z najbardziej energochłonnych elementów. Jeśli Twoim celem jest maksymalna autonomia i długi czas pracy baterii komputera, lepiej wyłączyć dyskretną kartę w systemie Windows 10.

MacBooki przełączają się na dyskretną grafikę, gdy tylko zajdzie taka potrzeba. Nie przełączą się z powrotem na zintegrowany, dopóki nie zakończy się program, który spowodował przełączenie. Dlatego też, jeśli w maszynie wirtualnej włączona jest akceleracja 3D, oddzielna karta graficzna pozostanie włączona do czasu zamknięcia programu Parallels Desktop.

Aby ustawić program Parallels Desktop na korzystanie z trybu Eco, wyłącz tryb 3D w:

Maszyna wirtualna ▸ Skonfiguruj… ▸ Sprzęt


Wyłączenie akceleracji 3D oszczędza baterię MacBooka Pro z oddzielną kartą graficzną

Wyłączyliśmy efekty 3D, ale nie zmniejszyliśmy jeszcze ilości pamięci wideo przydzielonej maszynie wirtualnej: zachowano jej domyślną wartość - w naszym przypadku jest to 256 MB. Ponieważ tak ogromna objętość po prostu nie jest potrzebna w przypadku grafiki, sensowne jest przekazanie hostowi „dodatkowej” pamięci.

Aby wyrenderować prosty interfejs Windows 10, wystarczy 32 MB. Dlatego lepiej ustawić ten parametr na tryb automatyczny. W takim przypadku PD użyje minimalnej ilości pamięci karty wideo.


Natomiast w trybie „automatycznym” program Parallels Desktop wykorzystuje minimalną wymaganą ilość pamięci wideo

Jeśli masz komputer Mac tylko ze zintegrowaną kartą graficzną(modele 13-calowe), następnie wystarczy przejść do zakładki Optymalizacja i zmniejszyć ilość zasobów zużywanych przez maszynę wirtualną.

Wartość domyślna to „Bez ograniczeń”. Zalecam ustawienie go na „Średni”.


Określ, ile zasobów może zużyć maszyna wirtualna

Te kroki pomogą Ci zyskać 1,5-2 godziny pracy na baterii. To prawda, że ​​\u200b\u200bprzy takich ustawieniach nie będzie już możliwe uruchomienie czegoś „ciężkiego”. Istnieją jednak specjalne ustawienia dla aplikacji korzystających z 3D (patrz Wskazówka 5).

System gościnny działający pod kontrolą systemu macOS z reguły służy do pracy z wieloma bardzo specyficznymi aplikacjami - wszystkie inne zadania z powodzeniem rozwiązują narzędzia macOS. Pod tym względem system Windows może sobie poradzić z bardzo skromną ilością pamięci na dysku twardym. Domyślnie maksymalna ilość miejsca na dysku jest przydzielana „gościowi” w PD.

Jeśli nie chcesz, aby system gościa zajmował w pewnym momencie całe wolne miejsce, ustaw limit.

Maszyna wirtualna ▸ Sprzęt ▸ Dysk twardy


Ogranicza maksymalny rozmiar dysku wirtualnego w systemie Windows 10 do 32 GB

Jeśli później będziesz musiał zwiększyć rozmiar dysku dla maszyny wirtualnej, zawsze możesz to zrobić za pomocą ustawień tutaj.

Parallels Desktop można skonfigurować tak, aby system gościa wyświetlał maksymalną wydajność w grach.

Nowe procesory Mac mają 4-6 rdzeni. Jeśli zamierzasz grać na maszynie wirtualnej, musisz przełączyć wszystkie istniejące jądra, aby obsługiwały system gościa.

Aby to zrobić, po prostu włącz profil „Tylko gry”.

Maszyna wirtualna ▸ Ogólne ▸ Konfiguracja ▸ Edytuj


Przełączanie wirtualnego systemu Windows 10 na „tryb gry”

Do gier możesz używać dowolnej liczby procesorów. Ta opcja będzie miała największy efekt w grach obsługujących wielowątkowość.


„Tryb gry” włącza wszystkie rdzenie procesora i zwiększa ilość pamięci RAM do 8 GB

Przydzielone, ale niewykorzystane miejsce dla maszyny wirtualnej zawsze można zwrócić z powrotem do systemu macOS. Aby to zrobić, po prostu kliknij przycisk Zwolnij.

Maszyna wirtualna ▸ Ogólne ▸ Wydanie


Przenoszenie wszystkich zasobów maszyny wirtualnej z powrotem do systemu macOS

Migawki są świetnym narzędziem dla programistów i eksperymentatorów, jednak dla przeciętnego użytkownika nie są one szczególnie interesujące, a zapomniana migawka to mnóstwo zmarnowanego miejsca.

Domyślnie automatyczne tworzenie migawek jest wyłączone, ale lepiej upewnić się to jeszcze raz.

Maszyna wirtualna ▸ Kopia zapasowa ▸ SmartGuard

Jeśli migawki są nadal czasami potrzebne, możesz od razu skonfigurować reguły ich tworzenia.


Wyłącz migawki, aby zaoszczędzić miejsce na dysku

Widok programów znanych z Windowsa w doku Mac OS X jest co najmniej dziwny, a okno Internet Explorera obok Mail i Findera jest ogólnie zaskakujące. Sekret jest oczywiście prosty: na komputerze działa Parallels Desktop 5 w trybie Crystal – maszyna wirtualna, która ukrywa interfejs Windows poza zasięgiem wzroku i „przeciąga” działające w nim programy do środowiska Mac OS X.

Decyzja o przejściu z Windowsa na Mac OS X dla wielu nie jest taka prosta: wydawałoby się, że nowy system im się podoba, ale nie ma w nim potrzebnej aplikacji. I nawet nie możesz o tym marzyć: nigdy nie wiesz, że istnieje na świecie profesjonalne oprogramowanie, którego twórca nie zamierza przenieść programu na komputer Mac, a nawet już dawno porzucił wsparcie. Właśnie w tym miejscu na ratunek przychodzi Parallels Desktop.

Instalacja

Instalacja aplikacji jest maksymalnie bezbolesna – instalator przebiega zupełnie normalnie, aczkolwiek wymaga od użytkownika podania hasła administratora.

Następną rzeczą do zrobienia jest instalacja systemu Windows. W tym celu należy wybrać odpowiednią pozycję z menu i włożyć dysk z systemem. Od tego momentu wystarczy już tylko obserwować wskaźnik – instalacja odbywa się praktycznie bez zadawania pytań. Być może jest to nawet łatwiejsze niż instalacja systemu Windows na pustym dysku (zwłaszcza biorąc pod uwagę, że w tej chwili możesz kontynuować swoją działalność, od której nawet ponowne uruchomienie nie będzie Cię rozpraszać).

Nawiasem mówiąc, dysk nie musi być partycjonowany. Oznacza to, że możesz oczywiście najpierw to zrobić i zainstalować system na nowej partycji za pomocą Boot Camp - wtedy możliwe będzie normalne uruchomienie systemu Windows i uruchomienie systemu z Parallels Desktop. Jeśli jednak naszym celem jest praca z kilkoma aplikacjami, wystarczy zapisać obraz maszyny wirtualnej w systemie plików Mac OS X. W ten sposób zajmie ona dokładnie tyle miejsca, ile potrzeba.


Jeśli przyjrzysz się uważnie, zobaczysz, że tło na ekranie wyłączonej maszyny wirtualnej to zrzut ekranu wykonany przed zawieszeniem

Po pierwszym uruchomieniu maszyny wirtualnej użytkownik zostanie poproszony o zainstalowanie zestawu narzędzi Parallels Tools. Nie warto odmawiać – bez nich najcenniejsze funkcje Parallels nie będą działać.

Tryby pracy

Po zakończeniu procesu instalacji i ponownym uruchomieniu komputera możesz w końcu przejść do przyjemniejszej części - przełączenia Parallels w tryb Coherence lub Crystal. Pierwsza z nich była obecna w poprzednich wersjach, druga jest nowa i ulepszona.

W obu trybach pulpit i pasek zadań systemu Windows zostaną usunięte, a zamiast tego w doku systemu Mac OS X zaczną pojawiać się ikony programów działających na maszynie wirtualnej. Niestety, nie odbywa się to tak, jak w Mac OS X, gdzie wszystkie okna jednego programu są zebrane pod jedną ikoną, ale jak w Windowsie z wyłączonym trybem grupowania okien - przy każdym oknie znajduje się ikona.

Programy można także uruchamiać bezpośrednio z systemu Mac OS X – w katalogu aplikacji zostanie utworzony folder odzwierciedlający zawartość menu Start w systemie Windows. Oznacza to, że możesz na przykład uruchomić stamtąd program Windows Media Player, który pojawi się wśród okien komputera Mac.

Ikony zwykle wyświetlane w systemie Windows w zasobniku systemowym zostaną przeniesione tam, gdzie powinny znajdować się w systemie Mac OS X - po lewej stronie paska menu - górnego paska menu.

Samo menu Start jest również dostępne z interfejsu Mac OS X: pojawia się po kliknięciu ikony Parallels w doku. Tryb Crystal idzie jeszcze dalej: w nim logo Parallels nie jest wyświetlane w stacji dokującej, a także jest ukryte w pasku menu. „Start” i stamtąd otwierają się ustawienia maszyny wirtualnej w taki sam sposób, jak w Coherence.


Możesz wyjść z trybu pełnoekranowego, najeżdżając myszką na róg ekranu. Od razu staje się oczywiste, że Mac OS X jest ukryty gdzieś pod Windowsem.

Przejdź do trybu pełnoekranowego. Jeśli zezwolisz narzędziu Parallels Tools na łączenie folderów Mac jako folderów sieciowych, Windows będzie praktycznie do zamieszkania: na pulpicie znajdują się te same pliki, co w Mac OS X, w dokumentach znajdują się dokumenty Mac, podzielone na podkatalogi z pobranymi plikami, obrazkami, muzyka i filmy. Parallels łączy każdy z tych katalogów z podobnymi katalogami w systemie Mac OS X, a wszystkie zmiany dokonane w jednym systemie są natychmiast odzwierciedlane w drugim.

Inne udogodnienia

Okna systemu Windows otoczone programami Mac wyglądają, szczerze mówiąc, nie na miejscu, ale możesz też spróbować to naprawić. Wybieramy opcję „użyj MacLook” w menu Parallels, a Parallels zmieni Windows w coś niejasno przypominającego szaro-metaliczny motyw komputera Mac. Okno Windowsa nie będzie trudne do odróżnienia (np. po czcionce czy zauważalnym pasku pod tytułem okna), ale przynajmniej nie odstają one tak bardzo od ogólnego stylu.


Kto by pomyślał, że Eksplorator Windows może wyglądać tak jak Mac? Prawie wilk w owczej skórze

Nawet otwieranie plików można skonfigurować tak, aby żądane typy dokumentów były przesyłane do programów Windows. I odwrotnie: po zainstalowaniu programu Parallels Tools w menu kontekstowym Eksploratora Windows pojawi się opcja „Otwórz na komputerze Mac”. Wybieramy go, a plik otworzy się w systemie Mac OS X - w programie, z którym powiązany jest odpowiedni typ.


Gdy maszyna wirtualna jest uruchomiona, zawartość dysku Windows jest widoczna z poziomu systemu Mac OS X


Obsługiwane są polecenia głosowe - będą działać razem z wbudowanymi poleceniami w systemie Mac OS X. Nie testowaliśmy tej funkcji

Obsługiwany jest także transfer danych poprzez schowek: linie, a nawet obrazy skopiowane z Mac OS X można wkleić do Windowsa i odwrotnie. Plików nie można kopiować za pomocą schowka, ale obsługiwane jest przeciąganie i upuszczanie. To prawda, tylko w jednym kierunku: z Mac OS X - do okien Windows lub ikon programów. Możesz na przykład przeciągnąć obraz z pulpitu komputera Mac na ikonę Windows Paint w doku, co spowoduje jego otwarcie.


Gdy w systemie pojawi się nowe urządzenie lub nośnik wymienny, Parallels zaproponuje podłączenie go do maszyny wirtualnej

W systemie Windows można teraz korzystać z „gestów” Mac OS X – jest to przydatne, jeśli korzystasz z MacBooka z gładzikiem wielodotykowym, Magic Mouse lub Magic Trackpad. Apple Remote jest także łatwy w obsłudze i sterowaniu, powiedzmy, prezentacjami programu PowerPoint dla systemu Windows.

Zwykle podczas przełączania między systemami (w innych narzędziach do wirtualizacji lub po prostu gdy są dwa komputery) pojawiają się różnego rodzaju typowe trudności: ci, którzy są przyzwyczajeni do przełączania układów klawiatury za pomocą kombinacji Cmd-Space w Mac OS X, uznają to za niewygodne użyj Ctrl-lub Alt-Shift w Windows. Podobnie jest ze skrótami klawiszowymi: w obu systemach są one podobne, tyle że w Windowsie uruchamia się je za pomocą Ctrl, a na Macu za pomocą Cmd.

Nawet ta kwestia została przemyślana w Parallels. W ustawieniach programu możesz określić, które kombinacje używane na komputerze Mac mają być tłumaczone na polecenia systemu Windows. Większość standardowych ustawień, takich jak tłumaczenie poleceń kopiowania i wklejania z komputera Mac i tym podobnych na odpowiednie polecenia systemu Windows, jest już skonfigurowana domyślnie. Oczywiście dla pełnego komfortu trzeba będzie przepisać znacznie większą liczbę kombinacji, ale zapewnienie sobie minimalnej wygody nie będzie trudne.

Wyniki

Parallels Desktop 5 posiada o wiele więcej funkcji, które mogą przydać się zaawansowanym użytkownikom: jest tam np. nagrywanie wideo, zarządzanie migawkami pamięci, import plików maszyn wirtualnych VMWare i VirtualBox i wiele innych ciekawych rzeczy. Dostęp do systemu operacyjnego działającego w Parallels można uzyskać nawet z urządzenia iOS – w Apple App Store dostępny jest darmowy program do tego.

Ogólnie rzecz biorąc, Parallels osiągnął niespotykany dotąd poziom w łączeniu systemu Windows z systemem Mac OS X. Jeśli używasz go stale, z biegiem czasu przestajesz zwracać uwagę na fakt, że jeden system operacyjny działa na drugim. Uruchomienie programów Parallels i Windows zajmuje tylko dużo czasu, ale jeśli jest wystarczająca ilość pamięci, w razie potrzeby można po prostu pozostawić je włączone.


Po zminimalizowaniu Parallels nie zajmuje dużo pamięci RAM, ale na dysku powinno być kilka gigabajtów wolnego miejsca na plik wymiany

Możesz nawet zainstalować DirectX i dowolne gry (nawet Crysis) na maszynie wirtualnej, ale wygodnie grać w coś nowoczesnego możesz tylko na najpotężniejszych komputerach. Jednak w kolejnej wersji Parallels nacisk zostanie położony na wydajność. Co oczywiście nie zapobiegnie dalszemu powiększaniu się listy funkcji.

W naszej najnowszej wersji programu Parallels Desktop 9 dla komputerów Mac dostępnych jest obecnie 75 nowych funkcji. Spośród nich 33 są w jakiś sposób powiązane z integracją OS X i Windows. A w pierwszych wersjach produktu funkcje te były po prostu podstawowe. Dziś specjalnie dla Habra piszemy o tym, co i jak wymyślono, aby Windows i Mac żyły długo i szczęśliwie, dlaczego „przeniknęły” do Explorera i jak oszukały mysz.
Alexander Grechishkin, szef Zespołu Integracyjnego w Parallels

- Jak to wszystko się zaczęło?
A.G.:
Po pierwsze, musieliśmy wykorzystać technologie, które były już wówczas na rynku. Wirtualizacja i emulacja istnieją od lat 90. XX wieku i istniały nawet rozwiązania umożliwiające uruchamianie jednego systemu operacyjnego na komputerach z innym systemem operacyjnym. Dlatego nasze zadania w pierwszych wersjach były następujące: po pierwsze, aby technologie i podstawowe funkcje były dokładnie takie same, jak w istniejących rozwiązaniach. Po drugie, wymyśl coś własnego, oryginalnego. Jego unikalne funkcje obejmują tryb koherencji (możliwość przeglądania programów Windows i pracy z nimi na komputerze Mac tak, jakby były to natywne aplikacje OS X) i aplikacje współdzielone (ikony programów Windows na pasku aplikacji Docka).

Funkcja Spójność pozwala całkowicie ukryć sam system Windows, pozostawiając jedynie samą aplikację. W potocznym języku ten tryb nazywa się „Nie pokazuj pulpitu systemu Windows”. Brzmi to bardzo prosto, ale wykorzystanie tej możliwości wymagało od nas wiele wysiłku. Jest to bardzo trudna technologia związana z wieloma problemami z oprogramowaniem i koniecznością ich rozwiązywania w niestandardowy sposób. Jest również trudny w utrzymaniu. A swoją drogą, wciąż się rozwija.
Oczywiście wtedy – z każdą nową wersją – musieliśmy wymyślać i wdrażać coraz więcej nowych rzeczy, które nie miały analogii. Ale początkowo wykonaliśmy połowę podstawowej integracji, taką jak synchronizacja myszy, foldery współdzielone, kopiowanie-wklejanie, przeciąganie i upuszczanie, synchronizacja czasu przez analogię do tego, co już istniało w jakiejś formie. Na przykład było całkiem sporo emulatorów wirtualizacji (dla różnych platform) z własnym zestawem funkcji. Bez tego zestawu wydawanie nowego produktu byłoby po prostu bezcelowe.
Oczywiście moglibyśmy stworzyć emulator bez jakiejkolwiek integracji, coś w rodzaju DOSboxa (który nie ma funkcji integracyjnych, ale doskonale obsługuje stare gry DOS). Swoją drogą, nadal mamy wielu użytkowników, którzy pracują z Parallels Desktop na tej samej zasadzie: uruchamiają maszynę wirtualną, Windows uruchamia się na niej w oknie i nic więcej nie jest im potrzebne.
Ale oczywiście ścieżka rozwoju zdecydowanej większości oprogramowania jest ewolucyjna: najpierw trzeba stworzyć podstawową funkcjonalność, a następnie stopniowo ją rozszerzać. Użytkownika trzeba zmotywować do przejścia na nową wersję (zwłaszcza jeśli jest płatna). I to nie tylko ze względu na zwiększoną prędkość, obsługę nowych technologii (na przykład nowy Direct X), lepszą stabilność i inne rzeczy, ale także przyciągnąć ciekawymi i przydatnymi funkcjami. W naszym przypadku taka personalizacja – „dostrojenie” produktu – bardzo często wynika z integracji – najpierw działo się to z Windowsem, potem z innymi systemami operacyjnymi.

- A na czym skupiłeś się spośród istniejących technologii?
A.G.:
Ogólnie pomysł był taki: wdrożyć technologię wirtualizacji tak, jak robi to Apple. W 2005 roku Steve Jobs ogłosił plany Apple dotyczące „wykończenia” PowerPC w swoich komputerach i przejścia na chipy Intel. W 2009 roku pojawił się system OS X 10.6 Snow Leopard, pierwszy system operacyjny Apple, który nie obsługuje już PowerPC. Ale najprawdopodobniej wszystko zaczęło się dla nich dziesięć i pół roku temu, kiedy Apple zaczął opracowywać harmonogram aktualizacji systemu Mac OS i plan przejścia na x86.
Musieli przejść z systemu Mac OS 9, przeznaczonego dla starego sprzętu, na Mac OS X i napisać własny emulator obsługujący wszystkie istniejące programy. Zrobili to całkiem sprawnie, z dużą wydajnością i co ważne, technologia ta okazała się bardzo przejrzysta i „niewidoczna” dla użytkownika. Użytkownik klika na swoim komputerze program napisany dla PowerPC i otwiera się to samo Coherence, to samo okno dla tego programu. Tyle, że współistnieją w nim nie dwa różne systemy operacyjne, a dwa Mac OS – stary i nowy. Ogólnie bardzo podobnie do nas.
Niestety w tamtym czasie programiści Parallels Desktop nie wiedzieli o istnieniu technologii Rosetta w Mac OS X - dynamicznego tłumacza umożliwiającego uruchamianie aplikacji PowerPC na komputerach z procesorami Intel. Musiałem nawet zabrać komputer z domu, żeby im pokazać. Przyniósł, pokazał, a programiści docenili naszą technologię Coherence, choć zaimplementowaną inaczej: coś pomiędzy Wine a prostym emulatorem. W rezultacie skrystalizowaliśmy pomysł działania na wzór Apple w tym sensie, że użytkownikowi nie będą wyświetlane żadne obrazy startowe ani wirtualne powłoki z Parallels Desktop. Na przykład, aby Word natychmiast się otworzył, a przeciętny użytkownik nawet nie zorientował się, że ta aplikacja nie znajduje się w folderze Aplikacje, ale gdzie indziej.

- Jak opracowano Coherence?
A.G.:
Autorem pomysłu był Siergiej Biełousow (uwaga - założyciel Parallels), następnie chodził po biurze i opowiadał wszystkim, że to genialny pomysł - usunąć pulpit, tak aby wszystkie okna Windowsa wyglądały dokładnie tak samo jak okna Maca. Od razu zdaliśmy sobie sprawę, że ten pomysł jest bardzo dobry i musimy nad nim popracować. Udało nam się dość szybko i łatwo „wyciąć okno i usunąć pulpit”. A potem cała technologia prezentacji Coherence została napisana przez jedną osobę, która nadal dla nas pracuje – Siergieja Koncowa. Wiele lat żmudnej pracy zajęło osiągnięcie punktu, w którym użytkownicy nie zauważyliby praktycznie żadnych różnic pomiędzy aplikacjami dla systemów Windows i Mac.
Dowodem na to, że pomysł był naprawdę dobry, było to, że został następnie skopiowany przez wszystkich. Jednak na początku naszej podróży nie byliśmy pewni, czy technologia stanie się rewolucyjna. I choć Biełousow zapewnił nas, że wszyscy nad tym popracują, to i tak wstydziliśmy się ustawiać to domyślnie przy ładowaniu maszyny wirtualnej w pierwszej wersji (uwaga - po lewej stronie - zrzut ekranu z wersji 2.5). Ale gdy tylko zorientowali się, że to działa i jest popularne, od razu ustawili go jako domyślny (od wersji 3.0). I ten tryb nadal przoduje; prawie 80% użytkowników korzysta z niego w Parallels Desktop.
Wdrożyliśmy także prostą instalację systemu Windows za pomocą kreatora, dzięki czemu użytkownik po prostu naciska kilka przycisków i otrzymuje swój wirtualny system operacyjny. Technologia ta została zapożyczona od instalatorów OEM, ale po raz pierwszy została zaimplementowana w naszym produkcie dla użytkowników końcowych.
Współpracujemy z Coherence tak długo również dlatego, że ta jednowyrazowa nazwa tak naprawdę łączy w sobie wiele technologii. W szczególności zawiera tak dużą funkcję jak Shared Applications, dzięki której użytkownik widzi ten sam Microsoft Word, co natywna aplikacja na komputerze Mac. To jest najtrudniejsza rzecz. Zewnętrznie funkcja wygląda prosto, jednak „wewnątrz” kryje się mnóstwo logiki, nad którą wciąż pracujemy.
W Coherence zainwestowano 15 osobolat – cała kariera programisty. A ten kod stanowi około 8% wszystkich źródeł Parallels Desktop - to tak duży i złożony produkt.

- Co jeszcze było tak trudne do zrobienia?
A.G.:
Trudność może być różna. Złożoność oprogramowania, złożoność algorytmiczna, trudność w zrozumieniu, jak coś zaimplementować lub jak to będzie działać. Często musieliśmy obrać zupełnie nietrywialną ścieżkę.
Opowiem Wam na przykład o funkcji, dla której musiałem zagłębić się w wnętrze Windowsa. Posiadamy taką technologię - SmartMount. Oto sedno sprawy: gdy użytkownik włoży dysk flash do komputera Mac, pojawi się on tylko na pulpicie komputera Mac. Osoba pracująca w trybie Koherencja chce pełnej integracji - czyli zobaczenia zawartości swojego pendrive'a w Windowsie. Aby jednak się tam pojawił, należy go ponownie połączyć z maszyną wirtualną, a robienie tego za każdym razem jest bardzo niewygodne. Zdecydowaliśmy się użyć folderów współdzielonych. Ponieważ ta funkcja jest sterownikiem sieciowego systemu plików i jest wyświetlana w systemie Windows jako dysk sieciowy, gdy dysk flash łączy się z komputerem Mac, przesyłamy go przez foldery udostępnione w systemie Windows. Następnie automatycznie przechodzi do lokalizacji sieciowej. Jednak dla użytkownika nie jest jasne, czy powinien znaleźć swój dysk flash w lokalizacji sieciowej: jest przyzwyczajony do tego, że jest to urządzenie USB, które wygląda w określony sposób i jest pokazane dokładnie, gdzie znajdują się wszystkie nośniki wymienne. Stosując standardowe metody, nie da się sprawić, aby udział sieciowy pojawił się na liście urządzeń jako urządzenie podłączone i jednocześnie został odzwierciedlony jako USB. I tak nasz programista Wasilij Żdanow „przeniknął” (nazwijmy to) do „Explorera” i wyraźnie „wyjaśnił” temu programowi, że to coś powinno być pokazane dokładnie w ten sposób. A teraz SmartMount pokazuje dyski flash USB jako dyski zewnętrzne.


Włożono pendrive'a


Widzieliśmy dysk flash

Lub możesz podać przykład oryginalnego sposobu rozwiązania problemu Smart Mouse - technologii, która pozwala myszy komputerowej dostosować się do aplikacji, z którą użytkownik aktualnie pracuje. Jeśli jest to aplikacja biurowa, zachowuje się w jeden sposób, jeśli jest to zabawka, zachowuje się inaczej.
Parallels Desktop posiada dwa tryby pracy myszy – urządzenie wskazujące bezwzględnie, które umożliwia przesuwanie kursora zarówno w systemie Windows, jak i Mac w ten sam sposób – z tą samą szybkością i ruchem. W tym przypadku używana jest tylko mysz hosta. Istnieje także względny tryb myszy, w którym mysz działa wewnątrz maszyny wirtualnej z własną szybkością. Ostatni tryb jest używany w grach komputerowych, ponieważ w ogóle nie są one przeznaczone dla absolutnych urządzeń wskazujących. Wcześniej kursor w grach zaczynał poruszać się z zawrotną szybkością i nie dało się grać. Wymyśliliśmy sposób na wykrycie żądanego trybu bez żadnego powiązania z nazwami programów, bibliotek czy plików. Wszystko jest bardzo proste: jeśli kursor jest widoczny na ekranie podczas działania programu, potrzebne jest bezwzględne urządzenie wskazujące. W grach standardowy kursor jest prawie zawsze wyłączony, a gra sama go rysuje, dlatego w tego typu programach potrzebny jest tryb względny. Wybór trybu myszy zgodnie z tą zasadą działał poprawnie w 95% przypadków.

- Jaki zespół zajmuje się całą integracją?
A.G.:
Teraz zespół Integracji liczy 6 osób i są to bardzo różne osoby. Trochę podobne, ale nie takie same. Prawie cały zespół zrekrutowałem sam. Jedynym, który już pracował, kiedy przyjechałem, był wspomniany już „ojciec Spójności” Siergiej Koncow. Zostałem więc kierownikiem jednoosobowego działu, w którym sam pełniłem funkcję zawodnika-trenera.
Całą integrację w pierwszej wersji wykonały te dwie osoby – foldery współdzielone, praca myszką, kopiowanie i wklejanie, przeciąganie i upuszczanie oraz spójność – prawie cała podstawowa integracja. Nieco później pojawił się Wasilij Żdanow. Następnie - Andrey Pokrovsky, który stworzył aplikacje Shared dla pierwszej wersji. I co ciekawe, zrobił to bardzo szybko. Kiedy ukończyliśmy produkt i chcieliśmy go sprzedać, zdaliśmy sobie sprawę, że bez ikon w Docku podstawowa spójność wygląda na niedokończoną. Przyszedł Kola (uwaga – Nikolay Dobrovolsky, wiceprezes ds. wirtualizacji komputerów PC) i zapytał, czy moglibyśmy to szybko wdrożyć. Andrey zrobił to w jeden weekend, pisząc i debugując około 2000 linii kodu. Tam, gdzie było to potrzebne, pokazane zostały aplikacje, można je było uruchomić z Docka. Można to nazwać naprawdę produktywną pracą.
Ale na przykład Wasilij Żdanow, o którym już mówiliśmy, jest bardzo dobry w inżynierii odwrotnej. Szybko zagłębia się w wnętrze programów, co jest bardzo potrzebne do wdrożenia integracji, gdyż w tym procesie wielu rzeczy po prostu nie da się zrobić standardowymi metodami. A Wasilij uwielbia to robić: po prostu przychodzi do pracy i ciężko pracuje, nie rozpraszając się głodem i dobrym samopoczuciem. W ogóle nic nie widzi i nie słyszy. Często nawet nie zna statusu projektu, interesuje go tylko jego konkretne zadanie w danym momencie.
Ogólnie rzecz biorąc, wszyscy mogą robić różne rzeczy, a ich produktywność jest inna. Ale oni są ZESPOŁEM. Wiedzą absolutnie wszystko i chcą pracować, wszyscy mają rozległą i głęboką wiedzę (która przez lata pracy stała się BARDZO dużą wiedzą), a do tego mają bardzo wysoki poziom programowania. W ciągu siedmiu lat ich poziom wzrósł tak bardzo, że są w stanie wykonać niemal każde zadanie, jakie im zlecisz.

- Więc sześć wystarczy?
A.G.:
Na tym etapie już nie. Mamy bardzo krótkie cykle rozwoju i, jak powiedziałem, każdego roku mamy około 30 funkcji integracyjnych. Okazuje się, że trzeba wykonać około 3 funkcji miesięcznie. Warto w tym miejscu zaznaczyć, że funkcji integracyjnych jest wiele, jednak nie wszystkie są autorstwa naszego zespołu.
Ogólnie rzecz biorąc, potrzebuję teraz 3 osób do zespołu Integracji. Te oferty pracy są przeznaczone dla tych, którzy chcą programować na wszystkie platformy i znają systemy Windows, Mac i Linux (lub co najmniej jeden z tych systemów operacyjnych). Główne języki to C++ i Objective C.
Zatem osoby chcące pracować w Parallels w zespole OS Integration mogą pisać do mnie osobiście na adres [e-mail chroniony]. Jedno mogę obiecać na pewno – ciekawe, niestandardowe zadania gwarantowane. Resztę omówimy na miejscu.