Definition

Unix

Qu'est-ce qu'Unix ?

Unix -- marque déposée sous le nom d'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 1970, Unix a été l'un des premiers systèmes d'exploitation à être écrit 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, offrant portabilité, stabilité et interopérabilité dans une gamme d'environnements hétérogènes et de types d'appareils.

Histoire d'Unix

À la fin des années 1960, Bell Labs (devenu AT&T), General Electric et le Massachusetts Institute of Technology ont tenté de mettre au point un système interactif de partage du temps appelé Multiplexed Information and Computing Service (Multics), qui permettrait à plusieurs utilisateurs d'accéder simultanément à un ordinateur central.

Déçus par les résultats, les laboratoires Bell se sont retirés du projet, mais les informaticiens de Bell, Ken Thompson et Dennis Ritchie, ont poursuivi leurs travaux, qui ont 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, ensemble, ils ont construit une suite de composants qui ont servi de base au système d'exploitation. Ces composants comprenaient un système de fichiers hiérarchique, une interface de ligne de commande (CLI) et de nombreux petits programmes utilitaires. 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 déployé un système d'exploitation autonome doté d'un assembleur, d'un éditeur et d'un interpréteur de commandes. Le nom, prononcé YEW-nihks, est 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 il s'agissait d'un système monotâche. 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. La portabilité d'Unix sur de multiples plates-formes informatiques s'en est trouvée améliorée.

À la fin des années 1970 et au début des années 1980, Unix a acquis une forte notoriété dans le monde universitaire, ce qui a conduit des entreprises 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 plusieurs autres dérivés d'Unix.

En 1991, Linus Torvalds, étudiant à l'université d'Helsinki, a créé un système d'exploitation basé sur Unix pour son PC. Plus tard, il a appelé son projet Linux et l'a mis à disposition en téléchargement gratuit, ce qui a conduit à la popularité croissante des systèmes de type Unix. Aujourd'hui, divers serveurs, stations de travail, appareils mobiles et systèmes embarqués modernes sont pilotés par des systèmes d'exploitation basés sur Unix, notamment les ordinateurs macOS et les appareils mobiles Android.

À quoi sert Unix ?

Unix est un système d'exploitation modulaire composé d'un certain nombre d'éléments essentiels, notamment le noyau, l'interpréteur de commandes, le système de fichiers et un ensemble d'utilitaires ou de programmes.

Au cœur du système d'exploitation Unix se trouve le noyau, un programme de contrôle principal qui fournit des services pour démarrer et terminer les programmes. Il gère également des opérations de bas niveau, telles que l'allocation de mémoire, la gestion des fichiers, la réponse aux appels système et l'ordonnancement 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.

Les utilisateurs interagissent avec l'environnement Unix par l'intermédiaire de l'interpréteur de commandes, qui permet d'entrer des commandes qui sont transmises au noyau pour exécution. Une commande permet d'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. Cette 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 saisit cette commande dans l'interpréteur de commandes, le noyau exécute le programme rm et supprime le fichier spécifié.

Unix commands
Neuf commandes Unix de base

Unix prend en charge plusieurs shells, dont sh, csh, ksh, tcsh et bash. Une distribution Unix désigne généralement un interpréteur de commandes par défaut, mais les utilisateurs peuvent choisir n'importe lequel des interpréteurs de commandes pris en charge. Les utilisateurs peuvent également personnaliser l'environnement de l'interpréteur de commandes ou écrire leurs propres scripts d'interpréteur de commandes.

En outre, l'interpréteur de commandes Unix permet d'utiliser des tuyaux (|), un outil puissant pour relier plusieurs commandes afin de créer des flux de travail complexes. Lorsque deux commandes ou plus sont reliées par un tuyau, 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.

Une autre caractéristique importante d'Unix est le système de fichiers, qui fournit une structure hiérarchique pour travailler avec des fichiers. Le système de fichiers organise les répertoires en une arborescence inversée avec le répertoire racine au sommet. Les fichiers sont ensuite affectés à des répertoires spécifiques et accessibles via la structure des répertoires. Les systèmes d'exploitation précédents divisaient un périphérique de stockage en sections selon un nombre fixe de niveaux.

Unix traite tous les types de fichiers comme de simples tableaux d'octets, ce qui donne un modèle de fichier beaucoup plus simple que ceux des autres systèmes d'exploitation. Unix traite également les périphériques et certains types de communication interprocessus comme des fichiers.

Les concepts d'Unix ont été influents pour diverses raisons, notamment les suivantes :

  • Unix a été un élément moteur du développement d'Internet et de la transformation de l'informatique en un paradigme centré sur le réseau.
  • Les développeurs d'Unix sont reconnus pour avoir introduit la modularité et la réutilisation dans la pratique du génie logiciel et pour avoir suscité un mouvement en faveur des outils logiciels.
  • Les développeurs d'Unix ont également créé un ensemble de règles culturelles pour le développement de logiciels - appelé philosophie Unix - qui a eu une grande influence sur la communauté des technologies de l'information.

Types d'Unix

Unix est devenu le premier système d'exploitation qui pouvait être amélioré par n'importe qui, en partie parce qu'il était écrit en langage C et qu'il reprenait de nombreuses idées populaires. Cependant, son succès précoce a donné naissance à de multiples variantes qui manquaient de compatibilité et d'interopérabilité. Pour remédier à ces problèmes, un certain nombre de fournisseurs et d'individus se sont réunis dans les années 1980 pour normaliser le système d'exploitation, d'abord en créant la norme Portable Operating System Interface, puis en définissant la spécification UNIX unique (SUS).

Depuis lors, Unix a continué à évoluer, avec l'ajout de nouvelles variantes, certaines propriétaires et d'autres à code source ouvert. La plupart des progrès sont le fruit de la contribution d'entreprises, d'universités et d'individus à des extensions et à de nouvelles idées.

Les licences Unix dépendent de la variante spécifique. Certaines variantes d'Unix sont propriétaires et font l'objet d'une licence payante, comme IBM Advanced Interactive eXecutive (AIX) ou Oracle Solaris, tandis que d'autres variantes sont gratuites et open source, comme Linux, FreeBSD et OpenBSD. La marque UNIX est aujourd'hui détenue par The Open Group, une organisation de normalisation industrielle qui certifie et marque les implémentations d'Unix.

Systèmes d'exploitation de type Unix

Le terme "Unix-like" est souvent utilisé pour décrire les différentes variantes d'Unix, mais il n'existe pas de définition claire de ce terme. En général, il peut désigner tout système d'exploitation ayant un lien avec Unix, aussi éloigné soit-il, y compris les variantes libres et open source. Certains développeurs de logiciels affirment qu'il existe trois types de systèmes similaires à Unix :

  1. Les systèmes d'exploitation historiquement liés à la base de code originale des laboratoires Bell, tels que les systèmes BSD développés par les chercheurs de Berkeley.
  2. Les systèmes Unix-like de marque déposée et de marque qui satisfont au SUS, tels que HP-UX et IBM AIX. L'Open Group a déterminé que ces systèmes sont autorisés à utiliser le nom Unix.
  3. Les systèmes fonctionnels de type Unix, tels que Linux et Minix, qui se comportent d'une manière conforme à la spécification Unix. Par exemple, ils doivent disposer d'un programme qui gère les sessions de connexion et de ligne de commande.

Quel est l'avenir d'Unix ?

Unix et ses variantes continuent de fonctionner sur un large éventail de systèmes, notamment des stations de travail, des serveurs et des supercalculateurs. 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 plateformes cloud. En outre, le système d'exploitation fonctionne désormais sur l'ensemble des 500 premiers supercalculateurs du monde. Linux est disponible à la fois sous forme de logiciel libre et de logiciel commercial propriétaire.

Bien que Linux reste fort, en particulier pour les serveurs d'entreprise, Unix lui-même a vu son utilisation décliner, en partie à cause de la migration des plates-formes informatiques à jeu d'instructions réduit vers des alternatives basées sur x86, qui peuvent exécuter plus de charges de travail et fournir des performances plus élevées à un coût moindre.

Les experts prévoient que de nombreuses organisations continueront à utiliser Unix pour les charges de travail critiques, mais qu'elles réduiront leur dépendance à l'égard du système en raison des stratégies de modernisation et de consolidation de l'informatique. Cependant, Unix reste le système préféré pour de nombreux cas d'utilisation, tels que le support d'applications dans les centres de données, la sécurité dans le cloud et les logiciels verticaux spécifiques.

On s'attend à ce que les ventes de serveurs Unix diminuent à l'avenir, mais les applications dans les secteurs de la finance, de l'administration et des télécommunications devraient continuer à stimuler l'utilisation d'Unix. Finalement, Unix pourrait être complètement abandonné, mais il s'agira probablement d'un long et lent déclin avant que cela ne se produise.

Linux, qui a évolué à partir d'Unix, peut être difficile à apprendre. Pour vous aider à mieux comprendre ce que Linux peut faire, il est important d'examiner les différents composants du système d'exploitation Linux.

Cette définition a été mise à jour en mai 2016

Pour approfondir sur Unix