Première partie: Introduction
Ce chapitre donne un rapide historique de l'évolution des systèmes depuis 1950 à nos jours. Il montre l'introduction des concepts et l'influence sur l'utilisation des ordinateurs.
Nous faisons un bref rappel d'architecture matérielle, qui sont en liaison directe avec les systèmes d'exploitation. Faisant suite à un cours d'architecture proprement dit, seuls certains points sont abordés ici (interruption, notion d'appel système, caractéristiques des principaux périphériques). Version pdf (46 ko)
Nous décrivons les caractéristiques principales des systèmes d'exploitation, et présentons d'une part les différents modes d'utilisation d'un ordinateur, ainsi que quelques critères tels que temps de traitement, temps de réponse, débit. Nous introduisons ensuite le contenu du cours selon les trois parties. Version pdf (46 ko)Deuxième partie: La chaîne de production de programmes
Ce chapitre décrit les différentes phases de la compilation: analyse lexicale, analyse syntaxique, analyse sémantique, optimisation et génération de code. Nous terminons en donnant les grandes lignes de la traduction croisée, de l'autocompilation et du système Java. Version pdf (104 ko)
L'éditeur de liens est le deuxième outil important de la chaîne de production de programmes, car il permet de rassembler des modules pour en faire un programme exécutable, pouvant ensuite être chargé en mémoire. Les notions de translations, de liens à satisfaire et de liens utilisables, ainsi que les notions de bibliothèques sont présentées. La notion d'édition de lien dynamique est présentée. Version pdf (72 ko)
Ce chapitre présente quelques autres outils importants de la chaîne de production de programmes, comme les métteurs au point, les préprocesseurs et le make. Il n'est pas question d'être exhaustif, mais de donner un apperçu des outils les plus importants. Le programmeur doit prendre conscience de la diversité de ces outils qui lui facilitent la tâche. Version pdf (59 ko)Troisième partie: Environnement externe
Nous introduisons la notion de fichier logique, comme vision par le programmeur des objets externes. Ceci permet de distinguer entre ceux qui ont pour vocation de communiquer avec l'homme ou entre machines et ceux qui ont pour but de conserver des données au delà de la fin d'exécution du programme. Version pdf (46 ko)
Ce chapitre aborde la gestion de l'espace disque alloué aux objets externes. Les deux techniques, allocation par zone et allocation par bloc sont étudiées. La notion de quantum est introduite. Version pdf (59 ko)
La désignation doit permettre de localiser le périphérique, puis l'objet sur le périphérique et trouver ses caractéristiques. Ceci passe par la notion de volume, de répertoire, d'arborescence de fichiers. Version pdf (72 ko)
La sécurité et la protection des objets externes complètent les notions essentielles de cette partie. Version pdf (46 ko)
Quatre grandes familes de SGF sont décrits: FAT-VFAT de MSDOS, HFS-HFS+ de MacOS, NTFS de WindowsNT et ext2fs de Linux. Ils permettent de voir comment les concepts de cette partie sont repris dans ces différents systèmes. Version pdf (52 ko)Quatrième partie: Environnement physique
Ce chapitre introduit les notions de processus et de ressources. Il présente les mécanismes de création de processus ainsi que les états des processus. Version pdf (46 ko)
On présente rapidement les mécanismes de base de la synchronisation de processus: verrous, sémaphores, lecteurs-rédacteurs, schéma producteur-consommateur, boîte aux lettres. Nous terminons en évoquant les conséquences sur les temps de réponses, ainsi que les notions d'interblocage et de famine. Version pdf (65 ko)
Ce chapitre présente la multiprogrammation, ainsi que les notions de mémoire segmentée ou paginée. Les principes généraux de la mémoire virtuelle sont évoqués. Version pdf (83 ko)
Les principales fonctionnalités des langages de commande sont décrits dans ce dernier chapitre. Bien que constituant essentiel de la chaîne de production de programmes, il est traité à la fin, car il permet la manipulation des objets externes et des processus. Version pdf (90 ko)