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