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
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
Systèmes d exploitation 1ère année p. 5
RAM et CPU : Systèmes d exploitation 1ère année p. 6
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
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
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
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
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
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
Systèmes d exploitation 1ère année p. 13
"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
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
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
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
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
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
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
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
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