Laptopy z procesorami Qualcomma trafiają na rynek już od lat

Windows 10 dla ARM64 – zbawienie czy piekło?

Kurz po konferencji WinHEC dla twórców sprzętu z Windowsem powoli opada, ale dalej brakuje szczegółowych informacji o tym czym będzie 64-bitowy Windows 10 dla procesorów ARM. A konkretów jest bardzo mało.

Terry Myerson, szef Windowsa, ogłosił, że wraz z Creators Update (pierwsza połowa 2017) pojawi się nowa kompilacja Windowsa 10 przeznaczona dla procesorów ARM. Będzie to wersja 64-bitowa, która ma oficjalnie współpracować z procesorami Qualcomma, poczynając od Snapdragona 835. Nowy system będzie pozwalał na emulowanie 32-bitowego oprogramowania skompilowanego dla architektury x86 (Intel/AMD). Na scenie zobaczyliśmy między innymi uruchomienie Photoshopa na prototypowym urządzeniu ze Snapdragonem 820. Microsoft twierdzi, że emulacja pozwoli na uruchamianie praktycznie wszystkich aplikacji i plików wykonywalnych dla środowiska uruchomieniowego Win32 (oprogramowanie „desktopowe”).

Microsoft tłumaczy, że zastosowanie procesorów ARM pozwoli na tworzenie smukłych, pasywnie chłodzonych hybryd i laptopów z wbudowanym modemem LTE, o długim czasie działania na jednym ładowaniu. W dobie marginalizacji linii procesorów Intel Atom i zasobożerności serii Core m/Core i, rozwiązanie to wydaje się jak najbardziej sensowne i przyszłościowe. Szczególnie, że rok 2017 będzie pierwszym rokiem, kiedy procesory ARM będą miały litograficzną przewagę nad procesorami Intela (10 nm kontra 14 nm do momentu premiery architektury Cannonlake, planowanej na Q3/Q4 2017).

I to by było na tyle jeśli chodzi o fakty. Czas na spekulacje. Wszystko wskazuje na to, że emulacja będzie polegać na działaniu dwóch równoległych systemów operacyjnych, których dostęp do zasobów sprzętowych będzie kontrolował zarządca (hypervisor). Wiele wskazuje też na to, że Microsoft w żaden sposób nie będzie ograniczał tego, które aplikacje czy pliki możemy uruchamiać. Początkowo wielu komentatorów sądziło, że aplikacje Win32 będą dostępne tylko ze sklepu Windows (konwertowane przy pomocy projektu Centennial – mostu dla aplikacji desktopowych). To by jednak drastycznie ograniczyło użytkownikowi wybór i sprawiło, że nowy Windows 10 dla ARM przypominałby Windowsa RT. A tego Microsoft chce uniknąć jak ognia.

Gdzie zatem tkwi haczyk? Wszystkie zalety ARM (pobór mocy, GPS, wbudowane LTE, wydajność GPU) w połączeniu z (prawie) pełną paletą oprogramowania desktopowego. Haczyki są dwa. A przynajmniej dwa najważniejsze. Po pierwsze, emulacja z przyczyn architektonicznych nie jest tak wydajna jak uruchamianie programów i procesów natywnie (potrzebne są dodatkowe cykle czasu wykorzystania procesora). To spowoduje, że korzyści wydajnościowe płynące z architektury ARM mogą szybko zniknąć. Po drugie, ważniejsze, uruchamianie oprogramowania pulpitowego w trybie pełnego zaufania („full trust” – bez bezpiecznej piaskownicy UWP) to miecz obosieczny. Z jednej strony, sprzyja to wydajności, ale z drugiej może prowadzić do tego, za co ludzie nie znoszą Windowsa – zaśmiecenie rejestru, piekło DLL-i, wirusy, ransomware, adware, malware. W skrócie – problemy z bezpieczeństwem i płynnością działania systemu w dłuższym okresie czasu (stopniowe „zaśmiecanie”).

Zasadnicze pytanie będzie brzmieć, czy psychiczny komfort możliwości uruchamiania aplikacji Win32 na urządzeniach z ARM przeważy wszelkie niedogodności związane z oprogramowaniem desktopowym działającym w trybie pełnego zaufania i „kernel mode”? Dotąd, urządzenia z ARM były kojarzone z systemami „mobilnymi”, charakteryzującymi się zamkniętymi modelami aplikacji uruchamianymi w piaskownicach, pozwalające na uniknięcie wielu problemów z bezpieczeństwem i wydajnością. Nie jestem wielkim fanem poświęcania tego drugiego w imię wstecznej kompatybilności, ale być może jest to jedyna droga ewolucyjnego przejścia Windowsa na procesory ARM i uniknięcie losu Windowsa RT.

Wiele wskazuje też na to, że Microsoft pozwoli na instalowanie natywnego desktopowego oprogramowania dla ARM64. Według nieoficjalnych doniesień, Office 2016 dla Windows 10 (ARM) będzie rekompilowany dla 64-bitowego procesora typu RISC. Tutaj mogą pojawić się jednak obostrzenia co do dystrybucji i swobody instalowania i uruchamiania takiego oprogramowania. Jeśli nie przez sklep to przynajmniej przez podpisywanie cyfrowe paczek (certyfikaty). ARM64 najprawdopodobniej nie trafi też do istniejących 64-bitowych Lumii 950(XL), które działają pod kontrolą 32-bitowego Windowsa 10 Mobile. Ten po konferencji WinHEC wydaje się być jeszcze bardziej martwy. I jeszcze jedno – Windows 10 dla ARM to system dla hybryd i laptopów, a nie dla smartfonów (nie napalajmy się na „Surface Phone”).

Nie jest to Windows dla ARM jakiego chcieliśmy, ale być może to Windows dla ARM na jaki zasługujemy.