INF3600
Systèmes d’exploitation
Hanifa Boucheneb et Juan Manuel Torres-Moreno
Département de génie informatique
École Polytechnique de Montréal
version 3.90
16 avril 2003
2
Préface
CEdocument représente la formalisation des notes de cours INF3600-
Systèmes d’exploitation, enseigné au Département de génie informa-
tique de l’École Polytechnique de Montréal.
Ce texte et les nombreuses applications qu’il contient visent à donner
à l’étudiant1une idée, à la fois, assez claire que vaste de ce que sont les
systèmes d’exploitation, notamment leur importance dans toute formation
en informatique. Il s’adresse indistinctement aux étudiants en génie infor-
matique, informatique, génie électrique ou sciences.
Le document aborde l’ensemble des thèmes liés aux systèmes d’exploi-
tation réels. Les aspects théoriques présentés dans ce document constituent
une synthèse des nombreux ouvrages qui existent dans la littérature. Par
contre, les aspects pratiques ont systématiquement fait l’objet d’un déve-
loppement privilégié bien adapté au matériel utilisé dans nos laboratoires.
En effet, ce document est composé de nombreux exemples de programmes
qui contribuent à mieux comprendre les fonctionnalités des systèmes d’ex-
ploitation. Pour des raisons strictement pédagogiques, et eu égard à la
complexité de la matière (l’importance de l’information, la multitude de
concepts...)nous avons privilégié une approche de type didactique. C’est
ainsi que nous présentons:
Les concepts principaux et les techniquesfondamentales des systèmes
d’exploitation.
Les modules de base d’un système d’exploitation moderne.
Les interactions entre ces modules et les problèmes liés à leurs im-
plantations ainsi que les solutions adoptées dans les systèmes mo-
dernes.
1. Afin de simplifier le texte, seul le masculin a été utilisé pour désigner toute personne
sans distinction du genre.
3
4
Nous avons utilisé les systèmes d’exploitation Unix et GNU/Linux pour
illustrer nos exemples. Nous suggérons aussi de lectures qui pourront en-
richir la matière vue.
Ce document est un support pédagogique « vivant » aussi bien pour
les enseignants que pour les étudiants. Il est, en effet, appelé à faire l’objet
d’une actualisation permanente tant par les suggestions attendues des uns
et des autres – à la fois, pour les améliorations à apporter et les exercices –
que de la prise en compte de nouvelles réalités.
Il va de soi qu’un texte n’est jamais exempt d’erreurs, quand bien même
on s’entoure de toutes les précautions pour les éviter. Nous serions donc
très reconnaissants aux lecteurs de nous signaler toute erreur.
Montréal, automne 2002 | hiver 2003
Hanifa Boucheneb et Juan Manuel Torres-Moreno
{hanifa.boucheneb,juan-manuel.torres}@polymtl.ca
Contenu
LEmatériel est divisé en plusieurs chapitres et sections. Tout au long
du document, nous présentons des nombreux exemples clairs sur les
applications et conséquences de chaque concept.
Le Chapitre 1 présente un aperçu rétrospectif des concepts et fonction-
nalités des systèmes d’exploitation. Un système d’exploitation est un pro-
gramme qui doit permettre aux utilisateurs d’utiliser les fonctionnalités
d’un ordinateur. Il doit aussi aider le programmeur à développer des lo-
giciels de la façon la plus efficace possible. Dans les grosses machines, il
est toujours en exécution. Le système constitue donc une interface entre
l’utilisateur et la machine physique.
Le Chapitre 2 introduit le système d’exploitation Unix et plus particu-
lièrement son clone Linux. Le standard Posix est aussi introduit. La pré-
sentation des commandes, processus et fichiers est faite en utilisant des
exemples de programmation shell.
Le Chapitre 3 défini le concept de processus, puisque tout le logiciel
d’un ordinateur est organisé en un certain nombre de processus séquen-
tiels. Les threads ou processus légers sont aussi introduits. De nombreux
exemples sont présentés et programmés sous le standard Posix.
Le Chapitre 4 présente l’ordonnancement ou planification des proces-
sus. Dans un système multi-utilisateurs à temps partagé, plusieurs proces-
sus peuvent être présents en mémoire centrale en attente d’exécution. Si
plusieurs processus sont prêts,le système d’exploitation doit gérer l’alloca-
tion du processeur aux différents processus à exécuter. On verra donc que
c’est l’ordonnanceur qui s’acquitte de cette tâche.
Le Chapitre 5 traite sur les processus coopératifs pour résoudre un même
problème. Ces processus s’exécutent en parallèle sur un ordinateur (mo-
noprocesseur ou multiprocesseurs) ou sur des ordinateurs différents. Ils
doivent s’échanger des informations en établissant une vraie communica-
tion interprocessus. Nous étudierons les plusieurs moyens de cette com-
5
1 / 461 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !