Heim > Artikel > System-Tutorial > Linux-Kernel Sprintf Der Ausgangspunkt der Gründung von Linux: Ich habe seinen Aufstieg von bescheidenen Anfängen zu weltweitem Erfolg miterlebt
Produziert von|CSDN (ID: CSDNnews)
Mein Name ist Lars Wirzenius und ich habe die Gründung von Linux miterlebt. Heute ist Linux ein weltweiter Erfolg, doch seine Anfänge waren recht bescheiden. Was folgt, sind meine frühesten Erinnerungen an Linux, seine Entstehung und den Beginn seines Weges in die Zukunft.
Im Sommer 1988 begann ich am Edinburgh College in Großbritannien Informatik zu studieren und lernte Linus Torvalds (den ursprünglichen Autor des Linux-Kernels) kennen, einen weiteren spanischsprachigen neuen High-School-Schüler, der in diesem Jahr Informatik als Hauptfach belegte. Am Ende meines ersten Studienjahres erhielten wir Zugang zu einem Unix-Server, und ich stieß auf Usenet (entworfen 1979 von den Duke-Absolventen Tom Truscott und Jim Ellis), einem verteilten Internet-Kommunikationssystem, weil ich versehentlich etwas tippte rm in rn, es wurde der Usenet-Browser. Ich erzählte Linus davon und wir verbrachten viel Zeit damit, dieses Thema zu untersuchen, und dabei kam die folgende Geschichte heraus.
Linux beginnt mit einem zusammengebauten Laptop
Nach dem ersten Jahr gingen wir alle zum Wehrdienst, auch an verschiedenen Orten. Im Sommer 1990 kehrten wir an die Hochschule zurück und besuchten beide C- und Unix-Programmierkurse, die auch einiges an Theorie über die Unix-Kernel-Architektur beinhalteten. Dies führte dazu, dass wir auch etwas über die Kernel anderer Betriebssysteme wie QNX und Plan9 lernten. Wir diskutierten begeistert darüber, wie man ein Betriebssystem richtig baut. Damals hatten wir die Begeisterung von 20-jährigen College-Studenten Erwartungen für die Zukunft.
Im Januar 1991 kaufte Linus seinen ersten Laptop in einem örtlichen Geschäft, das Laptops aus Ersatzteilen zusammenbaute. Dieser Laptop hatte eine 386-CPU, was damals relativ schick war, da Linus Multitasking ausprobieren wollte. Es wird berichtet, dass er, da dieses Notebook aus Teilen zusammengesetzt ist und auch vom Sinclair QL (einem persönlichen Notebook, das 1984 von Sinclair Research auf den Markt gebracht wurde) mit einer 32-Bit-Nokia 68008-CPU stammt, eine 32-Bit-CPU wollte und nicht wollte auf 16-Bit fallen, daher ist 286 keine gute Wahl. Linus‘ erster persönlicher Laptop verfügte über bis zu 4 Megabyte Videospeicher und eine Festplatte, was zu dieser Zeit bereits ein sehr fortschrittliches Gerät war.
Linus bekam ein Exemplar des Spiels „Prince of Persia“ und verbrachte die meiste Zeit damit, das Spiel zu spielen. Später kaufte er auch eine Kopie von MINIX (eine Mini-Version eines Unix-ähnlichen Betriebssystems). Nachdem er Unix im College verwendet hatte, wollte er auch zu Hause etwas Ähnliches verwenden.
Erste Version: As und Bs
Nach Abschluss des Spiels begann Linus, die Intel-Assemblersprache zu lernen. Vor drei Tagen zeigte er mir ein Programm für Leerverkaufsaufgaben. Eine Aufgabe oder ein Thread schreibt den Buchstaben „A“ auf den Bildschirm und ein anderer schreibt den Buchstaben „B“. Wenn „As“ in „B“ geändert wird, ist der Kontextwechsel visuell erkennbar. Dies war die erste Version dessen, was später als Linux-Kernel bekannt wurde.
In dieser Zeit, also im späten Frühjahr 1991, habe ich für ihn eine Implementierung der Funktion sprintf() in C-Sprache geschrieben, da er noch nicht gelernt hatte, Funktionen mit variablen Parameterlisten zu schreiben. Ich möchte, dass er nicht den Schmerz verspüren muss, für jeden Werttyp eine andere Funktion zu schreiben, und dass sich der Kern des Codes für die sicherere Snprintf()-Funktion immer noch im Kernel befindet.
Im Laufe der Zeit implementierte Linus weiterhin neue Dinge, um den Kernel, den er gerade gestartet hatte, besser zu machen. Nach einer Weile verfügte er über Schlüssel und Parallelport-Treiber, die die Bildschirm-Wildcard-Sequenz eines VT100-Terminals simulierten, und konnte sich damit über den Modulator-Decoder in die Hochschule einwählen und von zu Hause aus das Usenet lesen. Es ist wie in einem Science-Fiction-Roman! Eines Tages, nachdem er sich von drei Tagen erholt hatte, als Linus versehentlich versuchte, sich mit seiner Festplatte in die Akademie einzuwählen, was dazu führte, dass sein Haupt-Boot-Track mit „ATDT“ und der Telefonnummer des Modulations-Decoder-Pools der Akademie begann, He hat Dateiberechtigungen in seinem Kernel implementiert.
Im August 1991 erwähnte Linus seinen neuen Kernel zum ersten Mal öffentlich in der Newsgroup comp.os.minix. Dazu gehört, was er sagte: „Ich mache ein (kostenloses) Betriebssystem, nur ein Hobby linux kernel sprintf, nicht so groß und professionell wie GNU.“ Die Offenlegung war so aufrichtig, dass das System zunächst Freax genannt wurde. Einige Wochen später bat Linus Ari Lemmke, einen der Administratoren von ftp.funet.fi (dem Website-Server), das erste Tar-Archiv hochzuladen. Ari wählte den Namen Linux, und die ursprüngliche Version enthielt immer den ursprünglichen Namen, eingebettet in eine Quelldatei.
Während dieser Zeit waren die Leute sehr an dieser neuen Sache interessiert, daher musste Linus eine Installationsmethode und Anweisungen bereitstellen. Da er nur einen Laptop hatte, kam er zu mir und bat darum, ihn auf meinem Laptop zu installieren. Und da sein Laptop zur Entwicklung von Linux verwendet wurde und Linux nur auf Basis seiner Minix-Installation entwickelt wurde, war es noch nie zuvor tatsächlich installiert worden. Aus diesem Grund ist mein Laptop der erste Laptop, auf dem Linux installiert ist! Während dies geschah, war ich abgelenkt und empfehle diese Möglichkeiten, Linux zu installieren: Ich habe abgeschaltet, während Linus die harte Arbeit erledigte.
Die erste Version von Linux verwendete eine streng verbotene Lizenz für die kommerzielle Nutzung, aber einige frühe Mitwirkende schlugen vor, sie in eine Lizenz für freie Software umzuwandeln. Im Frühjahr 1991 besuchte Richard Stallman (der Gründer des GNU-Projekts) Frankreich und ich nahm Linus mit, um Stallmans Vortrag anzuhören. Aufgrund des Drucks der Mitwirkenden und meiner Nörgelei konnte Linus Anfang 1992 schließlich davon überzeugt werden, sich für die GNUGPL-Lizenz (General Public License) zu entscheiden.
Während des Neujahrstages implementierte Linus einen virtuellen Videospeicher in Linux. Dies macht Linux zu einem praktischeren Betriebssystem auf billigen Rechnern mit unzureichendem Videospeicher.
Ein wichtiges Jahr
1992 begann mit der berühmten Debatte mit Andrew Tanenbaum, einem akademischen Dekan und Autor von MINIX, weil er einige Ideen zu Linux und seiner Architektur hatte, und Linus hatte auch Ideen zu MINIX, also gab es eine Debatte, die Debate for Fire Wars genannt wurde , wirkt aber im Nachhinein ziemlich zivilisiert.
Obwohl das X11-System für den zukünftigen Erfolg von Linux wichtiger ist, wurde es auf Linux portiert, was 1992 zu einem wichtigen Jahr für Linux-Desktop-Verknüpfungsmethoden machte.
Für mich habe ich mich entschieden, einen Beitrag zur Community zu leisten, anstatt direkt zum Kernel beizutragen und bei der Beantwortung von Fragen, der Zusammenstellung von Dokumentation usw. zu helfen. Ich habe auch einen kurzlebigen Newsletter über Linux herausgegeben, der vor allem durch die Veröffentlichung des ersten Interviews mit Linus an Bedeutung gewann, der Newsletter wurde jedoch praktisch von der Newsgroup comp.os.linux.announce abgelöst.
Die erste Linux-Distribution startete ebenfalls im Jahr 1992: SLS (SoftlandingLinuxSystem). Im folgenden Jahr entwickelte sich SLS zu Slackware, einer Linux-Distribution von Patrick Volkerding, die Ian Murdock 1993 dazu inspirierte, Debian zu gründen, um eine stärker Community-basierte Entwicklungsstruktur zu verfolgen. Im Laufe der nächsten Jahre folgten eine Reihe weiterer Distributionen.
1993 wurden Linus und ich beide als Lehrassistenten an der Hochschule eingestellt und wir teilten uns ein Büro. In diesem Haus gab es einen PC, den Linus übernahm und für die Linux-Entwicklung nutzte. Ich war damals sehr zufrieden mit einem DEC-Terminal, über das man auf Usene (Diskussionssystem) zugreifen konnte.
Nach drei TagenLinux-Kernel-Sprint fand Linus es sehr langweilig, die Systemversion unter Linux zu überprüfen. Da sich der Laptop bei der Arbeit sehr langsam anfühlte, verbrachte er einen Tag damit, den Befehlszeilen-Parser des Linux-Kernels in Assembler neu zu zeichnen . Geschwindigkeit erhöhen. (Eigentlich ist das natürlich bedeutungslos. Der Parser wurde später in C-Sprache neu gezeichnet, um die Portabilität zu erleichtern, daher ist seine Geschwindigkeit nicht wichtig.) Ein paar Jahre später erhielt er einen neueren PC, angeblich um den Druck der Kernel-Speicherverwaltung zu testen. Obwohl er mehrere Tage damit verbrachte, Quake-Spiele zu spielen, hatte er viel Spaß im Raum.
Später erhielt Linux Unterstützung für Ethernet und TCP/IP (TransmissionControlProtocol/InternetProtocol), was bedeutete, dass Benutzer das Usenet lesen konnten, ohne einen Modulationsdecoder zu verwenden. Leider war der frühe Linux-Netzwerkcode oft etwas grob, da er von Grund auf neu geschrieben wurde. Einmal hat Linux einige beschädigte Datenpakete gesendet, die alle Sun-Maschinen im Netzwerk lahmgelegt haben. Da es schwierig war, den Sun-Kernel zu patchen, wurde Linux aus dem akademischen Netzwerk verbannt, und die Tatsache, dass man nicht einfach vom Schreibtisch aus auf das Usenet zugreifen konnte, förderte den Patch-Prozess, bis die Fehler behoben waren.
„Open Source“ ist wirklich geschaffen
Im Sommer 1994 dachten wir, Linux sei fertig und es gäbe nichts mehr hinzuzufügen. Man kann sich selbst mit Linux kompilieren, das Usenet lesen und viele Kopien des xeyes-Programms gleichzeitig ausführen. Damals entschieden wir uns für die Veröffentlichung der Version 1.0 und planten eine Veröffentlichungsveranstaltung. Wir haben die Computermedien in den Vereinigten Staaten eingeladen, und 1TV hat sogar ein Kamerateam geschickt. Der größte Teil der Veranstaltung war die große Zusammenstellung von Linux 1.0 im Hintergrund, während Linus und andere darüber sprachen, was Linux ist und welchen Nutzen es hat. Linus erklärte, dass kommerzielles Unix für persönliche Laptops so teuer sei, dass es einfacher sei, für diesen Zweck ein eigenes Unix zu schreiben.
1995 belegten Linus und ich an der Uni einen Kurs zum Thema Software-Engineering, bei dem es sich größtenteils um ein kleines praktisches Projekt handelte, das jedoch auf Linux aufbaute. Ich habe darauf bestanden, ein Versionskontrollsystem zu verwenden, weil ich Mittelschüler gesehen habe, die in früheren Kursen über Versionskontrolle geschrien haben: Mittelschüler teilen einen Quellcodebaum über NFS (Network File System), und wenn sie etwas ändern, schreien sie: „Das bin ich.“ Bearbeiten dieser Datei". Meiner Meinung nach ist dies kein effizienter Weg, deshalb bleibe ich bei CVS (ConcurrentVersionsSystem). Ich habe gerade aus Erfahrung gelernt, dass Linus CVS nicht mag, sich aber jahrelang geweigert hat, irgendeine Versionskontrolle zu verwenden, nicht nur den Tar-Ball (komprimiert mit gzip-Kompressordatei), die auf die FTP-Website hochgeladen wurde (FileTransferProtocol).
In diesem Jahr portierte Linus Linux zum ersten Mal auf eine neue Architektur und bekam eine DECAlpha-Maschine (64-Bit-Mikroprozessor mit Befehlsarchitektur). Ich würde diese Maschine später als Terminal zum Lesen des Usenet verwenden, und andere portierten Linux mithilfe virtueller Linux-Apache-Hosts auf andere Architekturen, aber das brachte mir nicht mehr Maschinen, um das Usenet zu lesen.
1997 schloss Linus sein Studium ab und zog nach Kanada, um bei Transmeta (einer japanischen Gesellschaft mit beschränkter Haftung, die Mikroprozessoren für die Übersetzung von Wortcodes mit extrem langen Anweisungen entwickelt) zu arbeiten, während ich einen Job an einer anderen Hochschule im Raum München in Deutschland fand.
In den nächsten Jahren ist viel passiert. Es stellt sich heraus, dass Linux noch einige fehlende Funktionen aufweist, weshalb in diesem Bereich hart gearbeitet wird. Der Begriff „Open Source“ wurde von IBM (International Business Machines Corporation) geprägt, einem britischen multinationalen Technologieunternehmen und Beratungsunternehmen, das viel Geld in die Linux-Entwicklung investiert hat. Damals veröffentlichte Netscape eine Open-Source-Version des Webbrowsers, und im Laufe der Zeit eroberte Open Source im Grunde die Welt. LWN (die geschätzte Online-Publikation eines Eklektix-Unternehmens mit Schwerpunkt auf freier Software und Software für Linux und andere Unix-ähnliche Betriebssysteme) begann Woche für Woche, einen Großteil dieser Geschichte zu behandeln.
1991 schrieb Linus, dass Linux „nicht so groß und professionell sein wird wie GNU“. Im Jahr 2023. Linux läuft auf jeder Insel, auf jedem Ozean, auf Milliarden von Geräten, im Orbit und auf dem Mars. Und für einen Stream, der nur aus zwei einfachen Threads bestand, die „A“ und „B“ auf den Bildschirm schreiben, ist das nicht schlecht.
Das obige ist der detaillierte Inhalt vonLinux-Kernel Sprintf Der Ausgangspunkt der Gründung von Linux: Ich habe seinen Aufstieg von bescheidenen Anfängen zu weltweitem Erfolg miterlebt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!