Introduction - machine simplifiée

publicité
Systèmes d’exploitation
Cours de 25 heures
M.Bastreghi en collaboration avec J.C.Jaumain
supports : plateforme e-learning poÉSI, eDistri ou
http ://mba.namok.be
- syllabus
- transparents
- vos notes de cours
évaluation : examen en janvier
– Systèmes d’exploitation 1ère année – – p. 1
Systèmes d’exploitation
Système d’exploitation (SE) = Operating System (OS)
qu’est-ce qu’un OS ?
– Systèmes d’exploitation 1ère année – – p. 2
Plan du cours
+ Introduction
- machine simplifiée et exécution d’une instruction
- amorce ou séquence de démarrage.
+ Emergence et évolution des systèmes d’exploitation
+ Système de fichiers : FAT - NTFS
+ Ordonnancement
– Systèmes d’exploitation 1ère année – – p. 3
Introduction - machine simplifiée
que fait un ordinateur ?
est-ce que un ordinateur peut fonctionner sans OS ?
où se trouve le programme qui s’exécute ?
quels composants fonctionnels a un ordinateur ?
– Systèmes d’exploitation 1ère année – – p. 4
Introduction - machine simplifiée
– Systèmes d’exploitation 1ère année – – p. 5
Introduction - machine simplifiée
RAM et CPU :
– Systèmes d’exploitation 1ère année – – p. 6
Introduction - machine simplifiée
RAM (Random Access Memory)
- mots adressables ou bytes à lire et écrire
- volatile
- contient données et instructions
- reliée par bus au CPU : bus d’adresse et de données
– Systèmes d’exploitation 1ère année – – p. 7
Introduction - machine simplifiée
RAM (Random Access Memory) - codage
codage binaire (0,1)
- instructions
- données
- adresses RAM
- ...
tout est un nombre en base 2 (2 chiffres : 0 et 1) !
– Systèmes d’exploitation 1ère année – – p. 8
Introduction - machine simplifiée
lecture d’un nombre :
- 1101 en base 10 = 1x1 + 0x10 + 1x100 + 1X1000
- 1101 en base 2 = 1x1 + 0x2 + 1x4 + 1X8
combien de chiffres binaires pour représenter le nombre
1.000.000.000 ?
est-ce que tout nombre peut être exprimé en base 2 ?
– Systèmes d’exploitation 1ère année – – p. 9
Introduction - machine simplifiée
binaire vers héxadécimal
par facilité de lecture nous exprimerons souvent les
nombres en base 16 (16 chiffres différents : 0123456789ABCDEF)
A=10, . . ., F = 15
En quelle base est exprimé le nombre 101 ? ? ?
-> on adopte une convention de notation.
Il se peut que les notations diffèrent d’un cours à l’autre
(101h, 0X101,. . .)
– Systèmes d’exploitation 1ère année – – p. 10
Introduction - machine simplifiée
exemple :
voici différentes représentations du nombre 26 :
- 26 en base 10
- 11010 en base 2
- 1Ah en base 16 ( 10x1 + 1x16 )
– Systèmes d’exploitation 1ère année – – p. 11
Introduction - machine simplifiée
petit exercice :
10001011 en base 2 ou 8Bh est le code d’une instruction
MOV
Quelle est sa valeur en base 10 ?
– Systèmes d’exploitation 1ère année – – p. 12
Introduction - machine simplifiée
– Systèmes d’exploitation 1ère année – – p. 13
Introduction - machine simplifiée
"le CPU exécute les programmes contenus en RAM"
CPU (Central Processing Unit) - processeur (cerveau)
lit, interprète et exécute une instruction à la fois
- ALU - Unité de calcul
- UC - Unité de commande
. registre IP : adresse de l’instruction suivante
. registre RI : instruction a exécuter
. décodeur, séquenceur, horloge
– Systèmes d’exploitation 1ère année – – p. 14
Introduction - machine simplifiée
fonctionnement simplifié du processeur
tout traitement d’instruction par le CPU a deux phases :
- lecture
- exécution
chaque phase peut prendre 1 à plusieurs tops d’horloge
– Systèmes d’exploitation 1ère année – – p. 15
Introduction - machine simplifiée
décomposons l’exécution d’une instruction
- top 1 : bus d’adresse <- adresse contenue dans IP
- top 2 : RI <- instruction via bus de données, IP <- +
- FIN DE LA LECTURE
- ———————————————————–
- top 3 et suite : interprétation et exécution de l’instruction
depuis RI
- FIN DE L’EXECUTION
– Systèmes d’exploitation 1ère année – – p. 16
Introduction - machine simplifiée
un exemple :
MOV AX,[100h]
exécutons l’instruction qui met dans AX le contenu de la
RAM à l’adresse 100h
hypothèses de départ :
- en 300h se trouve notre instruction MOV AX,[100h]
(codée par exemple 8B 0100)
- IP vaut donc 300h
- en 100h se trouvent les caractères abcd
– Systèmes d’exploitation 1ère année – – p. 17
Introduction - machine simplifiée
MOV AX,[100h]
- top 1 : bus d’adresse <- 300h
- top 2 : RI <- 8B 0100 via bus de donées, IP <- +
- ——- top 3 : bus d’adresse <- 100h
- top 4 : AX <- abcd via le bus data et ALU
– Systèmes d’exploitation 1ère année – – p. 18
Introduction - machine simplifiée
IP <-+ l’incrémentation automatique de IP permet une
séquence d’instructions,
un programme n’est pas toujours une séquence
4mm]
- boucle, si...sinon, . . .
- ...
exécuter du code ailleurs => l’instruction même modifie
parfois IP
– Systèmes d’exploitation 1ère année – – p. 19
Introduction - machine simplifiée
exécutons une instruction de rupture de séquence :
l’instruction de saut JMP
hypothèses de départ :
- en 400h se trouve notre instruction JMP 4567h codée
par exemple EB 4567h
- IP vaut donc 400h
- en 4567h "il y a une instruction"
– Systèmes d’exploitation 1ère année – – p. 20
Introduction - machine simplifiée
l’instruction de saut JMP
- top 1 : bus d’adresse <- 400h
- top 2 : RI <- EB4567h via bus de données, IP <-+
- ——- top 3 : IP <- 4567h
en 4567h peut-il y a voir autre chose qu’une instruction ?
– Systèmes d’exploitation 1ère année – – p. 21
Introduction - machine simplifiée
– Systèmes d’exploitation 1ère année – – p. 22
Introduction - ordinateur
Périphériques et leurs unités d’échange :
échange et/ou stockage permanent des données
- disque, bande
- souris, clavier
- carte réseau
- ...
communiquent avec le CPU par bus
– Systèmes d’exploitation 1ère année – – p. 23
Introduction - amorce
la RAM est volatile
Quelles instructions exécute l’ordinateur au démarrage ?
Qui met les instructions en RAM ?
– Systèmes d’exploitation 1ère année – – p. 24
Introduction - amorce
CHARGEUR (LOADER)
programme du système d’exploitation
charge le code d’un programme en RAM
– Systèmes d’exploitation 1ère année – – p. 25
Introduction - amorce
tiens, le chargeur est un programme . . .
alors qui charge le chargeur ?
– Systèmes d’exploitation 1ère année – – p. 26
Introduction - amorce
ROM et BIOS - Read Only Memory - Basic Input/Output
System
- reset -> IP reçoit une adresse en ROM (BIOS)
- le BIOS cherche un "périphérique bootable"
- le BIOS charge en RAM les premiers 512 bytes du
périphérique (MBR)
- le BIOS met dans IP l’adresse du début du premier de
ces bytes
on va exécuter le MBR du premier device bootable
– Systèmes d’exploitation 1ère année – – p. 27
Introduction - amorce
structure d’un MBR (secteur 0 - 512 bytes) :
– Systèmes d’exploitation 1ère année – – p. 28
Introduction - amorce
La commande administrateur linux dd
permet de visualiser le contenu d’un MBR :
dd if=/dev/hda of=mbr.bin bs=512 count=1
od -x mbr.bin
– Systèmes d’exploitation 1ère année – – p. 29
Introduction - questions
- le registre IP contient toujours l’instruction à
exécuter[V-F]
- peut-on exécuter un programme qui ne réside pas en
mémoire ?
- combien de lectures RAM fait-on pour exécuter MOV
AX[100h] (met dans AX le contenu de l’adresse 100) ?
- jmp 400h, à l’adresse 400h peut se trouver l’instruction
jmp 500h[V-F]
– Systèmes d’exploitation 1ère année – – p. 30
Téléchargement