Windows XP: dlaczego zostanie z nami już na zawsze? (część III)
Wciąż szukamy wyjaśnienia fenomenu, dlaczego to właśnie Windows XP znajduje się dziś dalej na tysiącach urządzeń. Wszak wydano jego następcę: Windows Embedded 7. Mimo to, sprzedaż systemu POSReady 2009, opartego o XP, trwała przez kilka lat równolegle. Z jakiego powodu?
Odpowiedź jest prosta. Wymagania sprzętowe Windows Embedded 7 były szesnastokrotnie wyższe niż 2009. W dodatku, niektóre brudne praktyki w pisaniu sterowników stały się "nielegalne" w jądrze nowego Windowsa, NT 6.1. System ten wymagał lepiej napisanych, bezpieczniejszych sterowników. Coś takiego generowało koszty po stronie producentów.
Migrację na nowsze od XP wersje w urządzeniach wbudowanych wywołały dwie kwestie: większa dostępność taniego, ale wydajnego sprzętu (czasy Pentium 4 były już odległą przeszłością, a bezwiatratkowe Core ULV nie umierały z Siódemką) oraz... brak rozszerzeń PAE w Windows XP, co ogranicza maksymalny rozmiar obsługiwanej pamięci do 3.5 gigabajta. Wbrew pozorom, nie jest to fundamentalne ograniczenie systemów 32-bitowych.
PAE
Wiedza potoczna mówi, że 32-bitowe systemy nie obsłużą więcej niż 4 gigabajty pamięci. Tymczasem Windows Server 2003, bez wątpienia 32-bitowy, obsługuje ich aż 64. Jest to zasługa hacku, jakim jest PAE: physical address extension. Microsoft wyłączył obsługę PAE w wariancie powyżej 4GB z wydaniem dodatku Service Pack 1 dla Windows XP. Motywowano to "zgodnością" ze starymi programami i sterownikami. Choć jest to racjonalny argument, brak możliwości włączenia tego trybu za pomocą zaawansowanych przełączników budzi już wątpliwości, czy przypadkiem nie zadbano w ten sposób o to, by XP odszedł na przymusową emeryturę.
32-bitowe wersje Windows utrzymały ograniczenie w postaci 4 gigabajtów pamięci w PAE i jest ono obecne także w najnowszej, i zarazem ostatniej, 32-bitowej wersji Windows, którą jest Windows 10 21H2. Ostatnim procesorem czysto 32-bitowym był Intel Atom Z6 z 2011 roku. Dziś nawet ARM Cortex-A72 z Raspberry Pi lub Celeron Gold za kilkanaście dolarów, są w stanie udźwignąć Windows 10 IoT, toteż zagadnienie ograniczeń pamięci stało się nieaktualne. A wiele "prostych" programów nigdy nawet nie dobije do takiego zużycia pamięci, więc XP jest wystarczający.
Zbiór wad i problemów
Zestawienie opisanych czynników sprawiło, że Windows XP był dla niektórych zastosowań jedynym rozwiązaniem przez ponad dekadę. To z kolei sprawiło, że koszt migracji stał się tak wielki, że wraz ze wzrostem dostępności wydanych i tanich platform, systemy w późniejszych urządzeniach są o wiele łatwiejsze w aktualizacji. Oczywiście, przez lata wokół nas będzie mnóstwo tablic informacyjnych, biletomatów i dializatorów np. z Windows 7, ale to Windows XP będzie stanowił "beton", działający po cichu przez dekady.
Zdecydowana większość takiego sprzętu jest niepodłączona do sieci i pracuje z wykorzystaniem komponentów możliwych do konserwacji (dysków IDE już nie ma, ale od czego są karty CF itp.) jeszcze przez wiele następnych lat. Z kolei te podpięte do sieci są już w większości izolowane, ze względu na brak aktualizacji. Oczywiście jest tu wiele przygnębiających wyjątków...
Wieczysta Platforma
Wkrótce jednak Windows XP może się okazać bezpieczny właśnie ze względu na bycie antykiem. Podobne zjawisko miało miejsce z Windows 98: nowe fale robaków celowały w usługi nieistniejące w tym systemie, lub linkowały do bibliotek systemowych nieoferujących pewnych funkcji w systemach starszych od Windows 2000. Dzięki temu odpadnie kolejny argument za aktualizacją i Windows XP popracuje z nami aż do końca świata.
Swoją drogą, czy istnieją systemy, dla których wsparcie trwa jeszcze dłużej niż to dla Windows XP? Otóż... tak. QNX posiada bardzo rozbudowane warianty wieloletniego wsparcia. OpenBSD obsługuje swoje wydania przez rok, ale kolejne wersje nie tyją zbyt szybko i łatwo się aktualizują. Red Hat Enterprise Linux 6 w ramach ELS otrzymuje 14 lat wsparcia (Windows 7 też, tak przy okazji). Oracle Solaris wygrywa ten pojedynek, oferując szesnastoletnie wsparcie aż od listopada 2034 (!).
Wszystkie te rozwiązania mają jednak pewną wadę: wymagają więcej wiedzy, by tworzyć na nie oprogramowanie. A każdy, kto kiedykolwiek próbował zarabiać na oprogramowaniu wie, że lepiej mieć coś marnego od razu niż doskonałego za pięć lat. Po prostu nie da się sprzedawać obietnic.