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
(240 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
3. Processus et communications
Les processus représentant des tâches en cours d’exécution, on peut considérer que ce sont les seules unités dynamiques et communicantes. De ce fait, ils doivent tout d’abord être créés pour s’exécuter et communiquer, puis être détruits lorsque leur tâche est terminée.
3.1 Création et destruction d’un processus
Pour Unix, la création d’un processus se fait par duplication du processus créateur. L’effet de :
id = fork ( ) ;
exécuté par un processus P1 est de créer un processus P2 qui a le même programme, les mêmes données, le même système de portes et le même système de signaux que P1. P1 est dit le processus père et P2 le processus fils. Les deux processus partagent le même programme ; les autres objets sont recopiés, de sorte que si, par exemple, le fils modifie ses données, le père n’est pas affecté. Le père et le fils reprennent tous les deux normalement l’exécution au point de retour de fork ; pour le père, il s’agit d’un retour normal ; le fils, au contraire, est victime d’une illusion puisqu’il n’existait pas au moment de l’appel. Pour que le père et le fils puissent se distinguer l’un de l’autre, la valeur retournée par fork est différente : c’est 0 pour le fils et c’est le numéro du fils pour le père. En général, le processus fils n’a pas de raison de continuer l’exécution du programme du père. Il existe donc une primitive de changement de programme :
execv (repere, arguments) ;
Le repere doit désigner un fichier exécutable. Le programme et les données du processus courant sont remplacés par le programme et les données rangées dans le fichier indiqué. Comme le programme ancien est détruit, il n’y a aucun retour possible depuis un execv qui a réussi ; un retour est le signe d’un échec, dû par exemple à une erreur dans la désignation du fichier exécutable. En revanche, les portes ouvertes au moment de execv restent ouvertes, et les liaisons ne sont pas modifiées.
Les arguments sont des chaînes de caractères rassemblées en un tableau. Si le programme principal exécuté (qui est une fonction C dont le nom est main par convention) a des paramètres formels, l’un...
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 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
Processus et communications
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 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