Unix est le premier système d’exploitation qui n’ait pas été conçu pour une architecture matérielle particulière. Le caractère universel d’Unix en fait l’un des rares systèmes d’exploitation (voire le seul) rencontré dans presque tous les types d’architecture matérielle existants à ce jour: des micro-ordinateurs aux super-calculateurs. Cette performance est obtenue par la programmation en un langage lui-même très largement répandu, le langage C.

Le système d’exploitation Unix est lui-même structuré en couches logicielles. Entourant le matériel, le « noyau Unix » est le premier niveau d’abstraction et contient les principales fonctionnalités du système. Le noyau Unix ne fait pas l’objet de ce cours, si ce n’est par la présentation générale de quelques concepts tels que les inodes du système de fichiers et les processus.

Le noyau Unix est programmé en langage C, c’est donc tout naturellement que son interface est décrite et accessible en langage C. L’interface permet à des programmes utilisateurs d’utiliser des fonctionnalités du système, notamment l’accès à des périphériques d’entrées/sorties. Le langage C est le premier langage de programmation étudié à Télécom SudParis.

Les logiciels de base au-dessus du noyau sont, classiquement, classés en interpréteurs de commande appelés shell en Unix, et outils et utilitaires. Le cours porte surtout sur ces deux parties. D’autres couches logicielles existent au-dessus de ces couches basses pour gérer les bases de données, la répartition avec les intergiciels (middleware en anglais)... Ces éléments sont étudiés à Télécom SudParis en deuxième et troisième années, notamment dans le module CSC 4001 (Introduction aux Bases de Données) et ASR/UV6 (Intergiciels pour la construction d’applications réparties sur Internet).  
 
Retour à la page de cours