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