Title: Syst
1Système dexploitation
- Larchitecture des ordinateurs en bref
2Ordinateur personnel simple
3Le processeur (CPU)
- Extrait les instructions de la mémoire et les
exécute. - Cycle de base
- Extraire
- Décoder
- Exécuter
- Plusieurs registres de 32 ou 64 bits.
- Trois registres spéciaux
- Compteur ordinal (PC)
- Pointeur de pile (SP)
- Mot détat (PSW)
4Pipeline
Le processeur possède des unités séparées pour
lextraction, le décodage et lexécution. Différe
ntes étapes de différentes instructions peuvent
être traitées en parallèle.
5Processeur superscalaire
On dispose de plusieurs unités dexécutions
(ex. arithmétique entière, en point flottant et
logique). Deux ou plusieurs opérations sont
traité à la fois
6Processeur multi-coeurs
7Modes utilisateur et noyau
- 2 modes de fonctionnement
- Mode noyau Accès à lensemble du système
- Mode utilisateur Accès restreint
- Le système dexploitation tourne en mode noyau
- Un des bits du PSW indique le mode.
8Appels système
- Pour accéder aux services du système
dexploitation, un programme utilisateur doit
effectuer un appel système qui consiste en - Basculer en mode noyau
- Invoquer le système dexploitation
- Revenir en mode utilisateur
- Retourner le contrôle au programme utilisateur.
- Exemple Lecture ou écriture sur le disque dur.
9 Interruption
- La bascule entre les modes utilisateur et noyau
est générée par linstruction trap qui interrompt
le programme en cours pour donner le contrôle à
un gestionnaire dinterruption - Passe en mode noyau
- Trouve ladresse de la fonction cible dans une
table dinterruption - Exécute la fonction
- Selon le type dinterruption, le gestionnaire
effectue laction appropriée. - Exemple Une interruption peut aussi être
déclenchée par le matériel pour avertir dune
situation imprévue (division par 0, débordement
de pile, etc.).
10Langage assembleur sur Pentium
- eax et ebx sont deux des registres de 32 bits.
- add eax, ebx eax eax ebx
- mov eax, 3 eax 3
- mov ebx, eax ebx eax
- mov ebx, eax ebx eax
- inc ecx ecx
- sub eax, ebx eax eax ebx
- cmp eax, ebx compare eax et abx et
- modifie le PSW (FLAGS)
11Langage assembleur sur Pentium
- Linstruction cmp modifie le bit ZF de FLAGS
- Par exemple, le code C suivant
- if (EAX 0)
- EBX 1
- Else
- EBX 2
- peut sécrire
12Langage assembleur sur Pentium
- cmp eax, 0 if ( eax0) ZF1 else ZF0
- jz A1 if (ZF1) goto A1
- mov ebx, 2 ebx2
- jmp A2 goto A2
- A1
- mov ebx, 1 ebx1
- A2
13Langage assembleur sur Pentium
- Appels de fonctions effectués à laide de la
pile. - Le registre ESP contient ladresse du dessus de
la pile. - L'instruction CALL fait un saut inconditionnel
vers une sous-routine (empile ladresse de
linstruction suivante). - Linstruction RET dépile une adresse et saute à
cette adresse. - Linstruction PUSH sert à empiler les arguments
- Linstruction POP sert à dépiler les arguments
14La mémoire
La mémoire est construite comme une Hiérarchie de
couches
15La mémoire cache
- Principalement contrôlée par le matériel.
- Souvent plusieurs niveaux.
- Utilise le principe de la localité qui dit quune
ressource utilisée à un instant donné risque fort
dêtre utilisée à nouveau dans un futur proche.
16La mémoire principale
- RAM (Random Access Memory)
- La capacité augmente rapidement
- Présentement on peut facilement atteindre 16 Go
sur un ordinateur personnel
17Les disques durs
Plusieurs millions de fois plus lents que la
mémoire principale
18Les bandes magnétiques
- Le principal avantage est le très faible coût
- Peut prendre plusieurs minutes pour accéder à
linformation. - Utilisé pour larchivage des données et pour
stocker de grandes quantités dinformation.
19Systèmes multitâches
- Plusieurs programmes sont en mémoires.
- Quand un programme est bloqué parce quil attend
le résultat dune E/S alors un autre programme
peut utiliser le CPU. - Deux problèmes se posent
- Comment protéger les programmes les uns contre
les autres? - Comment reloger les programmes en mémoires?
20Les registres base-limite
21Les périphériques
- Matériel
- contrôleur
- Périphérique
- Logiciel
- Pilote
22Le pilote de périphérique
- Fonctionne habituellement en mode noyau
- 3 façons de linstaller
- Lier avec le noyau et redémarrer le système
(plusieurs systèmes UNIX fonctionnent ainsi) - Ajouter une entrée dans un fichier spécial et
redémarrer le système (Windows fonctionne ainsi) - Ajouter sans arrêter le système et sans
redémarrage (plug-and-play)
23Le contrôleur de périphérique
- Fourni une interface simple au système
dexploitation - Possède un petit nombre de registres utilisés
pour la communication. - Le pilote reçoit une commande du SE quil
converti en valeurs quil écrit dans les
registres du contrôleur. - Registres mappés en mémoire
- Instructions IN, OUT avec numéro de port.
24Les entrées/sorties
- Trois méthodes
- Attente active
- Utilisation des interruptions
- Accès direct à la mémoire
25Attente active
- Un appel système est effectué par un programme
utilisateur. - Le noyau appelle le pilote approprié qui demeure
actif tant que lopération nest pas terminée. - Le contrôle est retourné au programme utilisateur.
26Utilisation des interruptions
- Le pilote demande au contrôleur de périphérique
deffectuer une interruption lorsque lopération
sera terminée. - À la réception de linterruption, le pilote lira
linformation en provenance du contrôleur de
périphérique.
27Accès direct à la mémoire (DMA)
- Nécessite du matériel supplémentaire puce DMA
(Direct Memory Access) - Pour communiquer avec un périphérique, le CPU
initialise la puce DMA. - Celle-ci soccupera de la communication avec le
périphérique ainsi que du transfert de données
entre la mémoire et le contrôleur. Il avertira le
processeur lorsque lopération sera complétée.