Présentation

Article

1 - CONCEPTS FONDAMENTAUX DE L’ARCHITECTURE UNIX

  • 1.1 - Processus
  • 1.2 - Gestion des fichiers
  • 1.3 - Gestion des unités d’entrée‐sortie
  • 1.4 - Gestion de la mémoire
  • 1.5 - Outils de programmation

2 - SYSTÈME DE FICHIERS ET PÉRIPHÉRIQUES

3 - PROCESSUS ET COMMUNICATIONS

4 - LANGAGE DE COMMANDE

5 - ADMINISTRATION ET SÉCURITÉ D’UNIX

  • 5.1 - Identification des usagers
  • 5.2 - Génération d’un système Unix

6 - PORTABILITÉ

7 - INTERFACES HOMME‐MACHINE

8 - SYSTÈMES DÉRIVÉS

  • 8.1 - Systèmes distribués
  • 8.2 - Systèmes multiprocesseurs

9 - CONCLUSION

  • 9.1 - Évolutions
  • 9.2 - Enjeux

| Réf : H1528 v1

Processus et communications
Système d’exploitation Unix

Auteur(s) : Philippe SOULEMA

Date de publication : 10 févr. 1997

Pour explorer cet article
Télécharger l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !

Sommaire

Présentation

Auteur(s)

Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.

Lire l’article

INTRODUCTION

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.

Cet article est réservé aux abonnés.
Il vous reste 92% à découvrir.

Pour explorer cet article
Téléchargez l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !


L'expertise technique et scientifique de référence

La plus importante ressource documentaire technique et scientifique en langue française, avec + de 1 200 auteurs et 100 conseillers scientifiques.
+ de 10 000 articles et 1 000 fiches pratiques opérationnelles, + de 800 articles nouveaux ou mis à jours chaque année.
De la conception au prototypage, jusqu'à l'industrialisation, la référence pour sécuriser le développement de vos projets industriels.

DOI (Digital Object Identifier)

https://doi.org/10.51257/a-v1-h1528


Cet article fait partie de l’offre

Technologies logicielles Architectures des systèmes

(238 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

ABONNEZ-VOUS

Lecture en cours
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 est réservé aux abonnés.
Il vous reste 92% à découvrir.

Pour explorer cet article
Téléchargez l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !


L'expertise technique et scientifique de référence

La plus importante ressource documentaire technique et scientifique en langue française, avec + de 1 200 auteurs et 100 conseillers scientifiques.
+ de 10 000 articles et 1 000 fiches pratiques opérationnelles, + de 800 articles nouveaux ou mis à jours chaque année.
De la conception au prototypage, jusqu'à l'industrialisation, la référence pour sécuriser le développement de vos projets industriels.

Cet article fait partie de l’offre

Technologies logicielles Architectures des systèmes

(238 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

ABONNEZ-VOUS

Lecture en cours
Processus et communications
Sommaire
Sommaire

Cet article est réservé aux abonnés.
Il vous reste 93% à découvrir.

Pour explorer cet article
Téléchargez l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !


L'expertise technique et scientifique de référence

La plus importante ressource documentaire technique et scientifique en langue française, avec + de 1 200 auteurs et 100 conseillers scientifiques.
+ de 10 000 articles et 1 000 fiches pratiques opérationnelles, + de 800 articles nouveaux ou mis à jours chaque année.
De la conception au prototypage, jusqu'à l'industrialisation, la référence pour sécuriser le développement de vos projets industriels.

Cet article fait partie de l’offre

Technologies logicielles Architectures des systèmes

(238 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

ABONNEZ-VOUS