Les généralités sur les OS Ordinateur : Langage machine (Code Machine) Instruction de base = Rom (Read Only Memory) OS :
C’est l’interface entre l’utilisateur et l’ordinateur Traduire les actions de l’utilisateur en code interprétables par l’ordinateur Ensemble de programme ayant chacun une tâche à réaliser But : Fournir un environnement de travail à l’utilisateur. -
Gestion des E/S => gérer la communication avec les périphériques.
-
Gérer la RAM (Code et Variables)
-
Charger le code des programmes exécutable en mémoire RAM et de lancer leur exécution
-
Gérer l’accès au processeur (ordonnancement)
-
Gérer les fichiers et les répertoires
-
Mettre à disposition un interpréteur de commande
En résumé, l’OS fournit un environnement de travaille à l’utilisateur, il assure le bon fonctionnement des différents composants. Il contrôle également les ressources systèmes. Fourni un environnement de développement.
Hardware Abstraction Layer C’est la partie qui est dépendante de la technologie machine, elle doit être récrite si on passe l’OS sur un autre système Les différents types d’OS : -
Monotâche : OS qui est capable de s’occuper que d’une tâche à la fois. Il attend la fin d’une tache avant de pouvoir en commencer une autre.
-
Multitâche : OS qui est capable de s’occuper de plusieurs programmes en même temps. Attention, on fonction en pseudo-parallélisme. Un processeur ne peut s’occuper que d’un programme à la fois. L’OS doit alors partager l’accès au processeur entre tous les programmes. Il attribut ce que l’on appelle un quantum de temps à chaque des programmes. Tous les quantums de temps, l’OS change le programme qui utilise le processeur.
Le compteur ordinal : il contient l’adresse de la prochaine instruction à exécuter. Lorsque le quantum de temps du prog1 se termine, le scheduleur (ordonnanceur) sauvegarde le contexte du prog1. Le scheduleur : Gestionnaire des tâches sous Windows, PS sous Unix Le contexte : c’est l’état des registres du processeur. Puis le scheduleur restaure le contexte de prog2 et donne la main à prog2 qui poursuit son exécution.
Il existe le multitâche -
Coopératif : c’est le programme actif qui décide de laisser la main au scheduleur pour que celui-ci laisse l’accès au processeur à un autre programme.
-
Préemptif : ce le scheduleur seul qui décide de laisser la main à un programme. Il peut mettre de côté un programme ou lui donner l’accès au processeur.
Le mono-utilisateur : Comme son nom l’indique, un seul utilisateur à la fois peut utiliser la machine.
Le multiutilisateur : Plusieurs utilisateurs peuvent utiliser en même temps les ressources de la machine.
Le lancement d’un OS -
Au démarrage de la machine, le BIOS s’exécute.
Le BIOS vérifie les composants de la machine (mémoire, DD, clavier). Il effectue le POST (PowerOnSelfTest).
Le BIOS va lire le contenu du 1 er secteur du disque dur, le MBR (MasterBootRecord).
Le BIOS lance le le BootStrap (NTLDR, Grub, Lilo...)
Le BootStrap va lire la table des partitions.
Le BootStrap va lire le premier secteur de la partition choisie. Ce secteur s’appelle le secteur de boot qui contient le programme de boot.
Le BootStrap lance le programme de boot.
Le programme de boot charge le noyau de l’OS.
L’OS vérifie les périphériques, la mémoire, le DD... et lance l’interpréteur de commande. MBR
Vocabulaire
Secteur : plus petit unité de stockage. Elle fait 512 octets. Piste : représente 63 secteurs. CHS : Cylinder Head Sector (limité à 7,9Go). LBA : Logical Block Addressing Les secteurs et les pistes sont mis en place lors du formatage de bas niveau (low level). Il a pour rôle de délimité les secteurs ainsi les pistes et les numérotes. Ce formatage est indépendant des OS.
Le formatage de haut niveau (high level ou logique) dont le but est de mettre le File System. Il est dépendant de l’OS car il doit comprendre le mécanisme de File System installé.
Les Files System gèrent les secteurs et pour éviter que la tailles des FS soient de taille trop importante on a mis en place la notion de cluster (regroupement de secteur).
Le secteur de boot est le premier secteur d’une partition. Le noyau est la plus petite partie d’un OS qui reste constamment chargé en mémoire.
Une Partition est une partie d’un disque physique. C’est un disque logique dans un disque physique. On doit connaître son numéro de premier secteur et le nombre de secteur de la partition. Il existe 3 types de partitions -
Partition principal / primaire (accessible directement via les infos de la MBR)
-
Partition étendu (conteneur de partition)
-
Partition logique (partition contenue dans une partition étendue). Elle contient des données mais éventuellement un OS si celui-ci est bootable à partir d’une partition logique.
Comment une partition logique est-elle gérée ?
-
Les partitions logiques sont contenues dans une partition étendue
-
Les informations concernant la partition étendu son stockés dans l’une des entrées de la table de partition de la MBR.
L’octet n°4 : 0x0F ou 0x05
-
Une fois la partition étendu localisée, il faut se rendre sur le premier secteur de la partition étendu pour localiser les partitions logiques. Le premier secteur de la partition étendu s’appelle un EBR (Extended Boot Record). On y retrouve alors les 446 octets du BootStrap qui sont à 0. La table des partitions ainsi que la signature.
-
Table des partitions de l’EBR, 4 Entrées mais 2 au maximum seront utilisés :
uLa première pour connaitre l’emplacement du premier secteur de la partition logique (secteur de boot) et la taille de la partition logique en secteur, ainsi que le type de File System.
-
La deuxième entrée permet de savoir où est le début du morceau de partition étendu qui contient la partition logique suivante sinon les octets sont à 0 pour cette entrée.
Remarque : Le morceau de partition étendu qui gère la partition logique suivante contient au début un secteur EBR pour gérer cette partition logique.