pp0_intro_a05 - Université Laval

publicité
IFT-10544
SYSTÈMES D'EXPLOITATION
Automne 2005
Jean-Marie Beaulieu
Département d'informatique et de génie logiciel
Université Laval
Qu'est ce qu'un ordinateur ?
(matériel + logiciel)
Qu'est ce qu'un système d'exploitation ?
Comment fonctionne un ordinateur ?
Modèle en couches - superposition de logiciels
Programme utilisateur
Système d'exploitation
MATÉRIEL
Aperçu matériel
MÉMOIRE
Contrôleur
CPU
PÉRIPHÉRIQUES
CPU et mémoire
Processus
NOYAU
?
Progamme principal
sous-routine
CPU
CPU contrôle le code (programme) ou
le code contrôle le CPU ?
CPU contrôle le code (programme) ou
le code contrôle le CPU ?
mémoire
CPU
Processus
utilisateur
NOYAU
Image système --> contenu de la mémoire
LES BUTS
1) Fournir un environnement de haut niveau
2) Assurer une utilisation efficace de l’ordinateur
LES RÔLES
1) Fournir une extension du matériel
(environnement de haut niveau)
2) Gérer les ressources
(performance et protection)
(mécanisme vs politique)
1) Les mécanismes
2) Les politiques (ou les algorithmes allocation)
SYSTÈME DE
FICHIERS
Données
Programme
Root
Données
Programme
Programme
Données
SYSTÈME
D'EXÉCUTION
SHELL
Programme
Programme
Sub-dir
Programme
Données
Programme
VISION MATÉRIELLE
MÉMOIRE
Contrôleur
PÉRIPHÉRIQUES
CPU
VISION DE L'USAGER
PROCESSUS
Opérations
E/S
Périphériques
et
Fichiers
LES BUTS
LES RÔLES
LES COMPOSANTES
 le noyau
 les programmes systèmes
 la librairie système
LES FONCTIONS
1) Allocation du CPU, chargement et exécution de
processus,
2) Gestion de la mémoire,
3) Gestion des Entrées/Sorties, et
4) Gestion des fichiers.
MÉMOIRE
LES COMPOSANTES
 LE NOYAU
Vecteur
int + appel
NOYAU
 LES PROGRAMMES
SYSTÈMES
FICHIERS
PROGRAMMES
SYSTÈMES
DIR
LIST
COPY
 LA LIBRAIRIE
SYSTÈME
¨
USAGER
LIBRAIRIE
SYSTÈME
- read
- write
Texte
Texte
Programme
Programme
Compilation
Librairie usager
et autres
modules objets
Module
Module Objet
Objet
Librairie
Système
Édition des liens
Module
Module
Exécutable
Exécutable
Programmes
Système
Chargement
NOYAU
Exécution
MÉMOIRE
PROCESSUS
MÉMOIRE
Processus
Processus
Processus
Gestion des Fichiers
Gestion
du CPU et
de la Mémoire
Gestion des E / S
MATÉRIEL
Système de
Fichiers
Terminal
Système de
Fichiers
LES BUTS
LES RÔLES
LES COMPOSANTES
 le noyau
 les programmes systèmes
 la librairie système
LES FONCTIONS
1) Allocation du CPU, chargement et exécution de
processus,
2) Gestion de la mémoire,
3) Gestion des Entrées/Sorties, et
4) Gestion des fichiers.
Gestion des
Fichiers
Allocation
du CPU
E/S
Gestion de
la Mémoire
LES FONCTIONS DU NOYAU
PRINCIPES
OU
CONCEPTION
CONTRAINTES
DE
LES TYPES
 systèmes de traitement par lot ou en temps différé.
(batch system)
 systèmes de traitement interactif ou en temps
partagé.
Environnement utilisateur
mono-usager
traitement par lot (batch) ou temps différé
système interactif ou temps partagé
système dédié ou temps réel
Configuration des processeurs
mono-processeur
multiprocesseurs (dans une même machine, mémoire
partagée, délai de communication négligeable).
distribué (plusieurs machines reliées, délai de
communication important)
Organisation du noyau
monolithique
hiérarchisé
machine virtuelle
Programmes utilisateurs
appels au noyau
Bibliothèques
Niveau utilisateur
Niveau noyau
Interface des appels système
Sous-système
de
fichiers
Sous-système
de contrôle
des processus
Buffer cache
Caractère
Bloc
Contrôleurs de Périphériques
Contrôle de la partie matérielle
Niveau noyau
Niveau matériel
Partie matérielle
Communitation
interprocessus
Ordonnanceur
Gestion de la
mémoire
programmes
nroff
sh
Noyau
ns
io
at
ic
pl
ap
d'
a.out
who
ccp
date
Matériel
comp
as
d'a
pp
lic
ati
on
s
cc
wc
ed
ld
vi
grep
es
m
m
a
r
prog
LE SYSTÈME UNIX
ÉLÉMENTS D’ARCHITECTURE
MATÉRIELLE
1) MMU (memory management unit)
a) transformation de l’adresse logique
en adresse physique
b) protection des zones mémoire
2) Instruction privilégiée et
mode système / mode usager
3) Interruption et appel au noyau
 appel au noyau (ou système)
 déroutement
 interruption de l’horloge
 signal d’interruption d’un périphérique
IFT-10544
SYSTÈMES D'EXPLOITATION
Automne 2005
Jean-Marie Beaulieu
Département d'informatique et de génie logiciel
Université Laval
CHAPITRE 1 : LES DIFFÉRENTS VISAGES D'UN SYSTÈME
D'EXPLOITATION
CHAPITRE 2 : ENVIRONNEMENT ET LANGAGE DE
COMMANDE DE UNIX
CHAPITRE 3 : PROCESSUS ET ALLOCATION DU CPU
CHAPITRE 4 : GESTION DE LA MÉMOIRE
CHAPITRE 5 : LES ENTRÉES / SORTIES
CHAPITRE 6 : GESTION DES FICHIERS
CHAPITRE 7 : PROGRAMMATION CONCURRENTE
ANNEXE :
EXAMENS AUTOMNE 1999
1) Introduction
 rôles, composantes, fonctions et types.
 environnement usager de haut niveau.
 gestionnaire de ressources:
mécanismes et politiques.
 principes de mise en oeuvre.
 éléments matériels et logiciels.
2) Le système UNIX
 introduction, interface usager.
 organisation du noyau:
 processus/mémoire et fichier/ES.
 commandes et programme 'shell'.
 système de fichiers.
3) Processus et allocation du CPU
 processus et bloc de contrôle (PCB).
 commutation de contexte.
 état d'un processus.
 politiques d'allocation du CPU.
 gestion de processus et de "threads".
4) Gestion de la mémoire
 partitions de la mémoire.
 chargement et déchargement.
 découpage en pages et en segments.
 mémoire virtuelle.
 pagination sur demande.
5) Gestion des entrées/sorties
 gestionnaires de périphériques.
6) Système de fichiers
 allocation d'espace sur disque.
 organisation sur disque.
 répertoires.
7) Programmation concurrente
 mécanismes de synchronisation.
 langage concurrent.
 section critique et exclusion mutuelle.
 sémaphores.
 interblocage.
MÉTHODOLOGIE
Cours magistraux.
3 laboratoires.
Notes de cours obligatoires
Manuels de référence recommandés
•William Stallings, Operating Systems: internals and design principles.
•Silberschatz, Galvin et Gagne, Principes Appliqués des Systèmes
d'Exploitation avec java.
•Silberschatz, Galvin et Gagne, Operating Systems Concepts.
Vendus par la librairie Zone scientifique du Pavillon Adrien-Pouliot
au local 3370 du Pavillon Adrien-Pouliot (ensuite au local 0128 ).
ÉVALUATION
3 travaux de laboratoire
15 %
• Utilisation de Linux (individuel)
• Gestion du CPU et de la mémoire (2 par équipe)
•Programmation concurrente (2 par équipe)
1er Examen ( Intro + CPU )
33 %
jeudi 13 octobre
2e Examen ( Mémoire + E/S )
32 %
jeudi 24 novembre
Examen final ( Fichier + P.C. )
jeudi 15 décembre
Aucune documentation n'est permise lors des examens.
Congé de l'Université, le jeudi 8 décembre
 cours samedi le 3 ou 10 décembre
20 %
Téléchargement