Eine kurze Geschichte von Unix

Inhalt

Bash-Shell

Trotz mehr als füttern 90% der Cloud-Workloads heute, Unix (und Linux damit) hatte bescheidene Anfänge. Jim Hall diskutiert, wie Bell Labs' Unix in den 1990er Jahren 1970 wurde zum Rückgrat vieler moderner Betriebssysteme.

Die Ursprünge von Unix

In den Anfängen der Computertechnik, Benutzer interagierten mit dem Computer durch eine Reihe von byzantinischen Mitteln. Die ursprüngliche ENIAC hatte nicht einmal eine "Programmierschnittstelle", wie wir heute glauben; stattdessen, Programmierer angeschlossen “Funktionseinheiten” getrennt durch Stecker und Kabel. Als Computer praktischer wurden, wurde eine Plattform für den Batch-Handel, wie durch Stapel gestanzter Datenkarten.

Auf späteren Systemen, Plus “Modern” wie der Mainframe, Systemadministration war noch komplex. Das Erstellen einer Datei erfordert die Angabe des Speicherplatzes, um weitere andere Attribute zuzuweisen. Die Bediener interagierten regelmäßig über schreibmaschinenähnliche Papierterminals mit dem System.. Und in diesen frühen Tagen, So erwarteten die Leute, mit Computern zu arbeiten.

Mitte und Ende der 1990er Jahre 1960, el MIT, Bell Labs und GE arbeiteten an einem neuen System namens MULTICS, der Computer- und Multiplex-Informationsdienst. MULTICS sollte eine Revolution im Computing sein. Aber durch seine Entwicklung, Auch MULTICS wurde immer komplexer. Frustriert vom Projekt, Bell Labs im Ruhestand, andere lassen das Projekt später weiterführen, auch wenn es sehr spät ist.

In der Zwischenzeit, Ken Thompson kehrte von MULTICS zu Bell Labs zurück, um an anderen Projekten zu arbeiten. Ein Versuch betraf ein besonders schnelles Plattenlaufwerk, das mit einem DEC PDP-7-Minicomputer verbunden war.. Thompson wollte das Beste aus der Leistung dieser Einheit herausholen und, durch Erweiterung, auf jedem Speichergerät. Dann, begann an einem Festplattenprogrammierer zu arbeiten.

Wenn Sie sich diesem Projekt nähern, Thompson erkannte, dass sein Testprojekt das Territorium der “Betriebssystem”. Für die nächsten drei Wochen, während seine Frau im Urlaub war, um ihre Eltern zu besuchen, Thompson ergänzte die fehlenden Teile und fügte eine Schnittstelle für Chefanrufe hinzu, ein Monteur, ein Editor und eine Shell. Und aus diesen kleinen Anfängen wurde Unix geboren.

Unix-Entwicklung

Während seiner gesamten Entwicklung bei Bell Labs, es gab keine “Master-Design” die definierte, was Unix tun oder werden sollte. Stattdessen, Unix wuchs organisch, da verschiedene Benutzer neue Funktionen benötigten.

Eine meiner liebsten frühen Unix-Geschichten ist, wie es Unix-Forschern gelang, ein neues Computersystem zu kaufen, um ihre Arbeit fortzusetzen, und gleichzeitig einen neuen Standard-Unix-Befehl erstellten. Die Patentabteilung plante im Auftrag von Bell Labs den Kauf eines neuen dedizierten Computersystems zum Schreiben von Patentanmeldungen. Das Unix-Team schlug der Patentabteilung vor, einen neuen Minicomputer DEC PDP-11 zu kaufen, und das Unix-Team würde Unix installieren und benutzerdefinierte Software schreiben, um die Patentabteilung beim Schreiben von Patentanmeldungen zu unterstützen. Diese neue Software zum Schreiben von Patenten? Eine neue Implementierung des Roff-Dokumentformatsystems, selbst eine Ableitung eines früheren CTSS-Programms namens RUNOFF. Heute, “Neuer Roff” Ö nroff, es ist ein grundlegender Bestandteil von Unix.

Unix-Befehle selbst erhielten sehr kurze Namen. das ls, rm, mv, und andere Standard-Unix-Befehle waren so kurz, weil frühe Model-Ticker-Terminals 33 die in Bell Labs verwendet wurden, erforderte einen erheblichen Aufwand, um jeden Buchstaben zu tippen. Es war einfacher zu schreiben rm als ein aussagekräftigerer Befehlsname wie remove, Ö cp das copy.

Eines der bestimmenden Merkmale von Unix, das “Pipeline”, die es einem Befehl ermöglichte, seine Ausgabe an einen anderen Befehl zur weiteren Verarbeitung zu senden, es wurde auch auf Wunsch eines anderen Bell Labs-Forschers hinzugefügt, Douglas McIlroy. Bis dann, Befehle, die gleichzeitig auf einzelne Dateien angewendet werden. Aber mit den Rohren, Sie können mehrere Befehle verketten, um interessantere Ergebnisse zu erzielen. Als Beispiel, das ls Befehl listet Dateien in einem Verzeichnis auf, und der wc Befehl zählt die Zeilen Ihrer Eingabe. Wenn Sie die beiden Befehle miteinander verbinden wie ls|wc , Ruft die Anzahl der Dateien in einem Verzeichnis ab.

Andere Befehle wurden auf ähnliche Weise hinzugefügt, weil jemand sie angefordert hat. Thompson hat das geschrieben grep Befehl basierend auf einem Vorschlag von McIlroy, dass Unix ein Dienstprogramm haben sollte, um nach Text in Dateien zu suchen. Thompson hat Unix-Code wiederverwendet ed Editor, um ein Dienstprogramm zum Ausführen einer “Globales Drucken regulärer Ausdrücke” von jedem Text, der mit dem des Benutzers übereinstimmt regulärer Satz. Dieser Befehl “Globales Drucken regulärer Ausdrücke” hieß einfach grep, jetzt ein Standard-Unix-Befehl.

Unix überall

Unix wuchs weiter, bis Mitte der 1990er Jahre vor allem als Forschung und als Plattform für Projekte innerhalb der Bell Labs. 1980. Ungefähr um diese Zeit, eine Gruppe verschiedener Anbieter begann, ihre eigenen Unix-Versionen zu vermarkten, inklusive HP-UX von Hewlett Packard, IBM AIX, Xenix von Microsoft, SunOS von Sun. (später umbenannt in Solaris), unter anderen. Auf 1983, Richard Stallman hat ein neues Projekt gestartet, um eine kostenlose Softwareversion von Unix zu erstellen, genannt GNU (ein rekursiv Akronym, Was bedeutet das “GNU ist nicht Unix”).

Jede Unix-Distribution war etwas anders und nicht miteinander kompatibel. Einige wurden vom ursprünglichen AT Unix abgeleitet&T Bell Lab, wie HP-UX und AIX. Andere Versionen von Unix wurden von einer beliebten Universitätsvariante der University of California in Berkeley abgeleitet, BSD-Aufruf für “Berkeley Softwareverteilung”. Viele der Befehle waren in den verschiedenen Unix-Versionen gleich oder ähnlich, aber die Details, wie er das System im Allgemeinen verwaltete, waren sehr unterschiedlich. Ein wesentlicher Unterschied war, wie Unix gestartet wurde: BEI&T “System V” Unix verwendet Lauflevel von einer Zentrale gesteuert /etc/inittab Datei, während BSD Unix alles mit . startet Laufkontrolle Bindestriche beginnend mit /etc/rc Text.

Andere Unix-Systeme kamen und gingen in den Jahrzehnten von 1980 und 1990. Steve Jobs, nach seiner Absetzung als CEO von Apple in 1985, fundó Next, die eine eigene Variante von Unix produzierte, abgeleitet von BSD. NeXT brachte mehrere Innovationen zu Unix, einschließlich eines Mach-basierten Mikrokernels. Der grafische NeXT-Desktop, Nächster Schritt, andere neue Ideen hinzugefügt, wie PostScript Display zum Erstellen von Bildschirmgrafiken, ein “Kai” der verfügbaren und laufenden Anwendungen, und eine objektorientierte Anwendungsschicht mit Toolkits.

Auf 1991, ein finnischer Student namens Linus Torvalds begann mit der Arbeit an einem Projekt, das später zum Linux-Kernel wurde. Die 25 August 1991, Torvalds veröffentlichte eine kurze Ankündigung in einer Usenet-Diskussionsgruppe über sein Hobbyprojekt und lud andere ein, beizutragen.. Torvalds hat Linux unter der GNU General Public License veröffentlicht, was bedeutete, dass jeder Linux modifizieren konnte, um Fehler zu beheben oder neue Funktionen hinzuzufügen. Dieses Modell von “quelloffen” Ö “freie Software” schnelle Förderung der Entwicklung neuer Linux-Systeme.

Communities sind rund um Linux entstanden, mit GNU-Tools und anderen Unix-Befehlen zur Ausführung unter Linux. Auf 1992, Entwickler portierten das X Window System, was gab Linux seine erste grafische Benutzeroberfläche. Das Ergebnis ist das, was die meisten Leute denken, wenn wir sagen “Linux”, obwohl Linux es ist eigentlich nur der Kernel, der alles ausführt.

Modernes Unix

Zwar gibt es noch proprietäre Unix-Systeme, die meisten Unix-Systeme sind Linux. Zumindest auf Webservern, Linux dominiert. Linux ist auch für viele geschäftliche Workloads gebräuchlich, einschließlich Anwendungsserver und Datenbankserver. Es ist schwer genau zu wissen, auf wie vielen Linux-Servern Dinge laufen, Viele Schätzungen gehen jedoch davon aus, dass mehr als zwei Drittel der Webserver und anderer Internet-Infrastrukturen unter Linux laufen.. Sogar Microsoft ist mit Linux kompatibel; Ihre Azure-Plattform läuft unter Linux, genauso wie das Windows-Subsystem für Linux auf Windows-Desktops.

Auf dem Schreibtisch, Linux hat nie wirklich Fuß gefasst. Ein häufiger Gag in der Linux-Community ist “Nächstes Jahr wird die Linux-Desktop-Jahr. ” Aber Windows regiert auf dem Desktop. Trotz dieses, wenn Sie nach Unix auf dem Desktop suchen, Betrachten Sie Apple macOS. Auf 1996, im Rahmen der Rückkehr von Steve Jobs als CEO zu Apple, Apple hat NeXT gekauft und NeXT als Basis für das Betriebssystem der nächsten Generation in den neuen Macs verwendet. MacOS ist wirklich Unix unter der Haube; Öffnen Sie ein Terminalfenster und Sie finden eine Unix-Shell mit Standard-Unix-Dienstprogrammen. Genau genommen, macOS ist ein Offizielles Unix, anerkannt von der Open Group.

Wohin steuert Unix jetzt?? Ich bin mir nicht sicher, ob “Unix” ist die richtige Bezeichnung. In einer Zeit, in der Linux-Systeme zahlenmäßig in der Überzahl sind Unix Server, Es ist möglich, dass wir den Punkt überschritten haben, an dem “Unix” hat eine große Bedeutung. Es geht nicht mehr um “Unix als Plattform”, aber von “Linux als Plattform”. Und so wie Unix über sein ursprüngliches Design hinausgewachsen ist, Hinzufügen neuer Funktionen, wo sie benötigt wurden, Linux entwickelt sich ständig weiter, um neue Anforderungen zu erfüllen. Zumindest auf absehbare Zeit, es geht um “Linux”, Anzahl der “Unix”.

Abonniere unseren Newsletter

Wir senden Ihnen keine SPAM-Mail. Wir hassen es genauso wie du.