système d’exploitation
DESCRIPTION
Système d’exploitation. L’architecture des ordinateurs en bref. Ordinateur personnel simple. Le 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: - PowerPoint PPT PresentationTRANSCRIPT
Système d’exploitation
L’architecture des ordinateurs en bref
Ordinateur personnel simple
Le processeur (CPU)
Extrait les instructions de la mémoire et les exécute.
Cycle de base:
1. Extraire
2. Décoder
3. Exécuter
Plusieurs registres de 32 ou 64 bits.
Trois registres spéciaux:
• Compteur ordinal (PC)
• Pointeur de pile (SP)
• Mot d’état (PSW)
Pipeline
Le processeur possède des unités séparées pour l’extraction, le décodage et l’exécution.
Différentes étapes de différentes instructions peuvent être traitées en parallèle.
Processeur superscalaire
On dispose de plusieurs unités d’exécutions (ex. arithmétique entière, en point flottant et logique).
Deux ou plusieurs opérations sont traité à la fois
Processeur multi-coeurs
Modes utilisateur et noyau
• 2 modes de fonctionnement:– Mode noyau: Accès à l’ensemble du système– Mode utilisateur: Accès restreint
• Le système d’exploitation tourne en mode noyau
• Un des bits du PSW indique le mode.
Appels système
Pour accéder aux services du système d’exploitation, un programme utilisateur doit effectuer un appel système qui consiste en:– Basculer en mode noyau– Invoquer le système d’exploitation– Revenir en mode utilisateur– Retourner le contrôle au programme utilisateur.
Exemple: Lecture ou écriture sur le disque dur.
Interruption
La bascule entre les modes utilisateur et noyau est générée par l’instruction trap qui interrompt le programme en cours pour donner le contrôle à un gestionnaire d’interruption:– Passe en mode noyau– Trouve l’adresse de la fonction cible dans une table
d’interruption– Exécute la fonction
Selon le type d’interruption, le gestionnaire effectue l’action appropriée.
Exemple: Une interruption peut aussi être déclenchée par le matériel pour avertir d’une situation imprévue (division par 0, débordement de pile, etc.).
Langage 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)
Langage assembleur sur Pentium
L’instruction cmp modifie le bit ZF de FLAGS
Par exemple, le code C suivant:if (EAX == 0)
EBX = 1;
Else
EBX = 2;
peut s’écrire:
Langage assembleur sur Pentium
cmp eax, 0 ; if ( eax==0) ZF=1 else ZF=0
jz A1 ; if (ZF==1) goto A1
mov ebx, 2 ; ebx=2
jmp A2 ; goto A2
A1:
mov ebx, 1 ; ebx=1
A2:
Langage assembleur sur Pentium
• Appels de fonctions effectués à l’aide de la pile.• Le registre ESP contient l’adresse du dessus de la
pile.• L'instruction CALL fait un saut inconditionnel vers
une sous-routine (empile l’adresse de l’instruction suivante).
• L’instruction RET dépile une adresse et saute à cette adresse.
• L’instruction PUSH sert à empiler les arguments• L’instruction POP sert à dépiler les arguments
La mémoireLa mémoire est construite comme une Hiérarchie de couches
La mémoire cache
•Principalement contrôlée par le matériel.
•Souvent plusieurs niveaux.
•Utilise le principe de la localité qui dit qu’une ressource utilisée à un instant donné risque fort d’être utilisée à nouveau dans un futur proche.
La mémoire principale
•RAM (Random Access Memory)
•La capacité augmente rapidement
•Présentement on peut facilement atteindre 16 Go sur un ordinateur personnel
Plusieurs millions de fois plus lents que la mémoire principale
Les disques durs
Les bandes magnétiques
• Le principal avantage est le très faible coût
• Peut prendre plusieurs minutes pour accéder à l’information.
• Utilisé pour l’archivage des données et pour stocker de grandes quantités d’information.
Systèmes multitâches
• Plusieurs programmes sont en mémoires.
• Quand un programme est bloqué parce qu’il attend le résultat d’une E/S alors un autre programme peut utiliser le CPU.
• Deux problèmes se posent:1. Comment protéger les programmes les uns contre
les autres?2. Comment reloger les programmes en mémoires?
Les registres base-limite
Les périphériques
• Matériel– contrôleur– Périphérique
• Logiciel– Pilote
Le pilote de périphérique
• Fonctionne habituellement en mode noyau
• 3 façons de l’installer– 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)
Le contrôleur de périphérique
• Fourni une interface simple au système d’exploitation
• Possède un petit nombre de registres utilisés pour la communication.
• Le pilote reçoit une commande du SE qu’il converti en valeurs qu’il écrit dans les registres du contrôleur.– Registres mappés en mémoire– Instructions IN, OUT avec numéro de port.
Les entrées/sorties
Trois méthodes:
1. Attente active
2. Utilisation des interruptions
3. Accès direct à la mémoire
Attente active
Un appel système est effectué par un programme utilisateur.
Le noyau appelle le pilote approprié qui demeure actif tant que l’opération n’est pas terminée.
Le contrôle est retourné au programme utilisateur.
Utilisation des interruptionsLe pilote demande au contrôleur de périphérique d’effectuer une
interruption lorsque l’opération sera terminée.À la réception de l’interruption, le pilote lira l’information en provenance
du contrôleur de périphérique.
Accè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 s’occupera 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 l’opération sera complétée.