Portabilité
Système d’exploitation Unix
H1528 v1 Archive

Portabilité
Système d’exploitation Unix

Auteur(s) : Philippe SOULEMA

Date de publication : 10 févr. 1997

Logo Techniques de l'Ingenieur Cet article est réservé aux abonnés
Pour explorer cet article plus en profondeur Consulter l'extrait gratuit

Déjà abonné ?

Présentation

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
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.

Logo Techniques de l'Ingenieur

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

Pour explorer cet article Consulter l'extrait gratuit

Déjà abonné ?


DOI (Digital Object Identifier)

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

Lecture en cours
Présentation

Article inclus dans l'offre

"Technologies logicielles Architectures des systèmes"

(236 articles)

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques.

Des contenus enrichis

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir l'offre

6. Portabilité

Transporter un programme d’un ordinateur à l’autre a longtemps été réputé impossible ; les différences entre matériels, entre systèmes d’exploitation et même entre langages prétendument standardisés se conjuguent pour rendre un tel transport très difficile. Unix est la plus réussite des tentatives pour remédier à cette situation. Un programme est la description codée d’une suite d’actions qui doivent être exécutées par les divers dispositifs qui composent l’ordinateur employé. Chacun de ces dispositifs est caractérisé par une interface que le programme doit respecter. L’une de ces interfaces est toujours utilisée : c’est le langage machine ; mais il y en a d’autres : l’interface des unités d’entrée‐sortie et en particulier du terminal utilisé, l’interface du système, etc. Un cas particulier est celui d’un compilateur, qui utilise deux langages machine : celui de l’ordinateur qui l’exécute et celui de l’ordinateur qui exécutera le résultat de la compilation. Ces deux langages sont le plus souvent identiques, mais peuvent différer (on parle alors d’un compilateur croisé). Les problèmes de portage sont relativement simples pour les programmes qui ne voient que l’interface du langage de la machine hôte, et se compliquent dès que d’autres interfaces interviennent.

Le principe est simple : puisque tout est écrit en C, il suffit de porter le compilateur C et le reste suit. Mais, dans la réalité, les choses sont beaucoup plus complexes. Un programmeur, implicitement ou explicitement, se convainc que son programme est correct en s’appuyant sur les propriétés des instructions et structures de données de son programme. Certaines de ces propriétés sont imposées par le langage utilisé et sont donc portables. D’autres, au contraire, résultent de la structure de l’ordinateur hôte, et peuvent entraîner des incompatibilités.

Exemple

Par exemple, on peut en C savoir si un caractère x est une lettre minuscule à l’aide de l’expression :

   ’a ’ <= x && x <= ’ z ’

Cette écriture est correcte parce que les letters minuscules sont codées au moyen d’entiers consécutifs en suivant l’ordre alhabétique. Mais cette propriété n’est pas vraie de toutes les tables de codage : elle est vraie pour la table ASCII...

Logo Techniques de l'Ingenieur

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

Pour explorer cet article Consulter l'extrait gratuit

Déjà abonné ?


Lecture en cours
Portabilité

Article inclus dans l'offre

"Technologies logicielles Architectures des systèmes"

(236 articles)

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques.

Des contenus enrichis

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir l'offre

Sommaire
Sommaire
Logo Techniques de l'Ingenieur

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

Pour explorer cet article Consulter l'extrait gratuit

Déjà abonné ?


Article inclus dans l'offre

"Technologies logicielles Architectures des systèmes"

(236 articles)

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques.

Des contenus enrichis

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir l'offre