Une brève histoire d'Unix

Contenu

Bash Shell

Bien qu'il ait nourri plus de 90% des charges de travail cloud aujourd'hui, Unix (et Linux avec) a eu des débuts modestes. Jim Hall explique comment Unix de Bell Labs dans les années 1990 1970 est devenu l'épine dorsale de nombreux systèmes d'exploitation modernes.

Les origines d'Unix

Aux débuts de l'informatique, les utilisateurs interagissaient avec l'ordinateur via une gamme de moyens byzantins. L'ENIAC d'origine ne comportait même pas d'"interface de programmation" comme nous le pensons maintenant; à sa place, programmeurs connectés “unités fonctionnelles” séparés par des fiches et des câbles. Comme les ordinateurs sont devenus plus pratiques, est devenu une plateforme de trading par lots, comme à travers des piles de cartes de données perforées.

Sur les systèmes ultérieurs, plus “moderne” comme le mainframe, l'administration du système était encore complexe. Création d'un fichier requis en spécifiant la quantité d'espace disque pour allouer plus d'autres attributs. Les opérateurs interagissaient régulièrement avec le système à l'aide de terminaux en papier ressemblant à des machines à écrire.. Et dans ces premiers jours, c'est ainsi que les gens s'attendaient à travailler avec des ordinateurs.

Au milieu et à la fin des années 90 1960, le MIT, Bell Labs et GE ont collaboré sur un nouveau système appelé MULTICS, le Service de l'Informatique et de l'Information Multiplexée. MULTICS allait être une révolution dans l'informatique. Mais à travers son développement, MULTICS est également devenu de plus en plus complexe. Frustré du projet, Bell Labs a pris sa retraite, laisser les autres poursuivre le projet plus tard, même très tard.

Pendant, Ken Thompson est revenu de MULTICS aux Bell Labs pour travailler sur d'autres projets. Un effort impliquait un lecteur de disque spécifiquement rapide connecté à un mini-ordinateur DEC PDP-7.. Thompson voulait tirer le meilleur parti des performances de cette unité et, par extension, sur n'importe quel périphérique de stockage. Ensuite, commencé à travailler sur un programmeur de disque.

A l'approche de ce projet, Thompson s’est rendu compte que son projet d’essai entrait sur le territoire de l' “système opérateur”. Pour les trois prochaines semaines, pendant que sa femme était en vacances pour rendre visite à ses parents, Thompson a rempli les pièces manquantes et a ajouté une interface d'appel exécutif, un assembleur, un éditeur et un shell. Et de ces petits débuts, Unix est né.

Développement Unix

Tout au long de son développement chez Bell Labs, il n’y avait pas “conception principale” qui définissait ce qu’Unix devait faire ou devenir. En échange, Unix a grandi de manière organique car différents utilisateurs avaient besoin de nouvelles fonctionnalités.

L'une de mes premières histoires Unix préférées est comment les chercheurs Unix ont réussi à acheter un nouveau système informatique pour continuer leur travail et ont créé une nouvelle commande Unix standard en même temps. Le département Brevets prévoyait d'acquérir un nouveau système informatique dédié à la rédaction des demandes de brevets pour le compte de Bell Labs. L'équipe Unix a suggéré que le département des brevets achète un nouveau mini-ordinateur DEC PDP-11, et l'équipe Unix installerait Unix et écrirait un logiciel personnalisé pour aider le service des brevets à rédiger des demandes de brevet. Ce nouveau logiciel de rédaction de brevets? Une nouvelle implémentation du système de format de document Roff, lui-même une dérivation d'un programme CTSS antérieur appelé RUNOFF. Aujourd'hui, “Nouveau Roff” O nroff, c'est une partie fondamentale d'Unix.

Les commandes Unix elles-mêmes ont reçu des noms très courts. Les ls, rm, mv, et d'autres commandes Unix standard étaient si courtes parce que les premiers terminaux de téléscripteur 33 utilisé dans les Bell Labs a nécessité un effort important pour taper chaque lettre. C'était plus facile d'écrire rm qu'un nom de commande plus descriptif comme remove, O cp Quoi copy.

Une des caractéristiques déterminantes d'Unix, la “pipeline”, qui permettait à une commande d'envoyer sa sortie à une autre commande pour un traitement ultérieur, il a également été ajouté à la demande d'un autre chercheur des Bell Labs, Douglas McIlroy. Jusque là, les commandes ont agi sur des fichiers individuels en même temps. Mais avec les tuyaux, vous pouvez enchaîner plusieurs commandes pour créer des résultats plus intéressants. Par exemple, les ls la commande liste les fichiers dans un répertoire, et le wc la commande compte les lignes de votre entrée. Si vous connectez les deux commandes ensemble comme ls|wc , obtient le nombre de fichiers dans un répertoire.

D'autres commandes ont été ajoutées de la même manière en raison d'une demande de quelqu'un. Thompson a écrit le grep commande basée sur une suggestion de McIlroy selon laquelle Unix devrait avoir un utilitaire pour rechercher du texte dans les fichiers. Thompson a réutilisé le code Unix ed éditeur pour créer un utilitaire permettant d’effectuer un “impression globale d’expressions régulières” de tout texte qui correspond à celui de l’utilisateur expression régulière. Cette commande “impression globale d’expressions régulières” s’appelait simplement grep, maintenant une commande Unix standard.

Unix partout

Unix a continué de croître, principalement comme recherche et comme plate-forme pour des projets au sein des Bell Labs jusqu'au milieu des années 1990. 1980. Vers cette époque, un groupe de différents fournisseurs a commencé à commercialiser leurs propres versions d'Unix, inclus HP-UX de Hewlett Packard, IBM AIX, Xenix de Microsoft, SunOS de Sun. (plus tard rebaptisé Solaris), entre autres. Au 1983, Richard Stallman a lancé un nouveau projet pour créer une version logicielle gratuite d'Unix, appelé GNU (un récursif acronyme, qu’est-ce que cela signifie “GNU n’est pas Unix”).

Chaque distribution Unix était légèrement différente et incompatible les unes avec les autres. Certains ont été dérivés de l'original AT Unix&Laboratoire T Bell, tels que HP-UX et AIX. D'autres versions d'Unix ont été dérivées d'une variante universitaire populaire de l'Université de Californie à Berkeley, Appel BSD pour “Distribution de logiciels Berkeley”. La plupart des commandes étaient identiques ou similaires entre les différentes versions d'Unix, mais les détails sur la façon dont il gérait le système en général étaient très différents. Une différence clé était la façon dont Unix a été lancé: À&T “Système V” Utilisations d’Unix niveaux d'exécution contrôlé par une centrale /etc/inittab déposer, tandis que BSD Unix démarre tout en utilisant contrôle d'exécution tirets commençant par /etc/rc texte.

D'autres systèmes Unix sont venus et sont partis au cours des décennies de 1980 et 1990. Steve Jobs, après avoir été évincé du poste de PDG d'Apple en 1985, fundó Next, qui a produit sa propre variante d'Unix, dérivé de BSD. NeXT a apporté plusieurs innovations à Unix, y compris un micronoyau basé sur Mach. Le bureau graphique NeXT, L'étape suivante, ajouté d'autres nouvelles idées, tels que l'affichage PostScript pour créer des graphiques à l'écran, un “quai” d’applications disponibles et en cours d’exécution, et une couche applicative orientée objet avec des boîtes à outils.

Au 1991, un étudiant finlandais nommé Linus Torvalds a commencé à travailler sur un projet qui est devenu plus tard le noyau Linux. Les 25 août 1991, Torvalds a publié une courte annonce sur un groupe de discussion Usenet au sujet de son projet de passe-temps et a invité d'autres personnes à contribuer.. Torvalds a publié Linux sous la licence publique générale GNU, ce qui signifiait que n'importe qui pouvait modifier Linux pour corriger des bogues ou ajouter de nouvelles fonctionnalités. Ce modèle de “L'indexation garantit que les sauvegardes sont effectuées rapidement afin que les fichiers ne soient pas inutilement copiés plus d'une fois” O “logiciel libre” a rapidement stimulé le développement de nouveaux systèmes Linux.

Des communautés sont apparues autour de Linux, transportant des outils GNU et d'autres commandes Unix pour s'exécuter sous Linux. Au 1992, les développeurs ont porté le système X Window, ce qui a donné à Linux sa première interface utilisateur graphique. Le résultat est ce que la plupart des gens pensent quand nous disons “Linux”, même si Linux c'est en fait juste le noyau qui exécute tout.

Unix moderne

Bien qu'il existe encore des systèmes Unix propriétaires, la plupart des systèmes Unix sont Linux. Au moins sur les serveurs web, Linux domine. Linux est également courant pour de nombreuses charges de travail d'entreprise, y compris les serveurs d'applications et les serveurs de bases de données. Difficile de savoir exactement combien de serveurs Linux exécutent des choses, Mais de nombreuses estimations suggèrent que Linux exécute plus des deux tiers des serveurs Web et autres infrastructures Internet.. Même Microsoft est compatible avec Linux; votre plateforme Azure exécute Linux, de la même manière que le sous-système Windows pour Linux sur les bureaux Windows.

Au bureau, Linux n'a jamais pris pied de manière significative. Un gag commun dans la communauté Linux est “L’année prochaine sera le Année de bureau Linux. ” Mais Windows règne en maître sur le bureau. Malgré cela, si vous recherchez Unix sur le bureau, pensez à Apple macOS. Au 1996, dans le cadre du retour de Steve Jobs chez Apple en tant que PDG, Apple a acheté NeXT et utilisé NeXT comme base pour le système d'exploitation de nouvelle génération dans les nouveaux Mac. MacOS est vraiment Unix sous le capot; ouvrez une fenêtre de terminal et vous pouvez trouver un shell Unix avec les utilitaires Unix standard. En réalité, macOS est un Unix officiel, reconnu par le Groupe Ouvert.

Où va Unix maintenant? Je ne sais pas si “Unix” est l’étiquette correcte. À une époque où les systèmes Linux sont largement plus nombreux Unix les serveurs, il est possible que nous ayons dépassé le point où “Unix” a beaucoup de sens. Il ne s’agit plus “Unix en tant que plate-forme”, mais de “Linux en tant que plate-forme”. Et tout comme Unix a dépassé sa conception originale, ajouter de nouvelles fonctionnalités là où elles étaient nécessaires, Linux continue d'évoluer pour répondre aux nouveaux besoins. Au moins dans un avenir prévisible, il s’agit de “Linux”, n° de “Unix”.

Abonnez-vous à notre newsletter

Nous ne vous enverrons pas de courrier SPAM. Nous le détestons autant que vous.