mwiacek.comColorColor | Mobile  
Z jednego monopolu w drugi (2022)
Submitted by marcin on Tue 22-Mar-2022

polski
polski blog
salon24.pl
Apple
x86



Gdy byłem mniejszy, na rynku procesorów x86 można było wymienić wiele firm, takich jak Intel, AMD, VIA, Cyrix, Centaur Technology, Transmeta, IBM, NexGen, NEC, UMC, SiS, Ali czy nVidia (lista za Wikipedią, ale były też inne). Klony kolejnych układów do zastosowań wbudowanych produkowano chociażby w Rosji (K1810WM86), ale nie tylko.

Część z wymienionych firm przejęto, a w świadomości typowego użytkownika pozostał jedynie Intel i AMD. Przez lata serwowano nam coraz szybsze maszyny, ale… z wielką ilością zakalców, albo „dodatków” świadczących o możliwości „nadzorowania” przez „właściwego” wielkiego brata.

Apple z procesorem M1 zmieniło trochę układ rynku, i zaistniało jako firma, która nie tylko potrafi wprowadzić układ lepszy, ale również doskonale radzący sobie z uruchamianiem aplikacji napisanych dla x86. Jeśli porównamy to do prób Microsoftu, różnica jest ogromna, i nie ma co tu dyskutować (oczywiście można tu się rozwodzić na tym, czy próby producenta okienek spełzły na niczym z uwagi na wewnętrzne sabotowanie tej koncepcji, czy przez sojusz z Qualcomm, ale nie o tym chciałbym teraz mówić).

Obecnie słyszymy, że najnowszy sprzęt jabłeczników z M1 Ultra w cenie > 10000 PLN jest w stanie dogonić albo przegonić tandem najszybsze x86 + Nvidia RTX 3090. Trochę w tym marketingu, co pokazały wyniki benchmarków (prawda o lepszych wynikach wygląda trochę inaczej w rzeczywistości niż na papierze), ale faktem jest to, że układ SoC z mniej więcej 114 miliardami tranzystorów nadal jest… inżyniersko imponujący.

I teraz zastanówmy się nad jednym – z jednego monopolu wchodzimy w inny (oczywiście, że firma z Cuppertino jeszcze nie ma dużej części rynku, ale myślę, że ją zdobędzie), a ludzie się cieszą, że być może kolejne uaktualnienia jeszcze poprawią wydajność, i że komputer „w końcu” zrobiony jest jak należy (co śmieszy, bo przy tej objętości nie można podłączyć najmarniejszego dysku twardego ze złączem .M2). Jak się kończą monopole, to wszyscy wiedzą… mnie martwi to, że przy wzroście znaczenia techniki komputerowej coraz więcej ludzi będzie miało poważny problem, gdy zmuszeni zostaną do pracy z odblaskowymi ekranami.

Z rzeczy mniej ważnych – nie spodziewałbym się, że w najbliższych latach pojawi się nowy system operacyjny… przyczyny są różnorakie, poczynając od zgodności z obecnym oprogramowaniem (która jest kulą u nogi), na pieniądzach skończywszy, ale nie tylko.

Jak mnie przez lata uczono, obecny kod działa w trybie użytkownika (małe uprawnienia) albo jądra (nieograniczone możliwości). W tym najbardziej klasycznym rozwiązaniu, gdy proces użytkownika chce poprosić o coś jądro, to musi wywołać przerwanie, a to powoduje tzw. przełączenie kontekstu, czyli zapisanie stanu procesu użytkownika i odtworzenie stanu procesu jądra. Zajmuje to oczywiście jakiś czas i pewne zasoby, i w systemach operacyjnych próbowano zminimalizować narzut z tym związany poprzez przeniesienie tylu funkcjonalności ile się da do trybu użytkownika (w mikrojądrze sterowniki działają w tym trybie), co niestety nie do końca się udało.

W typowym laptopie mamy pomiędzy cztery, a dwanaście rdzeni procesora. I tak się zastanawiam, że w obecnych architekturach sprzętowych generalnie ciężko jest tak rozłożyć zasoby, żeby różne elementy związane z przełączaniem kontekstu były błyskawiczne. Puśćmy wodze fantazji – gdyby jeden rdzeń był wyłącznie na jądro, a reszta na procesy użytkownika, i gdyby sprzęt ukierunkowany był na to, żeby nie używać stosów z rejestrami i podobnych rzeczy, o ile wszystko byłoby łatwiejsze i bezpieczniejsze… (w tym miejscu nadmienię, że nie analizowałem ARM, gdzie być może częściowo tak jest).

Jeżeli więc mówimy o monopolach – różne czynniki powodują, że nie spodziewałbym się wielkich zmian w obszarze IT, a wojna na Ukrainie dodatkowo pogłębia ten problem. Weźmy przykład nieszczęsnego Kasperskiego. Firma podobnie jak Huawei była i jest podejrzewana o współpracę z rządem (a nawet, gdyby nie, to używanie jej produktów dzisiaj może być co najmniej dyskusyjne), niemniej jednak dostarczała całkiem zmyślne pakiety. Przykładowo taki firewall jasno pokazywał, który port łączy się z którym, a GUI jasno informował użytkownika również o wszystkich próbach połączeń. Tak dla sportu wypróbowałem ostatnio kilka pakietów uznanych firm. I co? Nawet w tak podstawowej funkcjonalności mamy tragedię – firewall albo nie odnotowuje prób połączeń, ale informacje są nieczytelne, albo, albo, albo… A RAR? Far-Manager? A kiedyś PTS-DOS? A Tetris? Bez tych i innych produktów świat nie byłby tak pełny. A tak mamy monopole, i pewnie będziemy mieć jeszcze więcej (negatywnie na wszystko wpłynie też obecność możliwego piractwa w Rosji i odłączenie jej od światowego internetu).