Intéressant

UNIX: construction du système d'exploitation le plus important au monde

UNIX: construction du système d'exploitation le plus important au monde

Si vous avez déjà utilisé un smartphone, perdu la notion du temps de navigation sur site Web après site Web ou joué à un jeu vidéo sur une console Next-Gen, vous avez utilisé le système d'exploitation Unix ou l'un de ses dérivés.

Linux est le successeur spirituel du système Unix original et Mac OSX est construit à partir d'Unix. Les systèmes Unix ou dérivés sont utilisés dans de gigantesques fermes de serveurs, traitant presque tout le trafic Internet du monde. L'Internet des objets et d'autres systèmes embarqués utilisent Unix ou ses successeurs et Linux basé sur Unix a même été utilisé dans la Station spatiale internationale pour faire fonctionner des équipements essentiels.

Tout cela est possible parce que Kenneth Thompson, Dennis Ritchie et leurs collègues ne pouvaient pas voir un projet bien-aimé être victime de la réduction des coûts des entreprises.

Humble début d'Unix

Il s'avère que le système d'exploitation le plus populaire au monde a ses origines dans un échec commercial.

Les premières années de l'informatique ont été difficiles pour les programmeurs. Alors que les programmeurs disposent aujourd'hui de toutes sortes d'outils pour les aider à écrire, tester et exécuter des logiciels, les premiers ordinateurs étaient des systèmes d'unités par lots de cartes perforées, où un programmeur devait élaborer un programme à la main, les convertir en cartes perforées, demander un bloc. de temps sur une seule machine mainframe partagée pour exécuter leur programme, puis s'éloigner une fois terminé pour laisser le prochain programmeur avoir son tour.

Ce n’est que lorsque John McCarthy, professeur au Massachusetts Institute of Technology, a conceptualisé une meilleure façon dans une note à ses collègues en 1959. Sa proposition, connue sous le nom de Timesharing, était révolutionnaire et rendait possible l’informatique moderne.

Avant McCarthy, les programmes étaient lus dans le processeur une instruction à la fois, du début à la fin sans interruption. Il traiterait entièrement les instructions d'un seul programme utilisateur avant de passer au programme suivant, même si cela signifiait que le processeur de l'ordinateur était inactif pendant que l'utilisateur entrait des données ou que l'ordinateur sortait des données vers une imprimante.

Ce que McCarthy a proposé était de récupérer ces cycles informatiques périmés et non exploités en allouant de la mémoire pour stocker l'état du programme en cours d'exécution une fois qu'il atteignait un point où une fonction d'entrée ou de sortie est requise. Il basculerait alors vers un autre programme utilisateur en attente de traitement jusqu'à ce qu'il nécessite également un cycle d'entrée ou de sortie, où il répéterait le processus.

De cette façon, plusieurs utilisateurs pourraient utiliser ces anciens systèmes mainframe avec l'apparence qu'ils l'utilisent plus ou moins en même temps. À l'époque, McCarthy et d'autres ont vu que le potentiel du temps partagé allait au-delà des simples cycles d'entrée et de sortie, mais il faudrait près d'une décennie pour que cette idée mûre.

Multics: le progéniteur malheureux et mal compris du système d'exploitation Unix

En 1969, l'American Telephone & Telegraph Co. (AT&T) avait investi des millions de dollars pour essayer de construire un système exploitant le principe de temps partagé de McCarthy.

Le service d'information et de calcul multiplexés (Multics), comme on l'appelait, était le produit de certains des meilleurs informaticiens de l'industrie. Travaillant dans les légendaires laboratoires téléphoniques Bell d'AT & T, ces chercheurs, dirigés par Kenneth Thompson et Dennis Ritchie, ont porté l'idée du partage de temps à de nouveaux niveaux de complexité et de sophistication.

Les chercheurs du Bell Lab ont cherché à combiner le partage de temps avec toutes sortes de technologies émergentes dans un environnement d'exploitation complet où les utilisateurs pouvaient exécuter des programmes, écrire des programmes, éditer des documents et même envoyer et recevoir des e-mails via une connexion téléphonique.

Dans ce qui est devenu l'un des exemples les plus célèbres de fluage des fonctionnalités de l'histoire de l'informatique, Multics n'a réussi à atteindre aucun de ses objectifs initiaux définis par AT&T parce que les développeurs du système essayaient d'incorporer toutes les innovations auxquelles ils pouvaient penser dans un système qui n'en avait pas réellement besoin.

Frustré par le manque de progrès vers le système qui leur avait été initialement promis, AT&T a réduit ses pertes et abandonné complètement le projet Multics. Incapable de justifier le fait de laisser leurs chercheurs travailler sur un système qui n'avait aucune valeur commerciale apparente, Bell Labs a demandé à Thompson, Ritchie et au reste de l'équipe Multics d'interrompre tout autre travail sur le système.

Cela a été dévastateur pour l'équipe des Bell Labs. Peu de personnes, voire aucune, en dehors de leur équipe comprenaient ce qu'elles avaient réellement créé: un système d'exploitation fonctionnel, polyvalent et multi-utilisateurs, le premier du genre au monde.

Histoire du développement clandestin d'Unix

Pour l'équipe de Bell Labs, s'éloigner d'un système d'exploitation moderne et revenir à l'époque du traitement par lots de cartes perforées était impossible.

Thompson, Ritchie et Rudd Canaday, un autre chercheur des Bell Labs, ont rapidement franchi la première étape historique consistant à mettre sur papier les contours d'un tout nouveau type de système de fichiers pour ordinateur. Ils ont envisagé comment les fichiers pourraient être catégorisés et placés dans des conteneurs qui pourraient eux-mêmes être placés dans d'autres conteneurs, créant ainsi un répertoire de fichiers navigable - le même système utilisé par tous les ordinateurs modernes du monde aujourd'hui.

Thompson a alors commencé à formaliser le système Multics qu'ils avaient créé. Inspiré par un jeu qu'il a écrit pour les Multics, il a trouvé dans le laboratoire un ancien système PDP-7 que tout le monde considérait comme indésirable. Un système plus ancien et moins robuste que le mainframe GE-645, Thompson a commencé à réécrire son jeu pour fonctionner dessus, en réduisant le code pour tenir dans le plus petit espace.

Thompson s'est vite rendu compte qu'il pouvait faire de même pour le système Multics dans son ensemble, et au cours d'un seul mois de l'été 1969, il a réécrit une grande partie des Multics pour fonctionner sur le PDP-7. Des collègues amusés ont plaisanté en disant que les efforts de Thompson enfermés à la maison avec le système avaient transformé le système d’information et de calcul multiplexé en un système d’information et de calcul non multiplexé.

Les Multics étaient devenus des Unics, et finalement, simplement Unix.

Le PDP-7, déjà un clunker à l’époque, n’était pas suffisant pour poursuivre le développement illicite du nouveau système d’exploitation Unix. Ainsi, en 1970, Thompson et ses collègues ont amené la direction de Bell Labs à acheter un nouveau système PDP-11 qui servirait un objectif commercial légitime pour l'entreprise, mais qui fournirait également secrètement la première preuve de concept majeure pour leur nouveau système.

Le projet a été un succès spectaculaire, fournissant à l'équipe le levier nécessaire pour demander des équipements supplémentaires qu'ils pourraient utiliser pour développer secrètement le système d'exploitation Unix.

Développement communautaire du système d'exploitation Unix

Finalement, AT&T a pris conscience de ce que faisaient Thompson et les chercheurs de Bell. Reconnaissant la véritable utilité du système d'exploitation Unix, ils étaient dans une impasse.

Un accord juridique avec le gouvernement américain interdisait à AT&T de vendre ou de soutenir des produits ou services qui n'étaient pas explicitement des systèmes téléphoniques et télégraphiques, ce qu'Unix n'était certainement pas. N'étant pas en mesure de le vendre en tant que produit et ne pouvant fournir aucun support logiciel pour lui à titre officiel, tout ce qu'ils pouvaient légalement faire était de concéder sous licence le système d'exploitation Unix aux parties intéressées pour une somme modique.

Thompson et compagnie ont pris cette ouverture et ont couru avec elle. Participant à des événements commerciaux, ils feraient la promotion d'Unix auprès des développeurs qui en sont rapidement tombés amoureux.

La portabilité du système signifiait qu'il pouvait fonctionner sur un large éventail de matériels, son agnosticisme linguistique signifiait que divers langages pouvaient fonctionner dans son environnement, et sa simplicité rudimentaire associée à des capacités de partage du temps permettait à des équipes entières de chercheurs de travailler avec le système avec un investissement minimal.

Le prétendu «piège» de l'accord avec AT&T, à savoir qu'il ne pouvait y avoir de soutien officiel, s'est avéré être un énorme avantage organique pour le système d'exploitation Unix à la fin. S'il y avait un bogue dans le système d'exploitation, les utilisateurs devaient démonter le code et le corriger eux-mêmes et s'ils ne pouvaient pas comprendre ce qui n'allait pas, ils devaient demander de l'aide à d'autres utilisateurs Unix.

Bientôt, les passionnés d'Unix à travers le pays s'envoyaient physiquement des bandes de stockage de mises à jour du code source pour corriger les bogues, améliorer les fonctionnalités et partager leurs connaissances entre eux juste au moment où l'informatique moderne arrivait à maturité.

Non seulement le système d'exploitation était vraiment excellent, mais il avait également un timing impeccable. Les programmeurs qui apprenaient la programmation sur un système Unix continueraient ensuite à développer des systèmes propriétaires pour d'autres machines, en utilisant Unix comme source d'inspiration pour leurs systèmes, sinon en construisant carrément leur système d'exploitation au-dessus d'Unix lui-même.

Des combats juridiques ont finalement éclaté alors qu'AT & T tentait de faire valoir sa revendication du système d'exploitation Unix, mais comme toutes les bonnes tentatives pour étouffer le partage de fichiers, les efforts d'AT & T n'ont fait qu'accélérer la propagation clandestine et rebelle du système proto-open source Unix, en particulier depuis plusieurs les recréations de la version d'AT & T d'Unix étaient depuis longtemps dans la nature. Cela a permis le développement continu des systèmes basés sur Unix au-delà de la portée des avocats d'AT & T, a solidement consolidé son statut de système d'exploitation incontournable pour les professionnels de l'informatique et les amateurs.

Aujourd'hui, Unix et ses dérivés constituent la majorité des systèmes d'exploitation actuellement utilisés et sa popularité continue de se propager à mesure que la popularité des logiciels open source augmente. Tout cela grâce à Kenneth Thompson, Dennis Ritchie et leurs collègues rebelles de Bell Labs, qui - en refusant de voir mourir leur bien-aimé Multics - ont assuré que leur système d'exploitation Unix continuerait à faire fonctionner le monde.


Voir la vidéo: 018 Construction dun Hello World (Novembre 2021).