Table des matières de l'article :
Qu'est-ce qu'Unix ?
Unix, enregistré en tant qu'UNIX, est un système d'exploitation (OS) multi-utilisateurs et multitâches conçu pour la flexibilité et l'adaptabilité. Développé à l'origine dans les années 70, Unix a été l'un des premiers systèmes d'exploitation écrits dans le langage de programmation C. Depuis son introduction, le système d'exploitation Unix et ses dérivés ont eu un effet profond sur l'industrie informatique et électronique en offrant portabilité, stabilité et interopérabilité. sur une gamme d'environnements et de types d'appareils hétérogènes.
Histoire d'Unix
À la fin des années 60, Bell Labs (plus tard AT&T), General Electric et le Massachusetts Institute of Technology ont tenté de développer un système interactif de partage de temps appelé Multiplexed Information and Computing Service (Multics) qui permettrait à plusieurs utilisateurs d'accéder à un ordinateur central au en même temps.
Déçus par les résultats, les Bell Labs se sont retirés du projet, mais les informaticiens de Bell, Ken Thompson et Dennis Ritchie, ont poursuivi leur travail, qui a abouti au développement du système d'exploitation Unix. Dans le cadre de cet effort, Thompson et Ritchie ont recruté d'autres chercheurs des Bell Labs et ont construit ensemble une suite de composants qui ont fourni une base pour le système d'exploitation. Les composants comprenaient un système de fichiers hiérarchique, une interface de ligne de commande (CLI) et des programmes utilitaires plus petits. Le système d'exploitation a également apporté avec lui les concepts de processus informatiques et de fichiers de périphériques.
Un mois plus tard, Thompson a implémenté un système d'exploitation auto-hébergé avec un assembleur, un éditeur et un shell. Le nom, prononcé IF-nihks , était un jeu de mots basé sur le système précédent : une version émasculée ou eunuque de Multics. Unix était beaucoup plus petit que ce que les développeurs originaux avaient prévu pour Multics et était un système à tâche unique. Les capacités multitâches viendraient plus tard.
Avant 1973, Unix était écrit en langage assembleur, mais la quatrième édition a été réécrite en C. C'était révolutionnaire à l'époque car les systèmes d'exploitation étaient considérés comme trop complexes et sophistiqués pour être écrits en C, un langage de haut niveau. Cela a augmenté la portabilité d'Unix sur plusieurs plates-formes informatiques.
Il faut mentionner pour divulguer et comprendre le génie de ces pionniers de l'informatique qui aussi le langage C à la base de la programmation et de l'informatique elle-même a été développé par Brian Kernighan et Dennis Ritchie, le même Dennis Ritchie inventeur d'UNIX. Célèbre est le texte "Langage C - Norme ANSI"Utilisé dans toutes les académies universitaires à vocation technologique comme l'informatique, rebaptisé" Kernighan & Ritchie "ou plus simplement" K&R ".
À la fin des années 70 et au début des années 80, Unix s'est forgé une solide réputation dans le milieu universitaire, ce qui a conduit des startups commerciales, telles que Solaris Technologies et Sequent, à l'adopter à plus grande échelle. Entre 1977 et 1995, le groupe de recherche sur les systèmes informatiques de l'Université de Californie à Berkeley a développé Berkeley Software Distribution (BSD), l'une des premières distributions Unix et la base de nombreuses autres retombées Unix.
Plus précisément, voici quelques étapes fondamentales des différents UNIX :
Unix V6, sorti en 1975, est devenu très populaire. Unix V6 était gratuit et était distribué avec son code source.
En 1983, AT&T a publié Unix System V qui était une version commerciale.
Pendant ce temps, l'Université de Californie à Berkeley a commencé à développer sa propre version d'Unix. Berkeley a également participé à l'inclusion du protocole réseau TCP / IP (Transmission Control Protocol / Internet Protocol).
Voici les étapes importantes de l'histoire d'UNIX au début des années 80
• AT&T développait son System V Unix.
• Berkeley a pris les devants sur son propre Unix BSD (Berkeley Software Distribution).
• Sun Microsystems a développé son propre Unix basé sur BSD appelé SunOS et a ensuite été renommé Sun Solaris.
• Microsoft et Operation Santa Cruz (SCO) étaient impliqués dans une autre version d'UNIX appelée XENIX.
• Hewlett-Packard a développé HP-UX pour ses stations de travail.
• DEC a lancé ULTRIX.
• En 1986, IBM développe AIX (Advanced Interactive eXecutive).
L'avènement de MINIX
L'avènement de MINIX marque une étape importante dans l'histoire des systèmes d'exploitation de type UNIX. MINIX, abréviation de « Mini-Unix », est un système d'exploitation conçu et développé par Andrew S. Tanenbaum en 1987. Tanenbaum, professeur d'informatique à la Vrije Universiteit Amsterdam, a créé MINIX comme outil pédagogique pour enseigner les concepts fondamentaux du système d'exploitation. Sa conception modulaire et son micro-noyau le rendent particulièrement adapté à des fins éducatives, car il simplifie la compréhension du fonctionnement interne des systèmes d'exploitation, rendant ainsi les concepts complexes plus accessibles.
MINIX n'était pas seulement un projet académique, mais aussi une réponse à la complexité croissante et à la fermeture des systèmes d'exploitation commerciaux de l'époque. Tanenbaum souhaitait créer un système petit, compréhensible et facilement modifiable par les étudiants. Le code source de MINIX était disponible gratuitement et accompagné du livre « Systèmes d'exploitation : conception et mise en œuvre », qui fournissait une explication détaillée du code lui-même, ce qui en faisait un outil pédagogique précieux.
Le projet MINIX a eu un impact durable et significatif. Bien qu’il n’ait jamais été adopté massivement comme les autres systèmes d’exploitation, il a profondément influencé la communauté des développeurs. L'un des épisodes les plus connus liés à MINIX est l'inspiration qu'il a fournie à Linus Torvalds, le créateur de Linux. Torvalds a commencé le développement de Linux en tant qu'extension de MINIX, avant d'en faire un système d'exploitation complètement indépendant. Cela a fait de MINIX une étape importante dans l'histoire de l'informatique, étant l'une des racines de tout l'écosystème Linux qui domine aujourd'hui le paysage des serveurs et des systèmes embarqués.
En plus de son influence sur Linux, MINIX n'a cessé d'évoluer. Les versions ultérieures, comme MINIX 3, se sont concentrées sur la robustesse et la fiabilité, se positionnant comme un système d'exploitation pour appareils embarqués et serveurs à haute disponibilité. La communauté des développeurs MINIX est restée active, continuant à explorer de nouvelles façons d'améliorer et d'utiliser ce système d'exploitation petit mais puissant.
La naissance de Linux ou plutôt GNU/LINUX
La naissance de Linux, ou plutôt de GNU/Linux, représente l'un des moments les plus cruciaux de l'histoire des systèmes d'exploitation et du logiciel libre. Le projet Linux a débuté en 1991, lorsque Linus Torvalds, un étudiant finlandais en informatique à l'Université d'Helsinki, a décidé de créer un nouveau noyau de système d'exploitation comme passe-temps. Insatisfait des limites de MINIX, Torvalds souhaitait développer quelque chose de plus puissant et plus flexible. Il est important de noter que Linux n'est pas un UNIX, mais un système d'exploitation de type UNIX, c'est-à-dire un système qui s'inspire des principes d'UNIX sans en être une copie directe.
Le projet GNU, lancé par Richard Stallman en 1983, a joué un rôle fondamental dans la création de GNU/Linux. Stallman avait pour objectif de créer un système d'exploitation totalement libre, similaire à Unix, et a choisi le nom GNU comme un jeu de mots : « GNU n'est pas Unix ». Le projet GNU avait développé de nombreux outils nécessaires, tels que des compilateurs, des bibliothèques et des shells, mais il lui manquait un noyau fonctionnel. La combinaison du noyau Linux avec les composants du projet GNU a conduit à la création d'un système d'exploitation complet et fonctionnel : GNU/Linux.
GNU/Linux est basé sur les principes de liberté et de collaboration. Le code source est disponible gratuitement, permettant à chacun de l'étudier, de le modifier et de le distribuer. Cette approche a conduit au développement très rapide et à une large diffusion de GNU/Linux. Aujourd'hui, GNU/Linux est utilisé sur une large gamme d'appareils, depuis les grands serveurs et ordinateurs de bureau jusqu'aux appareils mobiles et systèmes embarqués. Il s'agit actuellement de l'un des systèmes d'exploitation les plus populaires au monde, ayant supplanté de nombreux systèmes UNIX propriétaires en raison de sa flexibilité, de sa puissance et de sa communauté de support.
L'un des éléments clés du succès de GNU/Linux a été son modèle de développement ouvert et collaboratif. Des millions de développeurs et d'utilisateurs à travers le monde ont contribué à l'amélioration du logiciel, créant ainsi une communauté mondiale de personnes dédiées à l'amélioration continue du système d'exploitation. Les différentes distributions de GNU/Linux, comme Ubuntu, Fedora, Debian et bien d'autres, offrent des solutions adaptées aux différents usages et préférences, en maintenant toujours les principes d'ouverture et de partage qui sous-tendent le mouvement du logiciel libre.
En 1991, Linus Torvalds, un étudiant de l'Université d'Helsinki, inspiré par MINIX, a créé un système d'exploitation basé sur Unix pour son PC. Il nommera plus tard son projet Linux et le rendra disponible en téléchargement gratuit, ce qui a conduit à la popularité croissante des systèmes de type Unix.
Aujourd'hui, une grande variété de serveurs, stations de travail, appareils mobiles et systèmes embarqués modernes sont exécutés par des systèmes d'exploitation basés sur Unix, y compris les ordinateurs macOS et les appareils mobiles Android qui utilisent efficacement un noyau Linux.
A quoi sert Unix ?
Unix est un système d'exploitation modulaire composé d'un certain nombre de composants essentiels, notamment le noyau, le shell, le système de fichiers et un ensemble de base d'utilitaires ou de programmes.
Le cœur du système d'exploitation Unix est le noyau, un programme de contrôle principal qui fournit des services pour démarrer et terminer des programmes. Il gère également les opérations de bas niveau, telles que l'allocation de mémoire, la gestion des fichiers, la réponse aux appels système et la planification des tâches. La planification des tâches est nécessaire pour éviter les conflits lorsque plusieurs programmes tentent d'accéder à la même ressource en même temps.
A la base d'UNIX il y a des concepts techniques et des choix d'implémentation qui permettent de gérer de manière très simple et élégante la sortie d'un programme comme entrée pour un autre programme et ainsi de suite.
Grâce à cette approche, il est possible (grâce à la concaténation de nombreuses commandes spécifiques) de produire des résultats et des sorties pour un objectif défini très complexe.
Par exemple, vous pouvez avoir le réel besoin (le cas décrit était un réel besoin interne) de devoir télécharger tous les PDF séparés de l'annuité des mouvements d'un circuit bancaire, les convertir en TXT, exporter certains champs comme Date, Société name, Reason , Importer et compiler un fichier au format XLS.
Combinaison de wget avec pdf2txt, AWK vous permet de gérer élégamment le besoin et de résoudre le problème.
Unix prend en charge l'utilisation de pipe (|), un outil puissant pour lier plusieurs commandes afin de créer des workflows complexes. Lorsque deux commandes ou plus sont liées ensemble, la sortie de la première commande est utilisée comme entrée pour la deuxième commande, la sortie de la deuxième commande est utilisée comme entrée pour la troisième commande, et ainsi de suite.
Les utilisateurs interagissent avec l'environnement Unix via le shell, une CLI pour entrer des commandes qui sont transmises au noyau pour exécution. Une commande est utilisée pour invoquer l'un des utilitaires disponibles. Chaque utilitaire effectue une opération spécifique, telle que la création de fichiers, la suppression de répertoires, la récupération d'informations système ou la configuration de l'environnement utilisateur.
Certaines commandes Unix prennent un ou plusieurs arguments, qui permettent d'affiner le comportement de l'utilitaire. Par exemple, un utilisateur peut entrer la commande rm OldFILE.txt. La commande appelle l'utilitaire rm, qui supprime les fichiers d'un répertoire. La commande inclut également l'argument OldFILE.txt, qui est le fichier à supprimer. Lorsque l'utilisateur entre cette commande dans le shell, le noyau exécute le programme rm et supprime le fichier spécifié.
Les concepts Unix ont été influents pour diverses raisons, notamment les suivantes :
- Unix a joué un rôle moteur dans le développement d'Internet et la transformation de l'informatique en un paradigme centré sur le réseau.
- Les développeurs Unix sont crédités d'avoir introduit la modularité et la réutilisabilité dans la pratique du génie logiciel et d'avoir incité au mouvement des outils logiciels.
- Les développeurs Unix ont également créé un ensemble de règles culturelles pour le développement de logiciels, appelé Philosophie Unix , qui a été très influent pour la communauté informatique.
Types d'Unix
Unix est devenu le premier système d'exploitation qui peut être amélioré ou amélioré par n'importe qui, en partie parce qu'il a été écrit en langage C et qu'il a adopté de nombreuses idées populaires. Cependant, son succès initial a conduit à de multiples variantes qui manquaient de compatibilité et d'interopérabilité. Pour résoudre ces problèmes, un certain nombre de fournisseurs et d'individus se sont réunis dans les années 80 pour normaliser le système d'exploitation, créant d'abord la norme d'interface de système d'exploitation portable, puis définissant la spécification UNIX unique (SUS).
Depuis, Unix n'a cessé d'évoluer, avec l'ajout de nouvelles variantes, certaines propriétaires et d'autres open source. Une grande partie des progrès a été le résultat d'entreprises, d'universités et d'individus qui ont contribué avec des extensions et de nouvelles idées.
La licence Unix dépend de la variante spécifique. Certaines variantes d'Unix sont propriétaires et sous licence, comme IBM Advanced Interactive eXecutive (AIX) ou Oracle Solaris, et d'autres variantes sont gratuites et open source, notamment Linux, FreeBSD et OpenBSD. La marque UNIX appartient maintenant à Le groupe ouvert , une organisation de normalisation industrielle qui certifie et marque les implémentations UNIX.
Pour être précis, cependant, Linux n'est pas Unix, mais c'est un système d'exploitation de type Unix. Le système Linux est dérivé d'Unix et s'inscrit dans la continuité des fondements de la conception Unix. Les distributions Linux sont l'exemple le plus célèbre et le plus sain de dérivés
Systèmes d'exploitation similaires à UNIX ou appelés UNIX
Le terme UNIX comme il est souvent utilisé pour décrire les différentes variantes d'Unix, mais il n'y a pas de définition claire de ce que signifie ce terme. En général, il peut faire référence à tout système d'exploitation ayant une relation avec Unix, quelle que soit sa distance, y compris les variantes libres et open source. Certains développeurs de logiciels affirment qu'il existe trois types de systèmes de type Unix :
- Systèmes d'exploitation historiquement liés à la base de code originale des Bell Labs, tels que les systèmes BSD développés par les chercheurs de Berkeley.
- Systèmes de marque et de marque Unix conformes à SUS, tels que HP-UX et IBM AIX. L'Open Group a déterminé que ces systèmes peuvent utiliser le nom Unix.
- Systèmes fonctionnels de type Unix, tels que Linux et Minix, qui se comportent de manière cohérente avec les spécifications Unix. Par exemple, ils doivent disposer d'un programme qui gère les sessions de connexion et de ligne de commande.
Le lent déclin d'UNIX.
Le déclin d'Unix est "plus un artefact du manque d'attrait marketing que du manque de présence« Dit Joshua Greenbaum, analyste principal chez Conseil en applications d'entreprise . « Personne ne vend plus d'Unix, c'est une sorte de terme mort. Il existe toujours, il n'est tout simplement pas construit autour de la stratégie de quiconque en matière d'innovation haut de gamme. Il n'y a pas d'avenir, et ce n'est pas parce qu'il y a quelque chose qui ne va pas en soi, c'est juste que tout ce qui est innovant ira dans le cloud ».
"Le marché UNIX est en déclin inexorable« Dit Daniel Bowers, directeur de la recherche pour l'infrastructure et les opérations de Gartner. "Seul 1 serveur sur 85 déployé cette année utilise Solaris, HP-UX ou AIX. La plupart des applications sur Unix qui peuvent être facilement portées sur Linux ou Windows ont déjà été déplacées" .
La plupart de ce qui reste sur Unix aujourd'hui sont des charges de travail personnalisées et critiques dans des secteurs tels que les services financiers et la santé. Étant donné que ces applications sont coûteuses et risquées à migrer ou à réécrire, Bowers prédit un déclin à long terme d'Unix qui pourrait durer 20 ans. "En tant que système d'exploitation viable, il a au moins 10 ans car il y a cette longue file d'attente. Même dans 20 ans, les gens voudront toujours s'en occuper", il prétend.
Gartner ne suit pas la base d'installation, seulement les nouvelles ventes et la tendance est à la baisse. Au premier trimestre 2014, les ventes d'Unix s'élevaient à 1,6 milliard de dollars. Au premier trimestre 2018, les ventes s'élevaient à 593 millions de dollars. En termes d'unités, les ventes d'Unix sont faibles, mais elles se présentent presque toujours sous la forme de serveurs haut de gamme et fortement équipés qui sont beaucoup plus grands que le serveur x86 à deux sockets typique.
Quel est l'avenir d'Unix ?
Unix et ses variantes continuent de fonctionner sur une large gamme de systèmes, y compris les stations de travail, les serveurs et les superordinateurs. Linux, en particulier, a pris la tête des implémentations de type Unix, gagnant une forte présence dans les centres de données et sur les plates-formes cloud. De plus, le système d'exploitation fonctionne désormais sur les 500 meilleurs supercalculateurs du monde. Linux est disponible à la fois en tant que logiciel libre et logiciel propriétaire commercial.
Alors que Linux reste solide, en particulier pour les serveurs d'entreprise, Unix lui-même a connu une baisse d'utilisation, en partie en raison de la migration des plates-formes informatiques avec des jeux d'instructions réduits vers des alternatives basées sur x86, qui peuvent exécuter plus de charges de travail et fournir des performances plus élevées à un prix inférieur. Coût.
Les experts prédisent que de nombreuses organisations continueront à utiliser Unix pour les charges de travail critiques, mais réduiront leur dépendance vis-à-vis du système grâce aux stratégies de modernisation et de consolidation informatiques. Cependant, Unix reste le système préféré pour de nombreux cas d'utilisation, tels que la prise en charge des applications de centre de données, la sécurité du cloud et les logiciels spécifiques à la verticale.
Les ventes futures de serveurs Unix devraient décliner, mais les applications dans les secteurs financier, gouvernemental et des télécommunications devraient continuer à stimuler l'utilisation d'Unix. Finalement, Unix peut être complètement abandonné, mais un long et lent déclin sera nécessaire avant que cela ne se produise.