Systèmes d’exploitation et programmation de systèmes -GPA435- Cours #1: Présentation du cours & introduction à la matière Enseignant:

Slides:



Advertisements
Présentations similaires
Un environnement de développement éducatif
Advertisements

Module Systèmes d’exploitation
Module Systèmes d’exploitation
Module Systèmes d’exploitation
GEF 435 Principes des systèmes d’exploitation
PC / Traitement numérique / Contrôle Environnement logiciel
GEF 435 Principes des systèmes dexploitation Les systèmes dexploitation en général (Tanenbaum 1.1 et 1.3)
Introduction au langage C++
Serveur jeu Le serveur fait partie d'un logiciel de jeu en ligne multi joueur en architecture client serveur. Il répond à des demandes.
Module Systèmes dexploitation Chapitre 6 Communication Interprocessus Partie III École Normale Supérieure Tétouan Département Informatique
Types des systèmes d’exploitation
GEF 435 Principes des systèmes d’exploitations
GEF 435 Principes des systèmes dexploitation Communication Interprocessus (CIP) III (Tanenbaum 2.3)
GEF 435 Principes des systèmes d’exploitation
GEF 435 Principes des systèmes dexploitation Structure des systèmes dexploitation (Tanenbaum 1.7)
Chapitre I : Systèmes d’exploitation
Chapitre 3: Système d’exploitation
Présentation de l’Architecture Windows NT
PLAN du COURS Introduction Structure des Systèmes Informatiques
Vue d'ensemble Création de comptes d'utilisateurs
Introduction aux Systèmes d’Exploitation
Le Concept du programme enregistré
Mémoire & Processus Cours SE - SRC
Architecture de machines Principes généraux
Systèmes d’exploitation
Module II : Les logiciels
Système d’exploitation: Principe
MRP, MRP II, ERP : Finalités et particularités de chacun.
Introduction to Information Systems
Module 1 : Préparation de l'administration d'un serveur
Les Systèmes d’Exploitation
Analyse des circuits électriques -GPA220- Cours #11: Systèmes de deuxième ordre (2ième partie) Enseignant: Jean-Philippe Roberge Jean-Philippe Roberge.
Analyse des circuits électriques -GPA220- Cours #10: Systèmes de deuxième ordre Enseignant: Jean-Philippe Roberge Jean-Philippe Roberge - Janvier.
Synchronisation et communication entre processus
Réalisée par :Samira RAHALI
Système d’exploitation
Structures des Systèmes d’Exploitation
Analyse des circuits électriques -GPA220- Cours #12: Régime permanent sinusoïdal et révision Enseignant: Jean-Philippe Roberge Jean-Philippe Roberge.
GPA435 Systèmes d’exploitation et programmation de système
Systèmes d’exploitation et programmation de systèmes -GPA435- Cours #3: Interpréteur de commande Enseignant: Jean-Philippe Roberge.
Systèmes d’exploitation et programmation de systèmes -GPA435- Cours #2: Systèmes d’exploitation UNIX / Linux Enseignant: Jean-Philippe.
Programmation concurrente
IFT 6800 Atelier en Technologies d’information
Module 2 : Préparation de l'analyse des performances du serveur
Module 3 : Analyse des performances du serveur
Portée, arrimages et intervenants Évolution des méthodes
Renauld MAMBOUNDOU Arnaud SCHOEN Safiatou FANNY Vincent BOUVIER
Système dexploitation: Principe IFT6800 – E 2008 Pierre Poulin.
Analyse des circuits électriques -GPA220- Cours #5: Amplificateurs opérationnels (partie 1) Enseignant: Jean-Philippe Roberge Jean-Philippe Roberge.
Analyse des circuits électriques -GPA220- Cours #8: Système de premier ordre (partie 1) Enseignant: Jean-Philippe Roberge Jean-Philippe Roberge -
Systèmes d’exploitation
Systèmes d’exploitation
Introduction aux systèmes d’exploitation
Module 8 : Surveillance des performances de SQL Server
AFPA CRETEIL 1-1 Windows NT Environnement Windows NT Chapitre 1.
Interactions entre Processus
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
La programmation système
Structure de Base d’un ordinateur Matière : Informatique
Programmation Système et Réseau
Les systèmes d’exploitation
Doan Chien Thang Aôut,2008.  La vue d'ensemble des systèmes d'exploitation  Les processus et les fils  Gestion de la mémoire  Le système des fichiers.
Systèmes d’exploitation Processus conclusion Modèle conceptuel de processus Pour masquer les effets des interruptions, les SE fournissent un modèle conceptuel.
1.1: notions de bases de l’informatique
ALLOCATION DU CPU et GESTION DES TRAVAUX.
Un ordinateur est une machine électronique qui fonctionne par la lecture séquentielle d'un ensemble d'instructions, organisées en programmes, qui lui.
Introduction aux systèmes d’exploitation Partie 1: Introduction
Chapitre 6 Résolution des problèmes liés au processus d'amorçage et au système Module S41.
Chapitre 12 Surveillance des ressources et des performances Module S41.
1 UNIX AVANCE Yves PAGNOTTE – Janvier – LES PROCESSUS SOUS UNIX.
Transcription de la présentation:

Systèmes d’exploitation et programmation de systèmes -GPA435- Cours #1: Présentation du cours & introduction à la matière Enseignant: Jean-Philippe Roberge Jean-Philippe Roberge - Avril 2014

Planification du cours #1 Présentation personnelle Présentation du plan de cours Discussion sur vos intérêts et attentes Introduction à la matière (Chapitre 1): Pré-entrée en matière Évolution des systèmes d’exploitation (S.E.) Historique des S.E. Structure des S.E. modernes Tendance des S.E. modernes (prochain cours) Jean-Philippe Roberge - Avril 2014

Présentation personnelle Formation académique: Tech. (Ahuntsic, génie électrique) B. Ing. (ÉTS, génie de la production automatisée) M.Sc.A. (Poly, génie électrique) Expérience professionnelle (la plus récente) : Agence spatiale canadienne (2009-2012): -Ingénieur & adjoint de recherche en robotique au département du développement de l’exploration spatiale. École Polytechnique (2010-2012) : -Chargé de cours et labs: Robotique (ELE4203) et systèmes linéaires (ELE3202) ÉTS (2013-présent): -Professionnel de recherche au laboratoire de Commande et de Robotique (CoRo) -Chargé de cours: Analyse des circuits électriques (GPA220) et (GPA435). Institut de Recherche en Électricité du Québec – IREQ (2013-présent): Contracteur / Consultant – Laboratoire d’expérimentation (robotique) Travaux de recherche actuels Intérêts Site web: http://www.jproberge.net Linkedin: http://ca.linkedin.com/in/jproberge Jean-Philippe Roberge - Avril 2014

Présentation du plan de cours Jean-Philippe Roberge - Janvier 2014

Un petit aparté (1) Expérience avec Linux: Distributions: Ubuntu (à peu près toutes les versions depuis v.8.04 jusqu’à 13.10) Aussi quelques variantes: Kubuntu, Xubuntu, Lubuntu Fedora (à peu près toutes les version depuis Fedora 15 jusqu’à 20) Mint, Knoppix et d’autres distros que j’ai seulement essayé: CentOS, openSUSE, Scientific Linux (SL) Utilisation personnelle: Serveur domestique pour les films (visionnement/téléchargement) et la musique Utilisation professionnelle: En industrie (!) Sur le plancher de production Kinova, Robotiq, etc… Développeur des programmes RobotiqSensorUI et KinovaSensorUI (http://sourceforge.net/projects/robotiqsensorui/ & http://sourceforge.net/projects/kinovasensorui/ ) En recherche: À L’ASC (de manière intensive!) Avec plusieurs Universités Durant ma maîtrise… Jean-Philippe Roberge - Avril 2014

Un petit aparté (2) Jean-Philippe Roberge - Avril 2014

Un petit aparté (3) Jean-Philippe Roberge - Avril 2014

Vos intérêts et attentes? Jean-Philippe Roberge - Avril 2014

Pré-entrée en matière Quel est la pertinence du cours ? Approfondir les méthodes de résolutions de problèmes informatiques, développer également de nouvelles approches, de nouveaux outils. Développer de nouveaux outils pour traiter des documents et des données Apprendre les langages bash et awk Linux est de plus en plus répandu, il est fort probable que vous le rencontriez sur votre parcours professsionnel, d’une façon ou d’une autre, peu importe votre domaine. Vous faire connaître un système d’exploitation performant qui peut servir dans une foule de contextes. Mes attentes face à vous… Jean-Philippe Roberge - Avril 2014

Introduction à la matière (1) Q: Qu’est-ce qu’un système d’exploitation? R: C’est une suite de programmes qui gère l’utilisation des ressources d’un ordinateur (ou système ordiné) et qui fournit des services aux applications. Famille de systèmes d’exploitation: Unix, Linux, Windows NT, Mac OS Exemples de S.E.: Ubuntu 10.04, Mac OS X v10.5, Windows Vista… Systèmes d’exploitation mobiles: Android Vx.x (Noyau Linux), iOS Vx.x, Windows Phone 7, etc… http://upload.wikimedia.org/wikipedia/commons/thumb/e/e1/Operating_system_placement.svg/165px-Operating_system_placement.svg.png Jean-Philippe Roberge - Avril 2014

Introduction à la matière (2) Analogie du restaurant: On peut faire l’analogie entre un restaurant et un ordinateur et tenant compte des éléments suivant: Restaurant Pour un ordinateur Client Utilisateur Menu, carte des vins Interface graphique Serveurs et serveuses Interpréteur de commande Cuisinier et aide-cuisiniers Noyau Cuisines, cave à vin, entrepôt Matériel (disques, mémoire, périphériques) Jean-Philippe Roberge - Avril 2014

Introduction à la matière (3) En ce qui concerne la famille de S.E. Linux, un site très intéressant à consulter est: http://distrowatch.com/ Une façon rapide d’essayer plusieurs versions différentes de Linux, est d’installer ces systèmes sur une machine virtuelle (à l’aide par exemple de VMWare, VirtualBox, etc…). Jean-Philippe Roberge - Avril 2014

Évolution de S.E. (1) Les systèmes d’exploitation ont nécessité plusieurs itérations du point de vue conception avant de devenir les systèmes du calibre de ceux que nous connaissons aujourd’hui. Au début, ils étaient quasi-inexistants, les programmes étaient alors traités en série. 1-Traitement en série: Un programme à la fois, généralement écrit en langage machine. Inefficace car l’ordinateur est monopolisé par un seul programmeur. Époque où les premières bibliothèques de fonctions et les premiers pilotes d’entrées / sorties ont été développés. Le coût énorme de la machine fit en sorte que l’on s’attarde à l’optimisation de son utilisation. Jean-Philippe Roberge - Avril 2014

Évolution de S.E. (2) Ensuite, vint le traitement par lots… Apparait au début des années 50 du 20e siècle; Améliore le taux d’utilisation des ordinateurs. Concept de « moniteur »: un programme qui veille sur les programmes (jobs) des utilisateurs. Chaque utilisateur soumet leur tâche à l’opérateur de l’ordinateur: cartes perforées, rubans magnétiques; regroupement des tâches; exécution séquentielle des regroupements. Exemple de traitement par lots: Facturation, impôts, calculs de comptabilité, ets… Jean-Philippe Roberge - Avril 2014

Évolution de S.E. (3) 2-Traitement par lots (suite): Cartes perforées: Jean-Philippe Roberge - Avril 2014

Évolution de S.E. (4) 2-Traitement par lots (suite) : Particularité  la fin d’une tâche est suivie par un branchement vers le moniteur. Ce dernier charge en mémoire la tâche suivante et l’exécute dans le processeur. La mise en place d’un moniteur a influencé grandement la conception des S.E. modernes. Le moniteur réside dans la mémoire de l’ordinateur: Jean-Philippe Roberge - Avril 2014

Évolution de S.E. (5) 2-Traitement par lots (suite) : Par contre, une tâche peut monopoliser longtemps le processeur. Attendre la fin des opérations E/S; Les rubans magnétiques avaient un temps d’accès très long. Pour augmenter le rendement de l’ordinateur  récupérer ce temps perdu! 3-Traitement par lots multiprogrammé: Problématique du traitement par lots: si une tâche utilise 30% de son temps à effectuer des opérations E/S; le processeur ne travaillera pas dans la majeure partie de ce 30%. Multiprogrammation  exécuter une autre tâche dans les portions de temps où le processeur est inactif. (Plus d’un programmes) Exige cependant la coopération du matériel. Jean-Philippe Roberge - Avril 2014

Évolution de S.E. (6) 3-Traitement par lots multiprogrammé (suite): Coopération du matériel  interruptions matérielles. module de gestion des interruptions; transfert rapide des données sans intervention du processeur. Création d’un module MM (Memory Management). maintenir en mémoire les tâches pour l’exécution. Création d’un module d’ordonnancement des tâches: peut avoir plus d’une tâche en mémoire; sélectionne l’une des tâches pour l’exécution. Tous ces modules font partie de l’architecture moderne des S.E. ! Jean-Philippe Roberge - Avril 2014

Évolution de S.E. (7) Le traitement par lots multiprogrammé ne gère cependant pas bien les situations où l’interactivité entre l’ordinateur et l’utilisateur est nécessaire. 4-Traitement en temps partagé: Exemple: le CTSS (Compatible Time-Sharing System) de MIT  début des années 60 du 20e siècle. Idée de base  le blocage et le redémarrage périodique des tâches à l’aide d’une interruption cadencée par une source stable. Tour à tour, le moniteur passe le contrôle à chacune des tâches en mémoire. Chaque tâche bénéficie alors du même temps d'utilisation du processeur. Permet à plusieurs utilisateurs de démarrer des tâches sur un même ordinateur, au moyen de terminaux, et réduit le temps de réponse interactive. Lorsqu’une tâche est en attente d’une opération E/S: immédiatement bloquée; contrôle du processeur est passé à une autre tâche. Jean-Philippe Roberge - Avril 2014

Évolution de S.E. (8) 4-Traitement en temps partagé (suite): Explication du temps partagé: vidéos intéressants du point de vue historique: https://www.youtube.com/watch?v=Anxxe8SdX78 https://www.youtube.com/watch?v=Jc6jrhycDsA Jean-Philippe Roberge - Avril 2014

Évolution de S.E. (9) 5- Systèmes multi-tâches et multi-utilisateurs: Environnement multiprogrammé + l’interactivité des systèmes en temps partagé. Multitâche  multiprogrammation; Multi-utilisateur  temps partagé. Un des premiers systèmes véritablement M-M: MULTICS (MULTiplexed Information and Computer Service) du MIT, Bell, General Electric en1969. MULTICS avait introduit plusieurs innovations: découplage entre le S.E. et le matériel mémoire virtuelle: Pagination de la mémoire; liaison dynamique. système de fichiers hiérarchique. Jean-Philippe Roberge - Avril 2014

Évolution de S.E. (9) 5- Systèmes multi-tâches et multi-utilisateurs (suite): MULTICS avait introduit le concept de processus: structure fondamentale d’un S.E. ! Un processus possède trois éléments: 1) programme exécutable; 2) données associées au programme; 3) contexte d’exécution du programme. Processus est donc un programme en exécution. Jean-Philippe Roberge - Avril 2014

Structure des systèmes d’exploitation modernes (1) D’abord, cette structure est organisé en couches hiérarchiques: Nous allons approfondir ces couches dans les transparents qui suivent… Jean-Philippe Roberge - Avril 2014

Structure des systèmes d’exploitation modernes (2) 1 -Composants matériels (Processeur, mémoire, périphériques, écran, etc…): Processeurs instructions privilégiées; adressage segmenté; système de signaux. 2- Mémoire virtuelle: Donner l’illusion au programme, qu’il travaille avec de la mémoire contigüe. Protection contre la corruption des données Interruption logicielle Jean-Philippe Roberge - Avril 2014

Structure des systèmes d’exploitation modernes (3) 3- Système de fichiers organisation cohérente de la mémoire secondaire; système de fichiers hiérarchique  arbre inversé; sous-répertoires sont des enfants d’un répertoire racine; système de fichiers hiérarchique  un répertoire peut contenir d’autres répertoires. Jean-Philippe Roberge - Avril 2014

Structure des systèmes d’exploitation modernes (4) 3- Système de fichiers (suite) Pour définir l’emplacement d’un fichier, on peut le faire à l’aide de plusieurs façons, dont les trois façons suivantes: chemin absolu chemin relatif parcours non linéaire Jean-Philippe Roberge - Avril 2014

Structure des systèmes d’exploitation modernes (5) 3 - Système de fichiers (suite): accès simultanés par plusieurs processus; accès simultanés par plusieurs utilisateurs; deux processus utilisent le même fichier. Des droits d’accès sont nécessaires; Primitifs de verrouillage et d’ouverture exclusive sont nécessaires. Pi Pn Jean-Philippe Roberge - Avril 2014

Structure des systèmes d’exploitation modernes (6) 4- Communication inter-processus Trois points importants: Jean-Philippe Roberge - Avril 2014

Structure des systèmes d’exploitation modernes (7) GPA435 - Systèmes d'exploitation et programmation de système 4- Communication inter-processus (suite): l’impasse: la famine: Interdépendance (de données) des processus empêche la progression de tous les processus impliqués Analogie: arrêt toutes directions à l’intersection des chemins croisés Interdépendance (de données) des processus empêche la progression d’un sous-ensemble de processus impliqués Analogie: devant un tourniquet à l’entrée d’un métro à l ’heure de pointe Jean-Philippe Roberge - Avril 2014 ETS - GPA, (c) Tony Wong, Ph.D., ing.

Structure des systèmes d’exploitation modernes (8) GPA435 - Systèmes d'exploitation et programmation de système Structure des systèmes d’exploitation modernes (8) 4a - Transfert des données entre processus: mémoire partagée; tuyaux (pipes); messages. Une plage de mémoire (physique ou virtuelle) partagée entre plusieurs processus Sans liens de communication permanents. Les messages sont déposés dans la queue de message des processus. Peuvent donc réaliser des protocoles autres que le FIFO. Structure de données FIFO. Leurs accès sont gérés par le S.E. Jean-Philippe Roberge - Avril 2014 ETS - GPA, (c) Tony Wong, Ph.D., ing.

Structure des systèmes d’exploitation modernes (9) GPA435 - Systèmes d'exploitation et programmation de système 4b Synchronisation des processus: fonctions attendre() et signal(); variables sémaphores; instructions atomiques. Des instructions exécutées en séquence sans interruption par aucune autre instruction du processeur. Variable entière n’admettant que trois opérations: i) initialisation à une valeur non négative; ii) incrémentation de sa valeur; iii) décrémentation de sa valeur. Opérations réalisées par des instructions atomiques. Fonctions de synchronisation qui modifient une variable sémaphore Jean-Philippe Roberge - Avril 2014 ETS - GPA, (c) Tony Wong, Ph.D., ing.

Structure des systèmes d’exploitation modernes (10) GPA435 - Systèmes d'exploitation et programmation de système Structure des systèmes d’exploitation modernes (10) 5 - Modèle des processus: Processus  entité dynamique; interaction par communication ; utilise des ressources; possède une durée de vie et sont en interaction avec d’autres processus utilisant le système de communication inter-processus (mémoire partagée, tuyaux, messages, etc.) du S.E. Ces ressources sont: fichiers, mémoire, sémaphores périphériques d’E/S, etc. Ces ressources sont contrôlées par le S.E. Jean-Philippe Roberge - Avril 2014 ETS - GPA, (c) Tony Wong, Ph.D., ing.

Structure des systèmes d’exploitation modernes (11) GPA435 - Systèmes d'exploitation et programmation de système Structure des systèmes d’exploitation modernes (11) 5 - Modèle des processus (suite): Processus prêt pour l’exécution Processus créé mais pas encore exécutable Processus en exécution dans le processeur Arrêt du processus: fin de son exécution ou causé par une condition d’erreur Processus en suspension: attendant l’arrivée d’un événement ou la fin d’une opération Jean-Philippe Roberge - Avril 2014 ETS - GPA, (c) Tony Wong, Ph.D., ing.

Structure des systèmes d’exploitation modernes (12) GPA435 - Systèmes d'exploitation et programmation de système Structure des systèmes d’exploitation modernes (12) 6 - Interpréteur de commandes Un processus utilisateur; Permet l’exécution des programmes; Manipulation des fichiers; Accéder aux périphériques de l’ordinateur; Automatisation des procédures par fichiers de commandes; Langages de programmation « shell ». Jean-Philippe Roberge - Avril 2014 ETS - GPA, (c) Tony Wong, Ph.D., ing.

Tendances des S.E. modernes (1) GPA435 - Systèmes d'exploitation et programmation de système Tendances des S.E. modernes (1) Tendances des systèmes d’exploitation modernes: Architecture micro-noyau (microkernel); Exécution multifilière (multithreading); Traitement parallèle symétrique (symmetric multiprocessing); Système d’exploitation pour processeurs multi-cœurs. Jean-Philippe Roberge - Avril 2014 ETS - GPA, (c) Tony Wong, Ph.D., ing.

Tendances des S.E. modernes (2) GPA435 - Systèmes d'exploitation et programmation de système Tendances des S.E. modernes (2) 1 - Architecture micro-noyau: changement important dans l’organisation interne du S.E.; seulement quelques fonctions importantes sont assignées au noyau; les autres services  processus utilisateurs appelés « serveurs »; séparation explicite entre le noyau d’un S.E. et le développement des serveurs; Jean-Philippe Roberge - Avril 2014 ETS - GPA, (c) Tony Wong, Ph.D., ing.

Tendances des S.E. modernes (3) GPA435 - Systèmes d'exploitation et programmation de système Tendances des S.E. modernes (3) Exemple du concept de micro-noyau: Jean-Philippe Roberge - Avril 2014 ETS - GPA, (c) Tony Wong, Ph.D., ing.

Tendances des S.E. modernes (4) GPA435 - Systèmes d'exploitation et programmation de système Tendances des S.E. modernes (4) 2 - Exécution multi-fils: un processus est divisé en plusieurs chemins d’exécution simultanée; fil d’exécution  unité de travail interruptible et séquentielle; fil d’exécution  ne possède pas de contexte d’exécution mais utilise celui du processus père; Modèle de programmation concourante Mémoire utilisée, l’état de la pile programme, les ports d’E/S associés, l’état des registres du processeur, etc. Jean-Philippe Roberge - Avril 2014 ETS - GPA, (c) Tony Wong, Ph.D., ing.

Tendances des S.E. modernes (5) GPA435 - Systèmes d'exploitation et programmation de système Tendances des S.E. modernes (5) 2 - Exécution multi-fils (suite) : un processus est une collection de fils d’exécution; fil d’exécution principal  père de tous les fils d’exécution créés; Jean-Philippe Roberge - Avril 2014 ETS - GPA, (c) Tony Wong, Ph.D., ing.

Tendances des S.E. modernes (6) GPA435 - Systèmes d'exploitation et programmation de système Tendances des S.E. modernes (6) 3 - Traitement parallèle symétrique: réalisation utilisant l’exécution multifilière; système à n processeurs (n  256); mémoire commune accessible par tous les processeurs; tous les processeurs sont gérés de la même et jouent le même rôle; ordonnancement des fils d’exécution dans tous les processeurs libres. Jean-Philippe Roberge - Avril 2014 ETS - GPA, (c) Tony Wong, Ph.D., ing.

Tendances des S.E. modernes (7) GPA435 - Systèmes d'exploitation et programmation de système Tendances des S.E. modernes (7) 3 - Traitement parallèle symétrique (suite) : Nouvelle exigence  «extensibilité» du S.E.; Application du concept de micro-noyau; S.E. décentralisé; Ordonnancement des fils d’exécution réalisé localement par chacun des processeurs; Collaboration entre les processeurs; Une réalisation plus complexe du S.E. Jean-Philippe Roberge - Avril 2014 ETS - GPA, (c) Tony Wong, Ph.D., ing.

Tendances des S.E. modernes (8) GPA435 - Systèmes d'exploitation et programmation de système Tendances des S.E. modernes (8) 4 - Système d’exploitation pour processeurs multi-cœurs: Présentement le S.E. traite les cœurs comme des CPU indépendants (traitement parallèle symétrique); en plus, doit gérer les conflits d’accès aux ressources partagées; doit gérer le délai variable dans le transfert des données. Jean-Philippe Roberge - Avril 2014 ETS - GPA, (c) Tony Wong, Ph.D., ing.

Références [1] Présentations PowerPoint du cours GPA435, Tony Wong. [2] Notes de cours, GPA435 [3] Levasseur, Yan, Wiki GPA435: http://bash.leyan.org/Accueil , consulté en avril 2014. [4] Tanenbaum, A.S., Systèmes d’exploitation. Pearson Education France, 2008. [5] Stallings, W., Operating Systems : Internals and Design Principals. Upper Saddle River, NJ : Prentice Hall, 1998. [6] Références citées dans le premier chapitre des notes de cours. Jean-Philippe Roberge - Avril 2014