Maison  >  Article  >  Tutoriel système  >  linux kernel sprintf Le point de départ de la fondation de Linux : j'ai été témoin de son ascension depuis des débuts modestes jusqu'à un succès mondial

linux kernel sprintf Le point de départ de la fondation de Linux : j'ai été témoin de son ascension depuis des débuts modestes jusqu'à un succès mondial

王林
王林original
2024-06-14 18:25:42458parcourir

linux 内核 sprintf Linux 创立的起点:我见证了它从卑微走向全球成功

Produit par|CSDN (ID : CSDNnews)

Je m'appelle Lars Wirzenius et j'ai été témoin de la création initiale de Linux. Aujourd’hui, Linux est un succès mondial, mais ses débuts ont été plutôt modestes. Ce qui suit sont mes premiers souvenirs de Linux, de sa création et du début de son chemin vers demain.

À l'été 1988, j'ai commencé à étudier l'informatique à l'Edinburgh College au Royaume-Uni et j'ai rencontré Linus Torvalds (l'auteur original du noyau Linux), un autre nouveau lycéen hispanophone qui se spécialisait en informatique cette année-là. À la fin de ma première année à l'université, nous avons eu accès à un serveur Unix et je suis tombé sur Usenet (conçu en 1979 par Tom Truscott et Jim Ellis, étudiants diplômés de Duke), qui était un système de communication Internet distribué, parce que j'avais tapé par erreur rm en rn, c'est devenu le navigateur Usenet. J'en ai parlé à Linus, et nous avons passé beaucoup de temps à explorer cette question, et l'histoire suivante est sortie.

Linux commence avec un ordinateur portable assemblé

Après la première année, nous sommes tous allés faire le service militaire obligatoire, même dans des endroits différents. À l'été 1990, nous sommes retournés à l'université et avons tous deux suivi des cours de programmation C et Unix, qui comprenaient également un peu de théorie sur l'architecture du noyau Unix. Cela nous a également amené à découvrir les noyaux d'autres systèmes d'exploitation, tels que QNX et Plan9. Nous avons discuté avec enthousiasme de la façon de construire correctement un système d'exploitation. À cette époque, nous avions l'enthousiasme d'étudiants de 20 ans et nous avions de très bonnes connaissances. attentes pour l’avenir.

En janvier 1991, Linus a acheté son premier ordinateur portable dans un magasin local qui assemblait des ordinateurs portables à partir de pièces détachées. Cet ordinateur portable était équipé d'un processeur 386, ce qui était relativement sophistiqué à l'époque car Linus voulait explorer le multitâche. Il est rapporté que puisque cet ordinateur portable est assemblé à partir de pièces et qu'il provient également du Sinclair QL (un ordinateur portable personnel lancé par Sinclair Research en 1984) avec un processeur Nokia 68008 32 bits, il voulait un processeur 32 bits et ne voulait pas passer à 16 bits, donc 286 n'est pas un bon choix. Le premier ordinateur portable personnel de Linus possédait jusqu'à 4 mégaoctets de mémoire vidéo et un disque dur, et était déjà une machine très avancée à l'époque.

内核是什么意思_内核管理器_linux 内核 sprintf

Linus a reçu une copie du jeu "Prince of Persia" et a passé la plupart de son temps à y jouer. Plus tard, il a également acheté une copie de MINIX (une version mini d'un système d'exploitation de type Unix). Après avoir utilisé Unix à l'université, il a également voulu utiliser quelque chose de similaire à la maison.

Première version : As et Bs

Après avoir terminé le jeu, Linus a commencé à apprendre Intel Assembly Language. Il y a trois jours, il m'a montré un programme pour les tâches de vente à découvert. Une tâche ou un fil de discussion écrira la lettre « A » sur l'écran, et une autre écrira la lettre « B » lorsque « As » est remplacé par « B », le changement de contexte est visuellement évident. Il s'agissait de la première version de ce qui est devenu connu sous le nom de noyau Linux.

Pendant cette période, c'est-à-dire à la fin du printemps 1991, j'ai écrit pour lui une implémentation de la fonction sprintf() en langage C, car il n'avait pas encore appris à écrire des fonctions avec des listes de paramètres variables. Je veux qu'il n'ait pas à ressentir la douleur d'écrire une fonction différente pour chaque type de valeur, et pour la fonction Snprintf() plus sûre, le cœur du code est toujours dans le noyau.

Au fil du temps, Linus a continué à implémenter de nouvelles choses pour améliorer le noyau qu'il vient de démarrer. Après un certain temps, il disposait de clés et de pilotes de port parallèle qui simulaient la séquence de caractères génériques d'écran d'un terminal VT100, et pouvait les utiliser pour se connecter au collège via le décodeur modulateur et lire Usenet depuis chez lui. C'est comme un roman de science-fiction ! Un jour, après avoir récupéré de trois jours où Linus a accidentellement tenté de se connecter à l'académie en utilisant son disque dur, faisant démarrer sa piste de démarrage principale par "ATDT" et le numéro de téléphone du pool de décodeurs de modulation de l'académie, il implémenté les autorisations de fichiers dans son noyau.

En août 1991, Linus a fait sa première mention publique de son nouveau noyau dans le groupe de discussion comp.os.minix. Cela inclut ce qu'il a dit : "Je crée un système d'exploitation (gratuit), juste un passe-temps sprintf du noyau Linux, pas aussi grand et professionnel que GNU". La divulgation était si sincère que le système s’appelait initialement Freax. Quelques semaines plus tard, Linus a demandé à Ari Lemmke, l'un des administrateurs de ftp.funet.fi (le serveur du site Web), de télécharger la première archive tar. Ari a choisi le nom Linux et la version initiale contenait toujours le nom original intégré dans un fichier source.

Pendant cette période, les gens étaient très intéressés par cette nouveauté, Linus devait donc fournir une méthode d'installation et des instructions. Comme il n'avait qu'un ordinateur portable, il est venu me rendre visite pour l'installer sur mon ordinateur portable. Et comme son ordinateur portable était utilisé pour développer Linux, et que Linux n'avait été développé que sur la base de son installation Minix, il n'avait jamais été réellement installé auparavant. Pour cette raison, mon ordinateur portable est le premier ordinateur portable sur lequel Linux est installé ! Pendant que cela se produisait, j'étais distrait et je recommande ces méthodes d'installation de Linux : Je me suis déconnecté pendant que Linus faisait le gros travail.

La première version de Linux était sous licence d'utilisation commerciale strictement interdite, mais certains des premiers contributeurs ont suggéré de la remplacer par une licence de logiciel libre. Au printemps 1991, Richard Stallman (le fondateur du projet GNU) s'est rendu en France et j'ai emmené Linus écouter la conférence de Stallman. En raison de la pression des contributeurs et de mes réticences, Linus a finalement été persuadé de choisir la licence GNUGPL (General Public License) début 1992.

Pendant le jour de l'An, Linus a implémenté la mémoire vidéo virtuelle sous Linux. Cela fait de Linux un système d'exploitation plus pratique sur les machines bon marché avec une mémoire vidéo insuffisante.

Une année importante

1992 a commencé avec le célèbre débat avec Andrew Tanenbaum, doyen universitaire et auteur de MINIX, car il avait quelques idées sur Linux et son architecture, et Linus avait également des idées sur MINIX, ils ont donc eu un débat qui a été décrit Débat pour Fire Wars , mais semble assez civilisé avec le recul.

Bien que plus important pour le succès futur de Linux, le système X11 a été porté sous Linux, faisant de 1992 une année importante pour les méthodes de raccourcis sur le bureau Linux.

Pour moi, j'ai choisi de contribuer à la communauté au lieu de contribuer directement au noyau, et d'aider à répondre aux questions, à compiler la documentation, etc. J'ai également publié une newsletter de courte durée sur Linux, qui a gagné du terrain principalement grâce à la publication de la première interview de Linus, mais la newsletter a été effectivement remplacée par le groupe de discussion comp.os.linux.announce.

La première distribution Linux a également démarré en 1992 : SLS (SoftlandingLinuxSystem). L'année suivante, SLS est devenu Slackware, une distribution Linux produite par Patrick Volkerding, qui a inspiré Ian Murdock à fonder Debian en 1993 pour poursuivre une structure de développement davantage basée sur la communauté. Au cours des années suivantes, plusieurs autres distributions ont suivi.

En 1993, Linus et moi avons tous deux été embauchés comme assistants pédagogiques au collège et nous partagions un bureau. Il y avait un PC dans cette maison et Linus l'a repris et l'a utilisé pour le développement Linux. A cette époque, j'étais très satisfait d'un terminal DEC utilisé pour accéder à Usene (système de discussion).

Après trois jourssprint du noyau Linux, Linus a trouvé cela très ennuyeux. Comment vérifier la version du système sous Linux Comme l'ordinateur portable au travail lui semblait très lent, il a passé une journée à redessiner l'analyseur de ligne de commande du noyau Linux en langage assembleur ? . Augmenter la vitesse. (En fait, bien sûr, cela n'a aucun sens. L'analyseur a ensuite été redessiné en langage C pour faciliter la portabilité, sa vitesse n'est donc pas importante). Quelques années plus tard, il a reçu un PC plus récent, apparemment pour tester la pression de la gestion de la mémoire du noyau. Même s'il a passé plusieurs jours à jouer aux jeux Quake, il a eu beaucoup de plaisir à rester dans la pièce.

Plus tard, Linux a pris en charge Ethernet et TCP/IP (TransmissionControlProtocol/InternetProtocol), ce qui signifie que les utilisateurs pouvaient lire Usenet sans utiliser de décodeur de modulation. Malheureusement, les premiers codes réseau Linux étaient souvent un peu approximatifs car ils étaient écrits à partir de zéro. Un jour, Linux a envoyé des paquets de données corrompus, paralysant toutes les machines Sun du réseau. Parce qu'il était difficile de patcher le noyau de Sun, Linux a été banni du réseau universitaire, et le fait de ne pas pouvoir accéder facilement à Usenet depuis son bureau a encouragé le processus de patch jusqu'à ce que ses bogues soient corrigés.

L'"Open source" est véritablement créé

À l'été 1994, nous pensions que Linux était fini et qu'il n'y avait plus rien à ajouter. Les utilisateurs peuvent se compiler avec Linux, lire Usenet et exécuter plusieurs copies du programme xeyes simultanément. À cette époque, nous avons décidé de publier la version 1.0 et programmé un événement de publication. Nous avons invité les médias informatiques des États-Unis et 1TV a même envoyé une équipe de tournage. La majeure partie de l'événement était la grande compilation de Linux 1.0 en arrière-plan, tandis que Linus et d'autres parlaient de ce qu'est Linux et de son utilité. Linus a expliqué qu'un Unix commercial pour les ordinateurs portables personnels était si cher qu'il était plus facile d'écrire votre propre Unix à cette fin.

En 1995, Linus et moi avons suivi un cours de génie logiciel à l'université, dont la plupart étaient un petit projet pratique, mais construit sur Linux. J'ai insisté pour utiliser un système de contrôle de version parce que j'ai vu des collégiens crier à propos du contrôle de version dans les cours précédents : les collégiens partagent une arborescence de code source via NFS (Network File System), et quand ils changent quelque chose, ils crient "Je suis éditer ce fichier". Je pense que ce n'est pas un moyen efficace, donc je m'en tiens à CVS (ConcurrentVersionsSystem), dont je viens d'apprendre par expérience que Linus n'aime pas CVS, mais a refusé d'utiliser tout contrôle de version pendant des années, pas seulement la boule tar (compressée avec gzip compresseur) téléchargé sur le site FTP (FileTransferProtocol).

Cette année-là, Linus a porté Linux sur une nouvelle architecture pour la première fois et il a obtenu une machine DECAlpha (microprocesseur à architecture d'instructions 64 bits). J'utiliserais plus tard cette machine comme terminal pour lire Usenet, et d'autres porteraient Linux vers d'autres architectures en utilisant des hôtes virtuels Linux Apache, mais cela ne m'a pas donné plus de machines pour lire Usenet.

En 1997, Linus a obtenu son diplôme et a déménagé au Canada pour travailler chez Transmeta (une société à responsabilité limitée japonaise qui conçoit des microprocesseurs de traduction de codes de mots à instructions ultra longues), tandis que j'ai trouvé un emploi dans une autre université de la région de Munich en Allemagne.

Beaucoup de choses se sont produites au cours des années suivantes. Il s'avère que Linux manque encore de fonctionnalités, c'est pourquoi les gens travaillent dur dans ce domaine. Le terme « open source » a été inventé par IBM (International Business Machines Corporation), une société multinationale britannique de technologie et de conseil qui a investi beaucoup d'argent dans le développement de Linux. À cette époque, Netscape a publié une version open source du navigateur Web et, au fil du temps, l'open source a pratiquement conquis le monde. LWN (la publication en ligne estimée d'une société Eklektix axée sur les logiciels libres et les logiciels pour Linux et autres systèmes d'exploitation de type Unix) a commencé à couvrir une grande partie de cette histoire semaine après semaine.

En 1991, Linus écrivait que Linux "ne sera pas aussi grand et professionnel que GNU". En 2023. Linux fonctionne sur chaque île, sur chaque océan, sur des milliards d'appareils, en orbite et sur Mars. Et pour un flux qui a commencé avec deux simples threads écrivant des As et des B sur l'écran, ce n'est pas mal.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn