Ich wurde kürzlich beauftragt, in meiner OS-Klasse aus den Tanenbaum-Torvalds-Debatten zu lesen . In den Debatten macht Tanenbaum einige Vorhersagen:
- Mikrokerne sind die Zukunft
- x86 wird aussterben und RISC-Architekturen werden den Markt dominieren
- (In 5 Jahren) wird jeder ein kostenloses GNU-Betriebssystem ausführen
Ich war ein Jahr alt, als die Debatten stattfanden, daher fehlt mir die historische Intuition. Warum haben sich diese Vorhersagen nicht geändert? Aus Tanenbaums Sicht scheinen sie mir ziemlich vernünftige Vorhersagen für die Zukunft zu sein. Was ist passiert, damit sie nicht eintraten?
Linus "my first, and hopefully last flamefest" Torvalds
die offensichtlich auch nicht in Erfüllung gegangen ist :)Antworten:
Mikrokerne sind die Zukunft
Ich denke, Linus hat in seiner Debatte die Punkte in Bezug auf monolithische Kerne getroffen. Gewiss wurden einige Erkenntnisse aus der Mikrokernforschung auf monolithische Kernel übertragen. Microsoft behauptete manchmal, der Win32- Kernel sei eine Mikrokernel-Architektur. Wenn man sich ein paar Lehrbuch-Mikrokerne ansieht, ist das ein bisschen schwierig, aber die Behauptungen hatten eine technische Begründung.
x86 wird aussterben und RISC-Architekturen werden den Markt dominieren
Wenn Sie von Desktops und Servern sichern, dominiert RISC den Prozessormarkt in jeder Hinsicht. ARM (R steht für RISC) übertrifft x86 in der Anzahl der Prozessoren, es werden mehr ARM-Prozessoren als x86-Prozessoren verwendet, und es gibt insgesamt mehr ARM-Rechenkapazität als x86-Rechenkapazität. In diesem Jahr wird ein einzelner ARM-Anbieter (ja, Apple) möglicherweise alle x86-Anbieter zusammen überbieten. Nur auf dem Desktop und auf dem Server dominiert x86. Solange Windows die dominierende Plattform für Desktop-Computer und Linux für Server ist, wird dies wahrscheinlich noch eine Weile so bleiben.
Es gibt auch einen Teil b dazu. Die Ingenieure von Intel haben großartige Arbeit geleistet, um das Leben aus ihrem Befehlssatz herauszuholen, und sogar, um einen RISC-Kern mit einem Opcode-Übersetzer zu erstellen, der sich an der Spitze befindet. Vergleichen Sie mit IBM, einem der führenden Hersteller von RISC-Desktop-Chips, der in vertretbarem Zeitrahmen keinen stromsparenden und leistungsstarken G5 für Apple-Laptops erhalten konnte.
(In 5 Jahren) wird jeder ein kostenloses GNU-Betriebssystem ausführen
Ich denke, die verschiedenen Betriebssystemanbieter bieten immer noch überzeugende Wertversprechen für ihre Betriebssysteme. GNU ist nicht unbedingt der wichtigste Akteur in der Open-Source-Community, weshalb selbst eine breitere Akzeptanz von Open-Source-Software nicht unbedingt zu GNU-Betriebssystemen führte. Es gibt jedoch eine ganze Menge GNU-Zeug (alle Macs werden zum Beispiel mit Bash von GNU ausgeliefert . Es gibt wahrscheinlich einige GNU-Systemtools auf Android-Handys). Ich denke, das Computer-Ökosystem ist viel vielfältiger als Tanenbaum es vorausgesehen hat, auch wenn Sie Ihre Sicht auf Desktop-Computer beschränken.
quelle
Software-Experten ignorierten die Wirtschaftlichkeit der Hardware
... oder "Moore hatte Recht und beide lagen falsch"
Die größte Sache, die in dieser Debatte übersehen wurde, war die Auswirkung der CPU-Herstellungstechnologie und -ökonomie, die durch die Verkleinerung der Transistorgrößen gemäß Moores Gesetz verursacht wurde (nicht überraschend, als ob sie viel über CPU-Hardware wüssten, diese Leute untersuchten und diskutierten Software, nicht CPU-Fertigung oder Wirtschaftlichkeit). Feste Herstellungskosten, die über die CPU amortisiert werden (z. B. ISA-Design, CPU-Design und CPU-Produktionsanlagen), sind schnell gestiegen, wodurch sich der Wert von Skaleneffekten erhöht. Da die CPU-Kosten pro Einheit (in Form von "Bang for the Buck" und "Bang for the Watt") sinken, müssen die Kosten einer CPU nicht über eine so breite Auswahl an Funktionen amortisiert werden, um einen Mehrwert zu erzielen mit fester Funktion ist explodiert; Das Budget für CPU-Transistoren ist exponentiell gewachsen.
1. CPU-Skalierung gewinnt über die CPU-Vielfalt
Die Bedeutung von Skaleneffekten hat dazu geführt, dass die Vorteile eines ISA / CPU, der auf einen größeren (daher breiteren) Markt abzielt, die potenziellen Vorteile von Entwurfsentscheidungen überwiegen, die den Markt für einen ISA / CPU einschränken. Betriebssysteme können immer größere Teile des Marktes pro unterstütztem ISA / CPU adressieren, sodass Portierungsübungen kaum (oder gar nicht erforderlich) sind, damit ein Betriebssystem gedeihen kann. Die Zielbereiche von ISA und CPU sind in der Regel so weit gefasst, dass sie sich größtenteils überschneiden. Daher hat sich für jede Software außerhalb eines Compilers der Umfang der Portierungsübungen ebenfalls verringert. Wohl beide, Torvalds & TanenbaumDer Teil des Kernel-Designs und der Implementierung, der jetzt ISA- oder sogar CPU-spezifisch sein muss, wurde überschätzt. Wie Tanenbaum beschrieben hat, abstrahieren moderne Betriebssystemkerne die Unterschiede zwischen CPUs und ISAs. Der CPU / ISA-spezifische Code in modernen Betriebssystemen ist jedoch viel kleiner als ein Mikrokernel. Anstatt Interrupt-Handling / Scheduling, Speicherverwaltung, Kommunikation und E / A zu implementieren, adressieren diese nicht portierbaren Bits nur einen winzigen Bruchteil der Implementierung dieser Dienste, wobei die überwiegende Mehrheit der Architektur selbst dieser Kernbetriebssystemfunktionen portierbar ist.
2. Open Source hat die Schlacht gewonnen, aber den Krieg verloren
Mehr Aufwand bedeutet, dass ein größerer Anteil der Datenverarbeitung von Produkten mit fester Funktion ausgeführt wird, bei denen die Fähigkeit, das Produkt zu modifizieren, nicht Teil des Wertversprechens für den Kunden ist. Ironischerweise hat Open Source in diesen Geräten mit festen Funktionen eine Blütezeit erlebt, aber meistens werden die Vorteile dieser Freiheiten eher von den Herstellern der Produkte als von den Endbenutzern genutzt (was auf dem damaligen Softwaremarkt tatsächlich zutrifft: Microsoft war ein großer Verbraucher von Open-Source-Software, aber ihre Kunden waren nicht). In ähnlicher Weise könnte man argumentieren, dass Open Source im allgemeinen Desktop-Bereich mehr Probleme hat als anderswo, aber mit zunehmendem Web- und Cloud-Computing wurde Desktop-Computing zunehmend zu einem engeren Zweck eingesetzt (hauptsächlich zum Ausführen eines Browsers). Die restlichen Funktionen laufen in der Cloud (ironischerweise hauptsächlich auf Open-Source-Plattformen). Kurz gesagt: Open Source besitzt tatsächlich den Allzweck-Computerraum, aber der Markt ist komplexer geworden. Die Produktverpackung hört seltener bei der Allzweckfunktion auf, fährt aber mit dem Produkt fort, das für feste Funktionen vorgesehen ist, bei denen ein Großteil des Vorteils von Open Source Computing im Widerspruch zu den Produktzielen steht.
3. 2 n Wachstumsmittel fest k Einsparungen sind nicht wichtig
Das exponentielle Wachstum der Transistorbudgets hat die Erkenntnis gebracht, dass die Transistorbudgetkosten einer CISC-Architektur fast vollständig festgelegt sind. Der strategische Vorteil von RISC bestand darin, dass die Komplexität aus dem Befehlssatz der CPU in den Compiler verlagert wurde (zweifellos teilweise begründet durch die Tatsache, dass Compiler-Autoren weit weniger von komplexen ISAs profitierten als menschliche Entwickler, die in Assembler codieren, aber Compiler viel einfacher argumentieren konnten mathematisch über eine einfachere ISA (und daher ausnutzen); Die daraus resultierenden Transistoreinsparungen könnten dann zur Verbesserung der CPU-Leistung eingesetzt werden. Die Einschränkung bestand darin, dass die Einsparungen beim Transistorbudget durch eine einfachere ISA größtenteils behoben wurden (und der Overhead beim Compilerdesign wurde größtenteils ebenfalls behoben). Während diese festen Auswirkungen früher einen großen Teil des Budgets ausmachten, Wie man sich vorstellen kann, dauert es nur ein paar Runden exponentiellen Wachstums, bis der Einfluss trivial wird. Diese rapide abnehmenden Auswirkungen in Verbindung mit der bereits erwähnten rapide zunehmenden Bedeutung der CPU-Monokultur boten jedem neuen ISA eine sehr kleine Chance, sich zu etablieren. Selbst wenn neue ISAs erfolgreich waren, sind moderne "RISC" -ISAs nicht die in der RISC-Strategie beschriebenen orthogonalen ISAs, da ein kontinuierliches Wachstum der Transistorbudgets und eine breitere Anwendbarkeit der SIMD-Verarbeitung insbesondere die Annahme neuer, auf bestimmte Funktionen abgestimmter Anweisungen ermutigt hat. Diese rapide abnehmenden Auswirkungen in Verbindung mit der bereits erwähnten rapide zunehmenden Bedeutung der CPU-Monokultur boten jedem neuen ISA eine sehr kleine Chance, sich zu etablieren. Selbst wenn neue ISAs erfolgreich waren, sind moderne "RISC" -ISAs nicht die in der RISC-Strategie beschriebenen orthogonalen ISAs, da ein kontinuierliches Wachstum der Transistorbudgets und eine breitere Anwendbarkeit der SIMD-Verarbeitung insbesondere die Annahme neuer, auf bestimmte Funktionen abgestimmter Anweisungen ermutigt hat. Diese rapide abnehmenden Auswirkungen in Verbindung mit der bereits erwähnten rapide zunehmenden Bedeutung der CPU-Monokultur boten jedem neuen ISA eine sehr kleine Chance, sich zu etablieren. Selbst wenn neue ISAs erfolgreich waren, sind moderne "RISC" -ISAs nicht die in der RISC-Strategie beschriebenen orthogonalen ISAs, da ein kontinuierliches Wachstum der Transistorbudgets und eine breitere Anwendbarkeit der SIMD-Verarbeitung insbesondere die Annahme neuer, auf bestimmte Funktionen abgestimmter Anweisungen ermutigt hat.
4. Einfach: Trennung von Bedenken. Komplex: Trennung des Adressraums.
Der moderne Linux-Kernel passt (wie die meisten anderen Kernel) zur eher losen Definition eines Makrokerns und nicht zur eher engen Definition eines Mikrokerns. Mit seiner Treiberarchitektur, dynamisch geladenen Modulen und Multiprozessor-Optimierungen, die die Kernel-Space-Kommunikation immer mehr an das Message-Passing eines Mikrokerns erinnern, ähnelt seine Struktur jedoch eher einem Mikrokernel-Design (wie es in Minix enthalten ist) als dem Makrokernel-Design (wie es in Linux enthalten ist) zum Zeitpunkt der Diskussion). Wie ein Mikrokernel-Design bietet der Linux-Kernel eine allgemeine Kommunikation, Zeitplanung, Interrupt-Behandlung und Speicherverwaltung für alle anderen Betriebssystemkomponenten. Seine Komponenten haben in der Regel unterschiedliche Code- und Datenstrukturen. Während Module dynamisch geladen werden, Locker gekoppelte Teile von portablem Code, die über feste Schnittstellen kommunizieren, nutzen keine verbleibende Eigenschaft von Mikrokernen: Sie sind keine User-Space-Prozesse. Am Ende sorgte Moores Gesetz dafür, dass Probleme, die durch Hardwareprobleme wie Portabilität (ein Anliegen von Tanenbaum) und Leistung (ein Anliegen von Torvalds) motiviert waren, abnahmen, aber Fragen der Softwareentwicklung wurden von größter Bedeutung. Die verbleibenden nicht realisierten Vorteile, die eine Trennung von Adressräumen bieten könnte, werden durch das zusätzliche Gepäck aufgewogen, das der Betriebssystemsoftware aufgrund von Designbeschränkungen und einer erhöhten Komplexität der Komponentenschnittstellen auferlegt wird. Das Gesetz sorgte dafür, dass Probleme, die durch Hardwareprobleme wie Portabilität (ein Anliegen von Tanenbaum) und Leistung (ein Anliegen von Torvalds) motiviert waren, abnahmen, während Probleme bei der Softwareentwicklung von größter Bedeutung wurden. Die verbleibenden nicht realisierten Vorteile, die eine Trennung von Adressräumen bieten könnte, werden durch das zusätzliche Gepäck aufgewogen, das der Betriebssystemsoftware aufgrund von Designbeschränkungen und einer erhöhten Komplexität der Komponentenschnittstellen auferlegt wird. Das Gesetz sorgte dafür, dass Probleme, die durch Hardwareprobleme wie Portabilität (ein Anliegen von Tanenbaum) und Leistung (ein Anliegen von Torvalds) motiviert waren, abnahmen, während Fragen der Softwareentwicklung von größter Bedeutung wurden. Die verbleibenden nicht realisierten Vorteile, die eine Trennung von Adressräumen bieten könnte, werden durch das zusätzliche Gepäck aufgewogen, das der Betriebssystemsoftware aufgrund von Designbeschränkungen und einer erhöhten Komplexität der Komponentenschnittstellen auferlegt wird.
Interessanterweise , was hat sich ein starker Trend ist die Entstehung des Hypervisors, die ähnlich wie Mikrokerne, die Hardware abstrahiert werden. Einige behaupten, Hypervisoren seien Mikrokerne. Die Hypervisor-Architektur ist jedoch anders, da die Zuständigkeiten der Mikrokerne von den "Gast" -Kernen übernommen werden, die sich über mehrere Hypervisoren befinden, und die Hypervisor-Abstraktion kein generischer Messaging- und Speicheradressraum ist, sondern vorwiegend die tatsächliche Hardware-Emulation.
Fazit: Die Zukunft bevorzugt diejenigen, die die strengste Semantik anwenden
* .. oder "Nitpicker saugen an der Vorhersage der Zukunft"
In der Praxis ist ein Großteil der Richtigkeit / Falschheit in der Debatte eine Frage der Semantik (und das war ein Teil dessen, was Torvalds argumentierte und IMHO Tanenbaum nicht in vollem Umfang einschätzte). Es ist schwierig, genaue Definitionen für die Zukunft zu erstellen, da es außerhalb des Arguments so viele Faktoren gibt, die eine Rolle spielen können. Eine lockerere Semantik bedeutet, dass Ihre Vorhersagen ein größeres Ziel auf der Dartscheibe sind als die der anderen, wodurch Sie bessere Chancen haben. Wenn Sie die Semantik ignorieren, waren die von Torvalds und Tanenbaum vorgebrachten Argumente in Bezug auf viele Dinge richtig und in Bezug auf sehr wenig falsch.
tl; dr
Die meisten ISAs passen nicht zur semantischen Definition von RISC, sondern nutzen die meisten Designvorteile, die zu dieser Zeit für RISC-CPUs typisch waren. Die Anzahl der prozessorspezifischen Betriebssysteme ist geringer als von Tanenbaum erwartet, geschweige denn von Torvalds. Open Source dominiert das Allzweck-Computing, aber die Konsumenten dieses Marktes sind heute in erster Linie diejenigen, die Computing in Produkte mit fester Funktion einbinden, bei denen ein Großteil des Nutzens von Open Source-Software nicht realisiert wird. Die Aufteilung der Betriebssystemfunktionen auf Adressräume erwies sich nicht als vorteilhaft, die Aufteilung der Betriebssystemfunktionen auf "virtuelle" Hardware jedoch als hilfreich. Wenn Sie behaupten möchten, Ihre Vorhersagen hätten sich als richtig erwiesen, lassen Sie sich wie Mr. Torvalds so viel semantischen Spielraum wie möglich.
PS Eine letzte ironische Beobachtung: Linus Torvalds ist einer der stärksten Befürworter, so viele neue Funktionen wie möglich im Benutzerraum und außerhalb des Linux-Kernels zu belassen.
quelle
Er hat das falsch verstanden, anscheinend läuft alles zusammen, um Hybrid-Kernel zu verwenden. Linux ist formal immer noch monolithisch, aber wenn man Dinge wie FUSE usw. hinzufügt, sieht es auch ein bisschen hybride aus.
Ok, also ist x86 nicht ausgestorben. Aber dominiert RISC nicht den Markt? Milliarden von Smartphones mit ARM, alle Spielekonsolen mit RISC-Prozessoren, die meiste Netzwerkhardware mit MIPS-Prozessoren.
Außerdem sind RISC und CISC Anfang der 2000er Jahre so weit zusammengewachsen, dass es keine eindeutigen Unterschiede im internen Design gab. Moderne x86-Prozessoren sind grundsätzlich intern RISC mit CISC-Schnittstelle.
Wenn er mit GNU OS GNU Hurd meinte, dann in der Tat eine völlig gescheiterte Vorhersage. Was die Leute massiv nutzen, ist Android. Android ist Linux, es ist jedoch nicht GNU, da es nicht GNU libc verwendet. Stattdessen verwendet es Googles eigenes Bionic . Und der Marktanteil von Standard-Desktop-Linux liegt immer noch unter 2%. Aber meinte er wirklich Consumer-PCs? Auf dem Servermarkt dominiert Linux mit 70-90% Anteil je nach Segment.
quelle
Nicht sicher.
Halb rechts Heutige "x86" -Chips sind RISC unter der Haube, im Grunde genommen mit einer "CISC-Schnittstelle". x86 ist nicht ausgestorben, weil Intel über genügend Marktanteile und Einnahmen verfügte, um diesen Übergang zu vollziehen und es richtig zu machen, bevor andere RISC-Lösungen einen signifikanten Marktanteil von ihnen eroberten.
Zwei Hauptgründe: Kompatibilität und Benutzerfreundlichkeit.
Auch hier haben die vorhandenen Systeme (Windows und in geringerem Maße Mac OS) eine sehr große installierte Basis. Das bedeutet, dass viele Benutzer viele Programme verwenden. Freie GNU-Betriebssysteme können das nicht duplizieren. Das WINE-Projekt hat viel Arbeit in diese Richtung geleistet, ist aber immer noch kein Ersatz für ein tatsächliches Windows-System, und die WINE-Entwickler versuchen nicht einmal, dies zu behaupten. Die Leute wollen kein Betriebssystem verwenden, das ihre Lieblingsprogramme nicht ausführt, egal wie großartig es theoretisch ist. (Und ohne eine installierte Benutzerbasis möchte sich niemand für das System entwickeln. Es ist ein Henne-Ei-Problem.)
Und dann kommen wir zur Usability. Meine Mutter hat ein Windows-System. Sie kann es für ihre Zwecke gut gebrauchen. Alles, was sie braucht, um mit ihrem Computer zu arbeiten, ist über die Windows-Oberfläche verfügbar, und wenn ich die Worte "Befehlszeile" zu ihr sagen würde, würde sie nicht einmal wissen, wovon ich spreche. Soweit ich weiß, es ist noch nicht möglich , dass auf einem freien GNU OS zu tun. Tatsächlich ist es so schwierig, mit Linux zu arbeiten, dass selbst die größten Community-Halbgötter manchmal ernsthafte Probleme mit einfachen Aufgaben haben. Und sie scheinen es nie zu "verstehen" und arbeiten daran, die Probleme zu beheben, weshalb sie nie Marktanteile gewinnen. (Der verlinkte Artikel sollte für jeden lesenswert sein, der jemals versucht, ein Massenmarktprogramm zu produzieren!)
quelle
Ich denke, es gibt einige Gründe, die ziemlich schwerwiegend sind, aber nicht erwähnt wurden.
Das erste ist Tanenbaums ziemlich blinde Annahme, dass technische Überlegenheit zur Marktbeherrschung führen würde. Die Leute haben jahrelang darüber gestritten, ob Mikrokerne (Nanokerne, Picokerne usw.) technisch überlegen sind, aber im Moment nehmen wir einfach an, dass sie es sind. Wir werden immer noch die Frage haben, ob diese technische Überlegenheit wahrscheinlich zu einer marktbeherrschenden Stellung führt. Ich werde annehmen, dass es nicht so ist. Für die meisten Menschen sind Windows, Mac OS usw. gut genug. Schlimmer noch, die Verbesserungen, die für die meisten Benutzer einen signifikanten Unterschied bedeuten würden, betreffen die Benutzeroberfläche und nicht den Kernel.
Die zweite ist drastisch überschätzen die Geschwindigkeit der Veränderung in einem (vernünftigerweise) reifen Markt. Es ist ziemlich einfach, Dinge in Eile zu ändern, wenn Sie einen neuen Markt haben. Damit in fünf Jahren im Wesentlichen jeder gewechselt werden konnte, hätte die Migration mit voller Geschwindigkeit stattfinden müssen, auch wenn er dies vorhergesagt hatte.
Ich würde auch eine andere Art und Weise bemerken, in der er Recht hatte, die ich nicht erwähnt habe. Die Allgegenwart von RISC wurde bereits erwähnt (z. B. in Mobiltelefonen). Was sie nicht erwähnt haben, ist die Allgegenwart dessen, was ich "Mikrokernel 2.0" nennen würde. Dies wird heute häufiger als "virtuelle Maschine" oder "Hypervisor" bezeichnet. Sie sind wirklich so ziemlich Mikrokerne.
Der große Unterschied besteht darin, dass Tanenbaum an einen Mikrokernel und eine Benutzermodus-Betriebssystememulation gedacht hat, die beide speziell für einander entwickelt wurden. Stattdessen haben wir das Betriebssystem im Wesentlichen unverändert gelassen und den Mikrokernel so angepasst, dass er unverändert ausgeführt wird. Technisch ist dies nicht so gut, aber aus Sicht des Marktes ist es dramatisch überlegen. Statt eines komplett neuen Systems von oben nach unten kann der Benutzer den größten Teil seines vorhandenen Codes unverändert weiterverwenden und einfach ein cooles neues hinzufügen "Dienstprogramm", das wirklich ein Mikrokernel-Betriebssystem ist.
quelle
Ein wichtiger Grund war Windows, insbesondere Windows 3.1 und etwas später Windows 95 und NT 3.51. Verbraucher mochten besonders die GUI-Oberflächen im Gegensatz zu den alten textbasierten Systemen von Unix und DOS. Dies bedeutete, dass mehr Durchschnittsbürger Computer für den Heimgebrauch kauften. Auch die Explosion des Internets Mitte der 90er Jahre erhöhte den Umsatz.
Die Preise für PCs gingen in den 90er Jahren ebenfalls zurück, bis sie den heutigen Stand erreichten. Dies war auf die Skaleneffekte zurückzuführen, die sich aus der gestiegenen Nachfrage von Verbrauchern und Unternehmen ergaben. Zum Beispiel kosten alle fünf meiner aktuellen Computer weniger als der 486-Desktop, den ich 1992 gekauft habe.
In gewisser Weise könnte er Recht haben, aber in eine unerwartete Richtung. Der Aufstieg mobiler Geräte, Smartphones und Tablets hat teilweise zu vereinfachten Betriebssystemen geführt und kann die Bedeutung von x86 verringern. Sie gehen jedoch weit über das hinaus, was 1992 prognostiziert wurde.
quelle
Letztendlich kommt es darauf an, dass sich die Dinge nicht wirklich gerne ändern.
Wir sind nicht auf einen besser strukturierten Mikrokernel umgestiegen, weil monolithische einfacher zu erstellen waren, schneller liefen und jeder wusste, wie man sie erstellt. Auch weil Linux als monolithischer Kernel entwickelt wurde und populär wurde, gab es keine Mikrokerne, die genug Erfolg hatten, um zu starten. (Es ist ein bisschen wie der gleiche Grund, warum wir alle Windows ausführen, wir führen Windows aus, weil jeder Windows ausführt.)
RISC, andere haben darauf hingewiesen, dass x86 heutzutage so ziemlich eine RISC-Architektur ist, mit einem CISC-Wrapper an der Spitze, um die Abwärtskompatibilität zu gewährleisten.
Viele Leute betreiben ein kostenloses GNU-Betriebssystem - auf dem Server. Das Web ist ziemlich stark davon getrieben. Niemand merkt, weil alle Clients Windows sind. Damals hatten Sie die Wahl: Linux, das immer noch ein Hobby-Betriebssystem war; eine Variante von Unix, aber Sie konnten es sich nicht leisten, es zu kaufen; oder billig n fröhlichen Windows. Linux brauchte zu lange, um Unix zu ersetzen, und hat immer noch nicht genug überzeugende Lösungen für die Ausführung auf dem Desktop (teilweise aufgrund ideologischer Probleme mit verschiedenen Windows-Systemen, binären Grafiktreibern und dem Fehlen eines stabilen ABI). In anderen Nicht-Desktop-Märkten wie Embedded und Mobile ist das jedoch recht gut.
quelle
Alle sind wahr, wenn Sie nicht glauben, dass ein Computer etwas auf Ihrem Desktop ist.
Richtig - Mikrokerne haben nie funktioniert, weil sie nie mikro genug waren. Wenn das gesamte abgespeckte eingebettete Linux kleiner als das x86-spezifische Bit des MACH-Kernels ist, ist die Frage nach den Mikrokernen relevant?
RISC dominiert den Markt. Jedes Jahr werden mehr ARM-CPUs verkauft als jemals zuvor X86-CPUs. Sie sind wahrscheinlich nie mehr als 6 Fuß von einer ARM-CPU entfernt.
Fast jeder läuft unter Linux, es befindet sich in seinem Router, seiner TV-Setop-Box, seinem Tivo und seinem Android-Handy - sie wissen nur nicht, dass diese ein Betriebssystem haben
quelle
1) Er hat sich in den Mikrokernen geirrt. Nach meinem Verständnis übertrifft die Notwendigkeit der Geschwindigkeitsanforderung die Trennung von Bedenken, die in Mikrokernen, zumindest im Linux-Kernel, durchgesetzt werden.
2) Die vorherrschende Architektur in Tablets und Mobiltelefonen ist ARM, ein RISC-Befehlssatz. Auch Windows wurde portiert.
3) Jeder hat kein kostenloses GNU-Betriebssystem. Dies ist hauptsächlich auf Patente und Abwärtskompatibilität zurückzuführen. Wer Windows nicht möchte, wählt häufig OS X.
quelle
1. Mikrokerne sind fehlgeschlagen
Aus den Gründen, die Linus Torvalds angegeben hat, sieht es auf dem Papier theoretisch attraktiv aus, aber bei der Implementierung auf modernen Systemen - die sehr komplexe Systeme sind - wird die Komplexität exponentiell unüberschaubar. Fallstudie ist GNU Hurd, ein volles Mikrokernsystem, das nicht einmal grundlegende Funktionen erreichen konnte. Mac OS X ähnelt in seiner Struktur Hurd und ist das am wenigsten stabile und am meisten eingeschränkte Betriebssystem.
2. CPU-Architektur
Dies hat sich für verschiedene Anwendungsfälle diversifiziert. Eine CPU-Architektur dominierte nicht, da die Anwendungsfälle für Embedded, Mobile, Desktop, Server usw. unterschiedlich sind und unterschiedliche Ansätze erfordern. Tannenbaum bemerkte diese Diversifikation nicht.
3. GNU vs World?
GNU dominierte nicht, Linux jedoch auf Servern, Embedded und Mobilgeräten. Auf Apple-Tablets und -Telefonen läuft iOS, das ist einfach altes Unix. Es ist schwierig, genaue Statistiken für Linux-Bereitstellungen auf dem Desktop zu erhalten, da es keinen echten Kernmechanismus gibt - den Verkauf von Einheiten -, der mit Sicherheit einen genauen Wert liefern kann. Die meisten Linux-Bereitstellungen auf dem Desktop werden manchmal als Windows-Bereitstellungen aufgezeichnet, da Benutzer ein Windows-System kaufen und es dann mit Linux überschreiben. Wenn Sie jedoch Betriebssysteme einteilen, hat Linux laut http://www.w3schools.com/browsers/browsers_os.asp ungefähr 5-6% auf dem Desktop, und dies entspricht der Anzahl der Windows Vista-Benutzer weltweit, was von großer Bedeutung ist .
Nach meinen eigenen Schätzungen aus verschiedenen Quellen könnte Linux auf dem Desktop tatsächlich der Anzahl der Benutzer unter Windows XP entsprechen - etwa 25% -, wenn Sie nicht-westliche Nationen wie China und Indien zählen, in denen Linux populärer ist als in USA oder EU, die jedoch möglicherweise nicht in die westlichen Statistiken einbezogen werden, weil sie nur die Zugriffe auf englischsprachige Websites zählen, die sich an Westler richten.
In Indien verwenden die meisten College-Studenten Ubuntu oder Fedora, da dies das Standard-Betriebssystem des indischen Bildungssystems und des berühmten IIT ist. Die meisten indischen Regierungsstellen verwenden auch Linux. In China ist Red Flag Linux das offizielle Betriebssystem der chinesischen Regierung und des chinesischen Schulsystems - Akademien der Künste und Wissenschaften - und das von den staatlichen Medien empfohlene Betriebssystem in China, um zu verhindern, dass junge verarmte Chinesen Raubkopien von Windows verwenden. Wenn Sie die Nutzung von Linux in Indien und China zählen würden, würde dies die meisten westlichen Technologieexperten schockieren und die Wahrnehmung der wahren Dominanz von Linux-Desktops in nicht-westlichen Entwicklungsländern, in denen Linux vorherrscht, radikal verändern.
quelle
Die Produktion wurde billiger, x86 kam dem Preis von RISC so nahe, dass es nicht mehr machbar war, es zu verwenden. Es gab auch eine kleine Verkäufer-Sperre.
quelle
quelle
Es hängt davon ab, wie Sie die Zukunft betrachten und definieren. Im herkömmlichen Sinne sind seine Vorhersagen gescheitert.
Die Zeit ist jedoch noch nicht vorbei (abgesehen von einer weiteren eingehenderen Diskussion) .
Somit könnten sich die Dinge noch ändern:
Mikrokerne oder eine andere Variante könnten ein Comeback erleben
RISC / ARM kann durchaus dominieren -> Tablets / Handys
In 10 oder 15 Jahren. Wer weiß, Open Source verändert die Welt langsam.
quelle
Zu 2: Der CISIC-Befehlssatz hat einen großen Vorteil: Er ist kompakter als komprimierter Maschinencode. Heutzutage ist es sehr billig, CISC-Anweisungen in Micro-Ops zu dekodieren, und es ist sehr teuer, auf den RAM zuzugreifen. Daher hat CISC den Vorteil, dass mehr Code in den L1 / L2 / L3-Caches abgelegt wird
quelle
Ich erinnere mich an die Zeit - und an die Zeit davor. Keine Ahnung von Mikrokernen, aber
2) Die Idee von RISC hatte zwei Seiten: Software-Optimierungen könnten in Software besser als in der Hardware durchgeführt werden, und RISC-Chips könnten wirtschaftlich schneller als CISC-Chips hergestellt werden.
Beide Vorstellungen erwiesen sich kurzfristig als falsch. Intel konnte und konnte CISC-Chips herstellen, die Instruktionen schneller als die konkurrierenden RISC-Chips zu einem wettbewerbsfähigen Preis takten. Intel konnte und konnte CISC-Chips herstellen, die die Programmoptimierung in der Hardware besser ausführten als im Compiler oder im Software Runtime Supervisor. Außerdem konnte jede Softwareoptimierung hinzugefügt werden, genau wie bei einem RISC-Chip.
3) Informatik, Programmierung und Operations wurden in meiner Karriere viermal komplett neu erfunden. Vom Hauptrahmen zum PC. Von der Kommandozeile zur GUI. Von der GUI ins Internet. Vom Internet zum iPad. Die Revolution scheint jetzt normal zu sein, aber das haben wir nicht vorhergesagt. Wie alle älteren Programmierer zu dieser Zeit sagte er das "Ende der Geschichte" voraus.
In fünf Jahren hatten nur sehr wenige Leute ein GNU-Betriebssystem, weil die Zählung neu gestartet wurde.
Vielleicht passiert es immer noch. Vor 5 Jahren hätten Sie vorausgesagt, dass unser Windows-Server durch * nix-Server ersetzt wird (während ich schreibe, hat SAMBA einen AD-Domänenserver veröffentlicht, der das fehlende Puzzleteil war). Es wird nicht passieren, wo ich arbeite: Wir werden keine lokalen Server haben.
quelle