Ostatnio przydzielono mi czytanie z debat Tanenbaum-Torvalds w mojej klasie OS. W debatach Tanenbaum dokonuje pewnych prognoz:
- Mikrojądra to przyszłość
- x86 wymrze, a architektury RISC zdominują rynek
- (Za 5 lat) wszyscy będą korzystać z bezpłatnego systemu operacyjnego GNU
Miałem rok, kiedy miały miejsce debaty, więc brakuje mi intuicji historycznej. Dlaczego te prognozy nie zostały sprawdzone? Wydaje mi się, że z punktu widzenia Tanenbauma są to całkiem rozsądne prognozy na przyszłość. Co się stało, że się nie spełniły?
Linus "my first, and hopefully last flamefest" Torvalds
który oczywiście również się nie spełnił :)Odpowiedzi:
Mikrojądra to przyszłość
Myślę, że Linus w swojej debacie zwrócił uwagę na jądra monolityczne. Z pewnością niektóre wnioski wyciągnięte z badań mikrojądra zostały zastosowane do jąder monolitycznych. Microsoft czasami twierdził, że jądro Win32 jest architekturą mikrojądra. To trochę rozciąga się, gdy spojrzysz na niektóre mikrokernele podręcznika, ale twierdzenia miały techniczne uzasadnienie.
x86 wymrze, a architektury RISC zdominują rynek
Jeśli tworzysz kopię zapasową z komputerów stacjonarnych i serwerów, RISC dominuje na rynku procesorów pod każdym względem. ARM (R oznacza RISC) wyprzedza liczbę procesorów x86, jest w użyciu więcej procesorów ARM niż procesorów x86 i jest większa łączna moc obliczeniowa ARM niż pojemność obliczeniowa x86. W tym roku pojedynczy dostawca ARM (tak, Apple) może sprzedać łącznie wszystkich dostawców x86. Tylko w obszarze pulpitu i serwera dominuje x86. Tak długo, jak Windows jest dominującą platformą dla komputerów stacjonarnych i Linux dla serwerów, będzie to prawdopodobnie trwało przez jakiś czas.
Jest w tym również część b . Inżynierowie Intela wykonali niesamowitą pracę, aby wycisnąć życie z zestawu instrukcji, nawet do rdzenia RISC z translatorem opcode, który znajduje się na górze. Porównaj z jednym z dominujących producentów procesorów do komputerów stacjonarnych RISC, IBM, który nie mógł uzyskać energooszczędnej i wysokiej wydajności G5 dla laptopów Apple w rozsądnym czasie.
(Za 5 lat) wszyscy będą korzystać z bezpłatnego systemu operacyjnego GNU
Myślę, że różni dostawcy systemów operacyjnych nadal oferują atrakcyjne oferty wartości w swoich systemach operacyjnych. GNU niekoniecznie jest najważniejszym graczem w społeczności Open Source, więc nawet bardziej rozpowszechnione przyjęcie oprogramowania open source niekoniecznie przekłada się na systemy GNU. Jednak istnieje wiele rzeczy GNU (na przykład wszystkie komputery Mac są dostarczane z GNU Bash . Prawdopodobnie jest kilka narzędzi systemu GNU na telefony z Androidem). Myślę, że ekosystem komputerowy jest znacznie bardziej zróżnicowany niż przewidział Tanenbaum, nawet jeśli ograniczysz swój widok do komputerów stacjonarnych.
źródło
Eksperci oprogramowania zignorowali ekonomię sprzętu
... lub „Moore miał rację i obaj się mylili”
Najważniejszą rzeczą, która została przeoczona w tej debacie, był wpływ technologii wytwarzania procesorów i ekonomii, napędzany przez zmniejszające się rozmiary tranzystorów wyrażone w prawie Moore'a (nic dziwnego, jakby wiedzieli dużo o sprzęcie CPU, ci faceci studiowali i dyskutowali o oprogramowaniu, a nie Produkcja procesora lub ekonomia). Stałe koszty produkcji amortyzowane przez procesory (np. Projekt ISA, projekt procesora i urządzenia produkcyjne procesora) gwałtownie wzrosły, zwiększając w ten sposób korzyści skali; przy spadających jednostkowych kosztach procesora (w kategoriach „huk za złotówkę” i „huk za wat”), koszt procesora nie musi być amortyzowany w związku z tak szerokim wyborem funkcji, aby zapewnić wartość, więc przetwarzanie w produktach ze stałą funkcją wybuchł; Budżety tranzystorów CPU wzrosły wykładniczo,
1. Skala procesora wygrywa nad różnorodnością procesora
Znaczenie ekonomii skali sprawiło, że zalety ISA / CPU ukierunkowane na większy (a więc szerszy) rynek przewyższają potencjalne korzyści wynikające z wyborów projektowych, które zawężają rynek dla ISA / CPU. Systemy operacyjne mogą obsługiwać coraz większą część rynku na obsługiwany ISA / CPU, więc nie ma potrzeby (lub nawet nie ma potrzeby) wykonywania ćwiczeń związanych z przenoszeniem, aby umożliwić rozwój ekosystemu systemu operacyjnego. Domeny problemowe Cel ISA i procesora jest zwykle tak szeroki, że w większości się pokrywają, więc w przypadku każdego oprogramowania poza kompilatorem zmniejszyły się również rozmiary ćwiczeń związanych z przenoszeniem. Prawdopodobnie zarówno Torvalds , jak i Tanenbaumprzecenił część projektu i implementacji jądra, która teraz musi być ISA, a nawet specyficzna dla CPU. Jak opisał Tanenbaum, współczesne jądra systemu operacyjnego wyodrębniają różnice między procesorami i procesorami ISA. Jednak kod specyficzny dla CPU / ISA we współczesnych systemach operacyjnych jest znacznie mniejszy niż mikrojądro. Zamiast implementować obsługę przerwań / planowanie, zarządzanie pamięcią, komunikację i operacje we / wy, te nieprzenośne bity odnoszą się tylko do niewielkiej części implementacji tych usług, przy czym znaczna większość architektury nawet tych podstawowych funkcji systemu operacyjnego jest przenośna.
2. Open Source wygrał bitwę, ale przegrał wojnę
Większy zysk za złotówkę oznacza, że większy udział w przetwarzaniu danych mają produkty o stałej funkcji, w których możliwość modyfikacji produktu nie jest częścią oferty wartości dla klienta. Jak na ironię, oprogramowanie open source rozkwitło w tych urządzeniach o stałej funkcji, ale najczęściej korzyści płynące z tych swobód są realizowane raczej przez twórców produktów, a nie przez użytkowników końcowych (co było prawdą nawet na rynku oprogramowania jeszcze wtedy: Microsoft był dużym konsumentem oprogramowania typu open source, ale ich klienci nie). Podobnie można argumentować, że open source boryka się z większymi problemami z pulpitem ogólnego przeznaczenia niż gdziekolwiek indziej, ale wraz z rozwojem sieci i przetwarzania w chmurze, komputery stacjonarne są coraz częściej wykorzystywane w węższym celu (przede wszystkim w przeglądarce), z pozostałymi funkcjami działającymi w chmurze (jak na ironię, głównie na platformach open source). W skrócie: open source naprawdę posiada przestrzeń obliczeniową ogólnego przeznaczenia, ale rynek stał się bardziej wyrafinowany; przetwarzanie opakowań produktów komputerowych rzadziej zatrzymuje się na funkcji ogólnego przeznaczenia, ale jest kontynuowane wraz z produktem przeznaczonym do stałych funkcji, w których znaczna część zalet przetwarzania otwartego oprogramowania stoi w sprzeczności z celami produktu.
3. 2 n Środki wzrostu Stałe k Oszczędności nie są ważne
Gwałtowny wzrost budżetów tranzystorów przyniósł ze sobą świadomość, że koszt budżetu tranzystorów architektury CISC jest prawie całkowicie ustalony. Strategiczną zaletą RISC było przeniesienie złożoności z zestawu instrukcji procesora do kompilatora (bez wątpienia częściowo motywowane faktem, że autorzy kompilatorów czerpali znacznie mniej korzyści ze złożonych ISA niż twórcy kodujący w asemblerze, ale kompilatory mogą znacznie łatwiej zrozumieć matematycznie o prostym ISA, a zatem wykorzystującym); wynikające z tego oszczędności tranzystora można by następnie zastosować do poprawy wydajności procesora. Zastrzeżenie polegało na tym, że oszczędności budżetowe na tranzystorach wynikające z prostszego ISA zostały w większości naprawione (a narzuty w projektowaniu kompilatorów również zostały w większości naprawione). Chociaż ten stały wpływ był ogromną częścią budżetu w ciągu dnia, jak można sobie wyobrazić, potrzeba tylko kilku rund wykładniczego wzrostu, aby wpływ stał się trywialny. Ten gwałtownie malejący wpływ w połączeniu z wyżej wspomnianym gwałtownie rosnącym znaczeniem monokultury procesora oznaczał bardzo małe okno możliwości dla każdego nowego ISA. Nawet tam, gdzie nowe ISA odniosły sukces, współczesne ISA „RISC” nie są ortogonalnymi ISA opisanymi w strategii RISC, ponieważ dalszy wzrost budżetów tranzystorów i szersze zastosowanie przetwarzania SIMD w szczególności zachęciło do przyjęcia nowych instrukcji dostosowanych do określonych funkcji. Ten gwałtownie malejący wpływ w połączeniu z wyżej wspomnianym gwałtownie rosnącym znaczeniem monokultury procesora oznaczał bardzo małe okno możliwości dla każdego nowego ISA. Nawet tam, gdzie nowe ISA odniosły sukces, współczesne ISA „RISC” nie są ortogonalnymi ISA opisanymi w strategii RISC, ponieważ dalszy wzrost budżetów tranzystorów i szersze zastosowanie przetwarzania SIMD w szczególności zachęciło do przyjęcia nowych instrukcji dostosowanych do określonych funkcji. Ten gwałtownie malejący wpływ w połączeniu z wyżej wspomnianym gwałtownie rosnącym znaczeniem monokultury procesora oznaczał bardzo małe okno możliwości dla każdego nowego ISA. Nawet tam, gdzie nowe ISA odniosły sukces, współczesne ISA „RISC” nie są ortogonalnymi ISA opisanymi w strategii RISC, ponieważ dalszy wzrost budżetów tranzystorów i szersze zastosowanie przetwarzania SIMD w szczególności zachęciło do przyjęcia nowych instrukcji dostosowanych do określonych funkcji.
4. Proste: rozdzielenie obaw. Complex: Separacja przestrzeni adresowej.
Nowoczesne jądro Linuksa (podobnie jak większość innych jąder) pasuje raczej do luźnej definicji makrokernela, a nie do wąskiej definicji mikrojądra. To powiedziawszy, ze swoją architekturą sterowników, dynamicznie ładowanymi modułami i optymalizacjami wieloprocesowymi, które sprawiają, że komunikacja w przestrzeni jądra coraz bardziej przypomina przekazywanie wiadomości mikrojądra, jego struktura bardziej przypomina projekt mikrojądra (wcielony przez Minix) niż projekt makrokernela (wcielony w projekt Linuksa w czasie dyskusji). Podobnie jak konstrukcja mikrojądra, jądro Linuksa zapewnia uogólnioną komunikację, planowanie, obsługę przerwań i zarządzanie pamięcią dla wszystkich innych składników systemu operacyjnego; jego komponenty mają zwykle odrębne struktury kodu i danych. Podczas gdy moduły są ładowane dynamicznie, luźno połączone fragmenty przenośnego kodu, które komunikują się za pośrednictwem stałych interfejsów, nie wykorzystują jednej pozostałej właściwości mikrojądra: nie są to procesy w przestrzeni użytkownika. Ostatecznie prawo Moore'a zapewniło, że problemy motywowane problemami sprzętowymi, takimi jak przenośność (problem Tanenbauma) i wydajność (problem Torvaldsa) zmniejszyły się, ale problemy z programowaniem stały się niezwykle ważne. Pozostałe niezrealizowane zalety, jakie może zapewnić separacja przestrzeni adresowej, są przeważone przez dodatkowy bagaż nałożony na oprogramowanie systemu operacyjnego z powodu ograniczeń projektowych i zwiększonej złożoności interfejsów komponentów. Prawo zapewniło, że problemy motywowane problemami sprzętowymi, takimi jak przenośność (problem Tanenbauma) i wydajność (problem Torvaldsa) zmniejszyły się, ale problemy z programowaniem stały się niezwykle ważne. Pozostałe niezrealizowane zalety, jakie może zapewnić separacja przestrzeni adresowej, są przeważone przez dodatkowy bagaż nałożony na oprogramowanie systemu operacyjnego z powodu ograniczeń projektowych i zwiększonej złożoności interfejsów komponentów. Prawo zapewniło, że problemy motywowane problemami sprzętowymi, takimi jak przenośność (problem Tanenbauma) i wydajność (problem Torvaldsa) zmniejszyły się, ale problemy z programowaniem stały się niezwykle ważne. Pozostałe niezrealizowane zalety, jakie może zapewnić separacja przestrzeni adresowej, są przeważone przez dodatkowy bagaż nałożony na oprogramowanie systemu operacyjnego z powodu ograniczeń projektowych i zwiększonej złożoności interfejsów komponentów.
Co ciekawe, co ma być silna tendencja jest pojawienie hypervisor, która podobnie jak mikrojądro Abstracts się sprzętu. Niektórzy twierdzą, że hiperwizory są mikrojądrami. Architektura hiperwizora jest inna, ponieważ obowiązki przeznaczone do mikrokerneli są obsługiwane przez jądra „gościa” siedzące na szczycie, z multipleksami hiperwizorów między nimi, a abstrakcja hiperwizora nie jest ogólną komunikacją i przestrzenią adresową pamięci, ale przede wszystkim faktyczną emulacją sprzętu.
Podsumowując: przyszłość sprzyja tym, którzy przyjmą najmniej surową semantykę
* .. lub „nitpickers do bani przewidywania przyszłości”
W praktyce wiele poprawności / zła w debacie jest kwestią semantyki (i było to częścią argumentów Torvaldsa, a IMHO Tanenbaum nie docenił w pełni). Trudno jest precyzyjnie zdefiniować przyszłość, ponieważ istnieje tak wiele czynników poza argumentem, które mogą się pojawić; luźniejsza semantyka oznacza, że twoje przewidywania są większym celem na tarczy niż w przeciwniku, co daje ci o wiele większe szanse. Jeśli zignorujesz semantykę, argumenty wysunięte zarówno przez Torvaldsa, jak i Tanenbauma miały rację co do wielu rzeczy, a błędne bardzo niewiele.
tl; dr
Większość ISA nie pasuje do semantycznej definicji RISC, ale wykorzystuje większość zalet projektowych charakterystycznych dla procesorów RISC w tym czasie; ilość systemu operacyjnego zależna od CPU jest mniejsza niż oczekiwano Tanenbaum, nie mówiąc już o Torvalds; open source dominuje w komputerach ogólnego zastosowania, ale konsumenci tego rynku to teraz głównie ci, którzy pakują komputery w produkty o stałej funkcji, w których znaczna część korzyści z oprogramowania open source nie jest realizowana; oddzielenie funkcji systemu operacyjnego między przestrzeniami adresowymi nie okazało się korzystne, ale oddzielenie funkcji systemu operacyjnego od „wirtualnego” sprzętu ma. Jeśli chcesz twierdzić, że twoje przewidywania okazały się słuszne, zostaw sobie tyle semantycznego pokoju manewrowego, jak to możliwe, tak jak pan Torvalds.
PS Ostatnia ironiczna obserwacja: Linus Torvalds jest jednym z najsilniejszych zwolenników utrzymywania jak największej liczby nowych funkcji w przestrzeni użytkownika i poza jądrem Linuksa.
źródło
Popełnił błąd, wygląda na to, że wszystko zmierza do użycia hybrydowych jąder. Linux formalnie nadal jest monolityczny, ale dodawanie takich rzeczy jak FUSE itp. Sprawia, że wygląda trochę hybrydowo.
Ok, więc x86 nie wymarł. Ale czy RISC nie dominuje na rynku? Miliardy smartfonów korzystających z ARM, wszystkie konsole do gier korzystające z procesorów RISC, większość urządzeń sieciowych z procesorami MIPS.
Poza tym na początku lat 2000. RISC i CISC zbiegły się tak bardzo, że nie było wyraźnych różnic w wewnętrznym projekcie. Nowoczesne procesory x86 są w zasadzie wewnętrznie RISC z interfejsem CISC.
Jeśli przez GNU OS miał na myśli GNU Hurda, to rzeczywiście całkowicie nieudana prognoza. To, co ludzie masowo wykorzystują, to system Android. Android to Linux, jednak nie jest to GNU, ponieważ nie używa GNU libc. Zamiast tego używa własnego Googleion Bionic . A udział w rynku standardowego Linux-a na komputery stacjonarne jest nadal poniżej 2%. Ale czy naprawdę miał na myśli komputery osobiste? Na rynku serwerów Linux absolutnie dominuje z 70-90% udziałem w zależności od segmentu.
źródło
Niepewny.
W połowie racja. Dzisiejsze układy „x86” to RISC pod maską, w zasadzie „interfejs CISC”. x86 nie umarł, ponieważ Intel miał wystarczający udział w rynku i wystarczające przychody, aby dokonać tej zmiany i uzyskać ją tuż przed tym, jak inne rozwiązania RISC uzyskają od nich znaczny udział w rynku.
Dwa główne powody: kompatybilność i użyteczność.
Ponownie, istniejące systemy (Windows i, w mniejszym stopniu Mac OS) mają bardzo dużą zainstalowaną bazę. Oznacza to, że wielu użytkowników korzysta z wielu programów. Darmowe systemy GNU nie mogą tego powielić. Projekt WINE wykonał wiele pracy w tym kierunku, ale nadal nie zastępuje on prawdziwego systemu Windows, a programiści WINE nawet nie twierdzą, że tak jest. Ludzie nie chcą używać systemu operacyjnego, który nie uruchamia ulubionych programów, bez względu na to, jak teoretycznie jest niesamowity. (I bez zainstalowanej bazy użytkowników nikt nie chce tworzyć systemu. Jest to problem z kurczakiem i jajkiem).
A potem dochodzimy do użyteczności. Moja mama ma system Windows. Potrafi dobrze to wykorzystać do swoich celów. Wszystko, czego potrzebuje do pracy ze swoim komputerem, jest dostępne z interfejsu Windows, a gdybym powiedział jej słowa „linia poleceń”, nie wiedziałaby nawet o czym mówię. O ile mi wiadomo, nadal nie można tego zrobić w żadnym wolnym systemie GNU. W rzeczywistości Linux jest tak trudny do pracy, że nawet najwięksi półbogowie społeczności mają czasem poważne problemy z prostymi zadaniami. I nigdy nie wydają się „dostać” i pracować nad rozwiązaniem problemów, dlatego nigdy nie zdobywają udziału w rynku. (Powiązany artykuł powinien być konieczny do przeczytania dla każdego, kto kiedykolwiek próbuje stworzyć program na rynku masowym!)
źródło
Myślę, że istnieje kilka powodów, które są dość poważne, ale nie zostały wspomniane.
Pierwszym z nich jest raczej ślepe założenie Tanenbauma, że techniczna przewaga doprowadziłaby do dominacji na rynku. Ludzie od lat kłócą się o to, czy mikrokernele (nanokernele, pikokernele itp.) Są technicznie lepsze, ale na razie załóżmy, że są. Nadal pozostaje nam pytanie, czy ta techniczna przewaga prawdopodobnie przełoży się na dominację na rynku. Zakładam, że tak nie jest. Dla większości ludzi Windows, Mac OS itp. Są wystarczająco dobre. Co gorsza, ulepszenia, które miałyby znaczącą różnicę dla większości użytkowników, dotyczyłyby interfejsu użytkownika, a nie jądra.
Drugi to drastycznie zawyżone tempo zmian na (rozsądnie) dojrzałym rynku. Łatwo jest szybko zmieniać rzeczy, gdy masz nowy rynek. Aby zasadniczo wszyscy zmienili się w ciągu pięciu lat, migracja musiałaby odbywać się z pełną prędkością, nawet tak, jak to przewidział.
Chciałbym też zauważyć inny sposób, w jaki miał rację, o którym nie wspomniałem. Ludzie już zauważyli wszechobecność RISC (np. W telefonach komórkowych). Nie wspomnieli o wszechobecności tego, co nazwałbym „microkernel 2.0”. Obecnie jest to bardziej znane jako „maszyna wirtualna” lub „hypervisor”. Jednak tak naprawdę są to mikrojądra.
Duża różnica polega na tym, że Tanenbaum pomyślał w kategoriach mikrojądra i emulacji systemu operacyjnego w trybie użytkownika, które zostały zaprojektowane specjalnie dla siebie. Zamiast tego utrzymaliśmy system operacyjny zasadniczo niezmieniony i dostosowaliśmy mikrojądro do działania w niezmienionej postaci. Z technicznego punktu widzenia nie jest to tak miłe, ale z punktu widzenia rynku jest znacznie lepsze - zamiast całkowicie nowego systemu od góry do dołu użytkownik może nadal korzystać z większości swojego istniejącego kodu i dodawać nowy „narzędzie”, które tak naprawdę jest systemem operacyjnym mikrojądra.
źródło
Jednym z głównych powodów był system Windows, zwłaszcza Windows 3.1, a nieco później Windows 95 i NT 3.51. Konsumenci szczególnie lubili interfejsy GUI, w przeciwieństwie do starych systemów tekstowych Unix i DOS. Oznaczało to, że więcej przeciętnych ludzi kupowałoby komputery do użytku domowego. Również eksplozja Internetu w połowie lat 90-tych spowodowała wzrost sprzedaży.
Ceny komputerów spadały również w latach 90., aż doszły do punktu, w którym są dzisiaj. Było to spowodowane korzyściami skali wynikającymi ze wzrostu popytu ze strony konsumentów i przedsiębiorstw. Na przykład wszystkie pięć moich obecnych komputerów kosztuje mniej łącznie niż ten, który kupiłem w roku 486 w 1992 roku.
W pewnym sensie może mieć rację, ale w nieoczekiwanym kierunku. Wzrost liczby urządzeń mobilnych, smartfonów i tabletów częściowo spowodował uproszczenie systemów operacyjnych i może zmniejszyć popularność x86. Jednak wykraczają daleko poza to, co przewidywano w 1992 roku.
źródło
Ostatecznie wszystko sprowadza się do tego, że rzeczy tak naprawdę nie lubią się zmieniać.
Nie przeprowadziliśmy migracji do lepiej zaprojektowanego mikrojądra, ponieważ monolityczne były łatwiejsze do utworzenia, działały szybciej i wszyscy wiedzieli, jak je zbudować. Ponieważ Linux został opracowany jako monolityczne jądro i stał się popularny, nie było mikrokerneli, które osiągnęłyby wystarczający sukces do startu. (to trochę tak samo z tego samego powodu, dla którego wszyscy używamy systemu Windows, korzystamy z systemu Windows, ponieważ wszyscy korzystają z systemu Windows)
RISC, inni zauważyli, że x86 jest obecnie prawie architekturą RISC, z opakowaniem CISC na górze dla kompatybilności wstecznej.
Wiele osób korzysta z darmowego systemu GNU - na serwerze. Sieć jest w dużej mierze przez nią napędzana. Nikt nie zauważa, ponieważ wszyscy klienci mają system Windows. W tamtych czasach miałeś wybór: Linux wciąż był bardzo hobby; smak Uniksa, ale nie było go stać na jego zakup; lub tani n wesoły Windows. Linux zajął zbyt dużo czasu, aby zastąpić Unixa, i wciąż nie ma wystarczająco atrakcyjnego rozwiązania do działania na pulpicie (częściowo z powodu ideologicznych problemów z różnymi systemami Windows, binarnymi sterownikami graficznymi i braku stabilnego ABI). Radzi sobie raczej dobrze na innych rynkach komputerów stacjonarnych, takich jak urządzenia wbudowane i mobilne.
źródło
Wszystkie są prawdziwe, jeśli nie uważasz, że komputer jest czymś na pulpicie.
To prawda, że mikrojądra nigdy nie działały, ponieważ nigdy nie były wystarczająco mikro. Jeśli cały zredukowany osadzony linux jest mniejszy niż specyficzny dla x86 bit jądra MACH, czy kwestia mikrojądra jest odpowiednia?
RISC dominuje na rynku. Coraz więcej procesorów ARM jest sprzedawanych każdego roku niż procesorów X86. Prawdopodobnie nigdy nie jesteś więcej niż 6 stóp od procesora ARM.
Prawie wszyscy używają Linuksa, są na swoim routerze, telewizorze, Tivo i telefonie z Androidem - po prostu nie wiedzą, że mają system operacyjny
źródło
1) Mylił się w mikrojądrach. W moim rozumieniu potrzeba prędkości wymaga prześcignięcia w rozwiązywaniu problemów wymuszonych w mikrojądrach, przynajmniej w jądrze Linuksa.
2) Dominującą architekturą w tabletach i telefonach komórkowych jest ARM, który jest zestawem instrukcji RISC. Nawet system Windows został przeniesiony.
3) Każdy nie ma wolnego systemu GNU. Wynika to przede wszystkim z patentów i kompatybilności wstecznej. Ci, którzy nie chcą systemu Windows, często wybierają OS X.
źródło
1. Mikrokernele zawiodły
Z powodów, które Linus Torvalds stwierdził, że na papierze wygląda teoretycznie atrakcyjnie, ale we wdrażaniu na nowoczesnych systemach - które są bardzo złożonymi systemami - złożoność staje się wykładniczo niemożliwa do zarządzania. Studium przypadku to GNU Hurd, w pełni mikrojądrowy system, który nie osiągnął nawet podstawowych funkcji. Mac OS X jest podobny do struktury Hurda i jest to najmniej stabilny i najbardziej ograniczony system operacyjny.
2. Architektura procesora
Stało się to zróżnicowane w zależności od różnych zastosowań. Jedna architektura procesora nie dominowała, ponieważ przypadki użycia wbudowanego, mobilnego, stacjonarnego, serwera itp. Są różne i wymagają różnych podejść. Tannenbaum nie zauważył tej dywersyfikacji.
3. GNU vs. Świat?
GNU nie dominowało, ale Linux na serwerze, wbudowanym i mobilnym. Tablety i telefony Apple mają system iOS, który jest po prostu starym Uniksem. Dokładne statystyki są trudne do zdobycia dla wdrożeń Linuksa na komputerze, ponieważ nie ma prawdziwego mechanizmu podstawowego - sprzedaży jednostek - który z pewnością może dać dokładną wartość. Większość wdrożeń Linuksa na pulpicie jest czasami rejestrowanych jako wdrożenia Windows, ponieważ użytkownicy kupują system Windows, a następnie piszą o nim w systemie Linux. Jednak jeśli segmentujesz systemy operacyjne, Linux ma około 5-6% na komputerze stacjonarnym, zgodnie z http://www.w3schools.com/browsers/browsers_os.asp, a liczba ta jest równa liczbie użytkowników systemu Windows Vista na całym świecie, co jest bardzo znaczące .
Na podstawie moich własnych szacunków z różnych źródeł wydaje się, że Linux na pulpicie może być faktycznie równy liczbie użytkowników Windows XP - około 25% - jeśli weźmie się pod uwagę kraje niezachodnie, takie jak Chiny i Indie, w których Linux jest bardziej popularny niż w USA lub UE, ale które mogą nie zostać uwzględnione w zachodnich statystykach, ponieważ liczą tylko ruch do anglojęzycznych stron internetowych skierowanych do ludzi Zachodu.
W Indiach większość studentów używa Ubuntu lub Fedory, ponieważ jest to domyślny system operacyjny indyjskich systemów edukacyjnych i słynnych IIT. Większość indyjskich urzędów rządowych również używa Linuksa. W Chinach Red Flag Linux jest oficjalnym systemem operacyjnym chińskiego rządu i systemów szkolnych - Academies of Arts and Sciences - i jest zalecanym systemem operacyjnym w Chinach przez państwowe media jako próbę powstrzymania młodych zubożałych Chińczyków przed użyciem pirackich kopii systemu Windows. Jeśli policzysz użycie Linuksa w Indiach i Chinach, zaszokowałoby to większość zachodnich ekspertów technicznych i radykalnie zmieniłoby postrzeganie prawdziwej dominacji pulpitu Linux w niezachodnich krajach rozwijających się, w których dominuje.
źródło
Produkcja stała się tańsza, x86 zbliżyło się do ceny RISC, więc jego użycie było już niewykonalne. Wystąpił także problem drobnego dostawcy.
źródło
źródło
To zależy od tego, jak postrzegasz i definiujesz przyszłość, w tradycyjnym znaczeniu jego przewidywania zawiodły.
Jednak czas jeszcze się nie skończył (na bok kolejna głębsza dyskusja) .
Zatem rzeczy mogą się jeszcze zmienić:
Mikrokernele lub jakiś wariant może powrócić
RISC / ARM może dominować -> tablety / telefony komórkowe
Za 10 lub 15 lat. Kto wie, open source powoli zmienia świat…
źródło
Dla 2: Zestaw instrukcji CISIC ma dużą zaletę: jest bardziej kompaktowy, jak skompresowany kod maszynowy. Obecnie dekodowanie instrukcji CISC do mikrooperacji jest bardzo tanie i dostęp do pamięci RAM jest bardzo drogi. CISC ma więc tę zaletę, że wypycha więcej kodu w pamięci podręcznej L1 / L2 / L3
źródło
Pamiętam czas - i czas, który go poprzedzał. Nie wiem o mikrojądrach, ale
2) Pomysł RISC miał dwie nogi: optymalizacje oprogramowania można wykonać lepiej w oprogramowaniu niż w sprzęcie oraz że ekonomicznie można wykonać układy RISC, które były szybsze niż układy CISC.
Oba pomysły okazały się w krótkim okresie fałszywe. Intel mógł i zrobił chipy CISC, które taktowały instrukcje szybciej niż konkurencyjne chipy RISC, w konkurencyjnej cenie. Intel mógł i zrobił chipy CISC, które lepiej optymalizują program sprzętowo niż w kompilatorze lub w nadzorcy środowiska wykonawczego oprogramowania - a do tego można dodać dowolną optymalizację oprogramowania, podobnie jak w przypadku Układ RISC.
3) Informatyka, programowanie i operacje zostały całkowicie ponownie wynalezione 4 razy w mojej karierze. Od głównej ramy do komputera. Z wiersza poleceń do GUI. Od GUI do Internetu. Z Internetu na iPada. Rewolucja wydaje się teraz normalna, ale NIE PRZEWIDZIŁEM SIĘ, ŻE. Jak wszyscy starsi programiści w tym czasie, przepowiadał „koniec historii”.
Bardzo niewiele osób korzystało z systemu GNU w ciągu pięciu lat, ponieważ licznik wznowił się.
Być może nadal się dzieje. 5 lat temu można było przewidzieć, że nasz Windows Server zostanie zastąpiony przez serwery * nix (jak piszę, SAMBA wydała AD Domain Server, który był brakującym elementem układanki). To się nie stanie tam, gdzie pracuję: nie będziemy mieć żadnych lokalnych serwerów.
źródło