Czy to dalej pecet? Ewolucja platformy PC (część 3)
Dyskutując o tym, czy dzisiejsze pecety to naprawdę pecety (urządzenia zgodne, a przynajmniej wywodzące się z IBM PC z 1981 roku), jedną z najważniejszych kwestii jest firmware UEFI, czyli nowy ustrój pecetowy, zastępujący BIOS. Wprowadził on cichą rewolucję.
Komputery wykorzystujące UEFI pozornie wydają się być jedynie nowszymi iteracjami znanego sprzętu, w praktyce jednak są to mocno odmienne urządzenia, a pracujący na nich system komunikuje się ze sprzętem znacząco inaczej. Już sam rozruch przebiega w inny sposób, wykorzystując ustrój GPT. Poprzedni standard, MBR, jest obcy dla systemów UEFI.
Tutaj konieczna jest pewna doza ostrożności, ze względu na mnogość wyjątków, przykładów brzegowych oraz "hacków" w popularnych implementacjach. Owszem, zdarzają się BIOS-y startujące z GPT. Zdarzają się też układy partycji GPT z nagłówkiem BIOS BOOT dodającym okrężnie taką możliwość. Niemniej, klasyczny pecet zrozumie wyłącznie MBR, a GPT to zapożyczenie ze świata UEFI. Świat ten powstał na zupełnie inną okoliczność niż pecety i ma o wiele więcej wspólnego z zapomnianą architekturą Itanium.
Dalsza część artykułu pod materiałem wideo
UEFI vs BIOS
Właśnie, UEFI. Jego obecność w komputerze oznacza de facto architekturę inną niż PC. Pecety z definicji używają BIOS-u. Wbrew potocznemu rozumieniu, BIOS to nie niebieski program konfigurujący kolejność dysków, a zbiór usług. Ich konsumentem jest system operacyjny. Załadowany podczas rozruchu kod, aby działać, musi być jedynie poprawnym kodem x86, ale w celu wykonania jakiejkolwiek zaawansowanej operacji z wykorzystaniem sprzętu, choćby odczytu z nośnika, musi się on powoływać na konkretne usługi/przerwania BIOS.
System zgodny z BIOS nie załaduje się w systemie z UEFI (a przynajmniej nie bez uruchomionej warstwy zgodności - CSM). A system zgodny z UEFI zostanie zignorowany przez platformę opartą o BIOS. Zresztą nawet siłowe załadowanie go do pamięci sprawiłoby, że miałby on potężne problemy z obsługą sprzętu, oczekując całkowicie innego ustroju.
Obecnie większość systemów UEFI jest możliwa do przełączenia w tryb zgodności, ale wkrótce może to przestać być możliwe - część sprzętu po prostu nie może działać w maszynie BIOS-owej. Laptopy i tablety coraz częściej nie zawierają CSM i z pecetami, architekturalnie, łączy je tylko zestaw rozkazów procesora.
Procesor to nie platforma
Zresztą, procesor jest zgodny raczej z kodem wyższego poziomu. Wystartowanie w trybie rzeczywistym jest w ogóle niemożliwe, a niskopoziomowy kod wdający się w interakcję z BIOS-em nie zadziała. Warstwy zgodności z kodem 16-bitowym już nie ma, a oprogramowanie 32-bitowe to już coraz częściej tylko starocie. Choć x86_64 bardzo kreatywnie (i skutecznie) podchodzi do kwestii kompatybilności, komputery 64-bitowe z UEFI to już pecety tylko z nazwy. "PC" oznacza już tylko tyle co "komputer z Intelem/AMD", ewentualnie "nie-Mac" i "nie telefon".
Sytuacja ulegnie dalszemu zagmatwaniu, gdy na desktopy wkroczy ARM, rozszerzając swój udział rynkowy z ultramobilnych laptopów dotykowych. O ARM-owych pecetach mówi się jednak od bez mała piętnastu lat i ciągle są one dość niszową częścią rynku urządzeń przenośnych, bez obecności na desktopie. W przypadku (mało prawdopodobnej) konwersji pecetów na ARM, pod pojęciem PC będą funkcjonować urządzenia… z Windowsem.
Odzwierciedli to sytuację ze świata Apple. Mac to komputer z macOS, którego cechy szczególne, poza samym systemem operacyjnym, są raczej powierzchowne i związane z designem, a nie platformą. Podział rynku urządzeń komputerowych już ostatecznie stanie się kontrolowany przez ogólny "vibe", a nie konkretne cechy.
Post-PC
Z pecetów zostało nam dziś bardzo niewiele. I jest tak mimo, że nikt nie zgodzi się ze stwierdzeniem że (zwłaszcza w firmach i przemyśle) funkcjonujemy w rzeczywistości "post-PC", co było swego czasu bardzo popularnym terminem. Jeżeli zmieni się architektura lub nastąpi poważniejsze przejście na model SoC (np. redukcja lub usunięcie PCH), będziemy mieli do czynienia z "pecetami" niepodobnymi już nawet do sprzętu sprzed 15 lat.
Wszystkie te zmiany mają jednak ciekawą cechę - przez cały czas jest intuicyjnie bardzo jasne, co mamy na myśli mówiąc "PC". Ponadto, trzeba szukać bardzo daleko żeby znaleźć coś, co nie jest do nich podobne. Jest oczywiście Apple, ale tak naprawdę architektur komputerowych w rzeczywistym użyciu jest dziś mało z rokowaniami na coraz mniej.
Co przyniesie przyszłość? Słuchając marketingu, dowiemy się o AI i komputerach kwantowych. Ma to jednak niewiele wspólnego z konkretami. Sztuczna inteligencja, poza NPU, wprowadzi marginalne zmiany do architektury i pozostanie (mocno rozdmuchanym) aspektem związanym raczej z oprogramowaniem niż ze sprzętem. A komputery kwantowe, jeżeli w ogóle okażą się dostępne, będą ze względu na swoją rażącą odmienność, usługami świadczonymi zdalnie, a nie nową klasą komputerów osobistych.
Na żadne głębsze zmiany w ustroju PC już się nie zanosi - należy jednak pamiętać, że obecne komputery osobiste naprawdę nie są już pecetami w rozumieniu zgodności z IBM PC. Czeka nas już prawdopodobnie wyłącznie długa seria mikro-optymalizacji, z platformy wyleciały już bowiem obecnie wszystkie starocie. A pecety ostatecznie przestały być pecetami około roku 2012.
Kamil J. Dudek, współpracownik redakcji dobreprogramy.pl