Présentation
Auteur(s)
-
Philippe SOULEMA : Ingénieur Développement société SLIGOS
Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.
Lire l’articleINTRODUCTION
Unix est un système ouvert, à la fois multi‐utilisateurs et multitâches. Il permet donc la répartition des ressources (mémoires, processeurs, espace disque, imprimantes, programmes et utilitaires) entre les utilisateurs et les tâches.
Sa composition est la suivante :
-
un noyau assurant la gestion de la mémoire, des entrées/sorties de bas niveau, l’enchaînement des tâches ;
-
des interpréteurs de commandes (shells) comprenant des instructions et des structures de contrôle ;
-
un système de messagerie électronique ;
-
des utilitaires (compilateurs, éditeurs...).
Ses principales caractéristiques sont :
-
un système de fichiers hiérarchisé ;
-
une réallocation possible des entrées/sorties des processus : l’entrée standard est le clavier attaché au terminal sur lequel l’utilisateur travaille, la sortie standard est l’écran du même terminal ;
-
un système de communication par tubes ;
-
un langage de commande ;
-
la possibilité de lancer des processus en arrière‐plan (background) ;
-
la possibilité d’inclure des appels systèmes dans des programmes en langage C.
Le succès d’Unix dans le domaine des stations de travail et des mini‐ordinateurs est incontestable. Parmi les raisons de ce succès, on peut retenir les critères suivants :
-
Unix est écrit dans un langage de haut niveau, facile à comprendre, à modifier et à porter ;
-
son interface utilisateur est simple et elle rend les services que l’utilisateur attend ;
-
il comporte des primitives qui permettent de construire des programmes complexes à partir de programmes simples ;
-
son système de fichiers est hiérarchique et arborescent ;
-
les fichiers sont des suites d’octets, ce qui facilite la programmation ;
-
les périphériques sont interfacés de manière simple et totalement homogène ;
-
c’est un système multi‐utilisateurs et chaque utilisateur peut exécuter plusieurs processus simultanément ;
-
Unix masque les particularités des machines sur lesquelles il est installé, ce qui permet d’écrire des programmes faciles à porter ;
-
il offre tous les outils logiciels standards (compilateurs, éditeurs, etc.) ainsi que des gestionnaires de base de données ;
-
il est l’environnement privilégié d’une multitude de logiciels de recherche (XWindows, WEB, systèmes distribués, etc.).
Le critère prépondérant est sans doute l’ouverture. L’interopérabilité est un mot clé de l’informatique actuelle. Et cette caractéristique d’Unix a déjà séduit bon nombre de personnes. À titre d’exemple, à l’heure actuelle, le choix se porte à 87 % vers une plate‐forme Unix quand il s’agit de loger un SGBD et d’y développer des applications.
À l’heure actuelle (1997), il n’existe plus qu’une version d’Unix, la version Système V. Originellement propriété de la société ATT (American Telephone & Telegraph), cette version est ensuite passée entre les mains d’USL (Unix System Laboratories), une filiale de ATT. C’est en 1993 que Novell la rachète, avant de la revendre à SCO en septembre 1995.
DOI (Digital Object Identifier)
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(239 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Présentation
4. Langage de commande
Le langage de commande constitue l’ensemble des opérations offertes par le système Unix pour l’utiliser et le faire fonctionner.
4.1 Généralités
Sous Unix, un processus ne peut être créé que par un processus déjà existant, qui doit contenir les instructions convenables. Le rôle de l’interprète du langage de commande appelé shell est de briser ce cercle vicieux. La structure de la boucle d’interprétation est conceptuellement simple :
-
lire une ligne ; cette ligne est censée contenir le repère du fichier contenant le programme à exécuter ;
-
créer un nouveau processus et lui faire exécuter le fichier indiqué ;
-
attendre la fin de ce processus ;
-
recommencer jusqu’à épuisement des données d’entrée (fin de fichier).
On remarque tout d’abord que ce schéma ne fait appel à rien de privilégié. Le shell est un programme comme un autre, entièrement externe au noyau. Il est donc possible de programmer de multiples shells, et les utilisateurs d’Unix ne s’en sont pas privés. Le choix du shell est fait au moment de la prise de contact, par le portier, en fonction d’indications lues dans le catalogue des usagers autorisés (/etc/passwd). Dans ce qui suit, nous nous intéresserons au shell de la 7e édition, le plus courant, dit encore « shell de Bourne » du nom de son auteur Steve Bourne.
Au prix de quelques modifications simples, la boucle précédente peut être considérablement améliorée. La première idée qui vient à l’esprit est de rendre l’attente facultative. Cela suffit pour qu’un utilisateur puisse activer plusieurs processus. Pour des raisons évidentes, il est souhaitable qu’un seul de ces processus soit interactif ; les autres sont des processus d’arrière‐plan et doivent fonctionner de manière autonome.
Le nouveau processus créé hérite des portes d’entrée‐sortie du shell ; pour celui‐ci, la porte 0 est toujours connectée au terminal en entrée et la porte 1 au terminal en sortie. Au moment de la création d’un nouveau processus (par fork), c’est le programme du shell qui est encore exécuté pendant quelques instants. On peut profiter de l’occasion pour modifier ses liaisons avant de lancer le programme demandé. Le shell peut lui aussi modifier ses portes pour aller chercher ses commandes dans...
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(239 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Langage de commande
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(239 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive