Présentation d un système d exploitation

Documents pareils
Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

Systèmes d Exploitation - ENSIN6U3. Aix-Marseille Université

Partie 7 : Gestion de la mémoire

Structure fonctionnelle d un SGBD

Concept de machine virtuelle

GESTION DE LA MEMOIRE

NOTIONS DE RESEAUX INFORMATIQUES

SGM. Master S.T.S. mention informatique, première année. Isabelle Puaut. Septembre Université de Rennes I - IRISA

Architecture des ordinateurs

Unix/Linux I. 1 ere année DUT. Université marne la vallée

Systemes d'exploitation des ordinateurs

CH.3 SYSTÈMES D'EXPLOITATION

Cours A7 : Temps Réel

IN SYSTEM. Préconisations techniques pour Sage 100 Windows, MAC/OS, et pour Sage 100 pour SQL Server V16. Objectif :

Virtualisation de serveurs Solutions Open Source

Windows XP niveau 2. D. Hourquin, Médiapôle St Ouen l'aumône

LIVRE BLANC Pratiques recommandées pour l utilisation de Diskeeper sur les réseaux SAN (Storage Area Networks)

LA mémoire principale est le lieu où se trouvent les programmes et les

VMware ESX/ESXi. 1. Les composants d ESX. VMware ESX4 est le cœur de l infrastructure vsphere 4.

Systèmes d Exploitation - ENSIN6U3. Aix-Marseille Université

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

DAns un système multi-utilisateurs à temps partagé, plusieurs processus

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

MODULE I1. Plan. Introduction. Introduction. Historique. Historique avant R&T 1ère année. Sylvain MERCHEZ

en version SAN ou NAS

Informatique industrielle A Systèmes temps-réel J.F.Peyre. Partie I : Introduction

"! "#$ $ $ ""! %#& """! '& ( ")! )*+

La Continuité d Activité

INSTALLATION ET CONFIGURATION DE HYPER V3

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

vbladecenter S! tout-en-un en version SAN ou NAS

ESPACE MULTIMEDIA DU CANTON DE ROCHESERVIERE

<Insert Picture Here> Solaris pour la base de donnés Oracle

Séquencer une application

PARAGON SYSTEM BACKUP 2010

Windows 2000: W2K: Architecture. Introduction. W2K: amélioration du noyau. Gamme windows W2K pro: configuration.

WINDOWS SERVER 2003 Maintenance d'active directory V1.0

Démarrer et quitter... 13

Veeam Backup & Replication v6

Gestion de la mémoire

Solution A La Gestion Des Objets Java Pour Des Systèmes Embarqués

Atelier : Virtualisation avec Xen

SYS MEM. Gestion de la mémoire. Table des matières. IUT - Département Informatique. ASR2-Système. 1.1 Motivation

Base de l'informatique. Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB)

Virtualisation logicielle De la machine réelle à la machine virtuelle abstraite

Gestion des sauvegardes

Chapitre 4 : Exclusion mutuelle

Manuel d utilisation de ndv 4

Guide pour l Installation des Disques Durs SATA et la Configuration RAID

WEA Un Gérant d'objets Persistants pour des environnements distribués

Rapport du projet Qualité de Service

Quel PC pour quels usages? 1) PC de Bureau ou Portable? Les différents types de portables. - Les ultra-portables. - Les portables généralistes

la virtualisation pour quoi faire?

Licences Windows Server 2012 R2 dans le cadre de la virtualisation

Cours Programmation Système

Avira System Speedup Informations de parution

Livre blanc. La sécurité de nouvelle génération pour les datacenters virtualisés

Guide de l informatique Fichiers et dossiers

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

26 Centre de Sécurité et de

Modules du DUT Informatique proposés pour des DCCE en 2014/2015

Installation d un poste i. Partage et Portage & permissions NTFS

1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants :

2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant.

Xen. Quelques notes autour de Xen

Partie 1. Professeur : Haouati Abdelali. CPGE Lycée Omar Ibn Lkhattab - Meknès haouaticpge@gmail.com

Utiliser Glary Utilities

Introduction aux environnements de virtualisation d'oracle Solaris 11.1

//////////////////////////////////////////////////////////////////// Administration systèmes et réseaux

Fiche Technique. Cisco Security Agent

Internets. Informatique de l Internet: le(s) Internet(s) Composantes de l internet R3LR RENATER

Le stockage. 1. Architecture de stockage disponible. a. Stockage local ou centralisé. b. Différences entre les architectures

IV- Comment fonctionne un ordinateur?

Systèmes d exploitation

ESXi: Occupation RAM avec VM_Windows et VM_Linux. R. Babel, A. Ouadahi April 10, 2011

Connaître les Menaces d Insécurité du Système d Information

Sans trop entrer dans les détails, la démarche IO Model consiste à : Pour cela, Microsoft découpe la maîtrise de l infrastructure en quatre niveaux :

Les avantages de la virtualisation sont multiples. On peut citer:

PROTEGER SA CLE USB AVEC ROHOS MINI-DRIVE

Windows Server Chapitre 1: Découvrir Windows Server 2008

VMware vsphere 5 Préparation à la certification VMware Certified Professional 5 Data Center Virtualization (VCP5-DCV) - Examen VCP510

Introduction à LDAP et à Active Directory Étude de cas... 37

1. Systèmes d entrée/sortie 2. Systèmes de fichiers 3. Structure de mémoire de masse (disques)

Gestion de mémoire secondaire F. Boyer, Laboratoire Sardes

PG208, Projet n 3 : Serveur HTTP évolué

PC Check & Tuning 2010 Optimisez et accélérez rapidement et simplement les performances de votre PC!

LA VIRTUALISATION. Etude de la virtualisation, ses concepts et ses apports dans les infrastructures informatiques. 18/01/2010.

But de cette présentation. Bac à sable (Sandbox) Principes. Principes. Hainaut P

Virtualisation de Windows dans Ubuntu Linux

10 tâches d administration simplifiées grâce à Windows Server 2008 R2. 1. Migration des systèmes virtuels sans interruption de service

Manuel de System Monitor

Plan de la conférence. Virtualization. Définition. Historique. Technique. Abstraction matérielle

Protéger une machine réelle derrière une machine virtuelle avec pfsense

Cours de Systèmes d Exploitation

M1 Informatique, Réseaux Cours 9 : Réseaux pour le multimédia

REALISATION d'un. ORDONNANCEUR à ECHEANCES

Transcription:

Présentation d un système d exploitation 1- Définition et objectifs d un système d exploitation 2- Evolution des systèmes d exploitation 3- Fonctions d un système d exploitation a. Gestion de mémoire. i. Allocation en zones contigües de tailles fixes. ii. Allocation en zones contigües de tailles variables. iii. -Pagination. iv. Segmentation. v. Mémoire virtuelle. b. Gestion des processus. i. Etats d un processus. ii. Type d exécution. iii. Ordonnanceur. c. Gestion des périphériques E/S. d. Gestion des fichiers. 4- Structure d un système d exploitation a. Les systèmes monolithiques b. Les systèmes à couches c. Les machines virtuelles M.Nasri Page 1

1- Définition et objectifs d un système d exploitation Sans système d exploitation, un ordinateur est un ensemble de métal inutile. Un système d exploitation (SE ou OS : operating system) d une machine, comme son nom le dit est l ensemble de composant qui permet d exploiter les fonctionnalités de la machine (machine à laver, TV, Smartphone, ). Un système d exploitation est donc l interface homme-machine. Pour un ordinateur, le système d exploitation permet de faire la liaison entre les utilisateurs, le matériel et les applications (traitement de texte, jeu vidéo ). Si un programme désire envoyer des données à un périphérique, il suffit de les envoyer au SE qui va le faire moyennant les pilotes. Ci-dessous un schéma explicatif d un système d exploitation : Fig.1 M.Nasri Page 2

2- Evolution des systèmes d exploitation Exploitations porte ouverte : 1945-1955 Traitement par lots : 1955-1965 Multiprogrammation et traitement par lots : 1965-1980 Multiprogrammation et partage de temps : 1965-1980 Systèmes d'exploitation d'ordinateurs personnels Exploitations en réseau Exploitations en distribué Systèmes multiprocesseurs Système d'exploitation temps réel 3- Fonctions d un système d exploitation Ci-dessous un modèle en couche qui permet de voir les fonctions d un système d exploitation : principales Fig.2 Ci-après nous allons décortiquer chaque fonction du système d exploitation (gestion de la mémoire, gestion des processus, gestion de périphériques, gestion de fichiers). M.Nasri Page 3

a. Gestion de mémoire La gestion de mémoire au niveau d un système d exploitation, consiste à : o Connaître les zones de mémoires libres et occupées. o Allouer la mémoire nécessaire aux processus qui ont le besoin. o Gérer le va et vient entre les disques et la mémoire centrale. o Répartir la mémoire entre les différents processus actifs. o Répartir la mémoire entre les différents utilisateurs présents. o Maintenir l intégrité des zones réservées. o Maintient des données de chaque processus. o Utiliser la mémoire virtuelle. o Faire la pagination. Pour manipuler la mémoire, le système d exploitation utilise les techniques suivantes : Allocation en zones contigües fixes. Allocation en zones contigües variables. Segmentation. Pagination. Mémoire virtuelle. Dans ce qui suit, nous allons voir en détail chaque technique. i. Allocation en zones contigües de taille fixe. Initialement la mémoire est découpée en zones ou partitions de tailles fixes (pas obligatoirement identiques). Pour allouer de la mémoire à un programme P de taille Taille(P). le SE cherche la partition tel que : Taille(partition) - Taille(P) : soit la plus petite possible. M.Nasri Page 4

Fig. 3 Ci-dessous un exemple d allocation en zones contigües de taille fixe. On voit ici que le programme occupe la zone mémoire qui le suffit et laisse derrière lui des trous inutilisables. Fig. 4 Chaque partition est identifiée par son adresse et sa taille. M.Nasri Page 5

ii. Allocation en zones contigües de taille variable. Le principe ici est que le système initialement va partitionner sa mémoire selon les tailles des programmes qu il va charger. Une fois le programme est terminé, la partition qu il occupait avant sera dite libre => la mémoire du système sera donc composée de partitions occupées et d autres libres. Si le système va charger un processus de taille égale à T il cherchera la partition libre dont la taille est supérieure ou égale à T. cette recherche peut se faire selon 2 techniques : First fit : il utilisera la première zone libre qui peut héberger le processus. Best Fit : il cherche la zone libre qui présente le minimum d espace perdu (la taille du trou causée est la plus petite possible) Ci-dessous un exemple d allocation de partitions à taille variables. On voit dans la figure qu après la fin des p2 et p4, on a eu 2 autres partitions libres. Fig.5 M.Nasri Page 6

La figure qui va suivre nous montrera un exemple d allocation selon la technique First FIT. Fig.6 La figure qui suit nous montrera un cas d allocation d un processus selon la technique Best Fit. Fig. 7 M.Nasri Page 7

Le problème ici, c est qu après avoir alloué et libéré plusieurs programmes on va se trouver avec plusieurs fragments de mémoires non contigües. C est le phénomène de fragmentation. La figure suivante Fig.8 montre que réellement nous avons de l espace mais cette espace n est pas contigües du coup on ne peut pas l utiliser en tant que partition libre. D où la nécessité de compacter ou de défragmenter la mémoire. La défragmentation est couteuse vu qu elle revient à translater les adresses dynamiques afin de créer une seule zone libre. Fig. 8 Ci-dessous 3 exemples de compactage de mémoire dont le coût varie. M.Nasri Page 8

Fig.9 L allocation d une zone de mémoire contigüe à taille variables présente des avantages et des inconvénients. + : protège le processus en limitant sa zone de mémoire. Même s il génère d autres adresses lors de son exécution, le programme ne dépassera pas la zone mémoire qui lui est allouée. + : l accès au programme chargé en mémoire est facile. - : oblige de charger tout le programme peu importe sa taille dans une seule partition. - : nécessite un compactage ou défragmentation. Les inconvénients de l allocation contigües, nous laisse penser à diviser la mémoire du processus ou du programme à charger en des petits morceaux facile à caser. Cela nous ramène à parler de la pagination. M.Nasri Page 9

iii. Pagination L unité d allocation de la mémoire centrale s appelle page. La mémoire centrale est divisée en morceaux linéaires de même taille appelés cases ou cadre de page (frame). L espace d adressage du programme est divisé en pages. Le principe est simple : o Affecter chaque page du programme dans n importe quel cadre disponible. o Remplir une table de pagination qui indiquera l ordre des pages du programme ainsi que leurs nouveaux emplacements dans la mémoire centrale afin de pouvoir restituer le programme. Fig.10 Inconvénients : o Maintien de la table de pagination. o Le temps d accès à un emplacement en mémoire d un programme M.Nasri Page 10

Avantage : o Il n y a plus de problèmes de fragmentation. iv. Segmentation Consiste à diviser le programme en des portions de mémoire linéaires appelés segments. La segmentation du programme peut être logique sous la forme de : Un segment pour le code. Un segment pour les données. Un segment pour la pile d exécution. Fig.11 La mémoire centrale étant linéaire. Le principe ici revient à placer les segments du programme en mémoire centrale. Et utiliser une table de segmentation pour pouvoir restituer le programme. Dans l exemple qui suit (Fig.12) on verra comment segmenter la mémoire tout en remplissant la table de segmentation. M.Nasri Page 11

Fig.12 Initialement la programme est divisé en 4 segments, identifiés par <num segment, taille du segment mais à partir du 0> : Adresse du segment 1 = <1, 20> Adresse du segment 2 = <2, 45> Adresse du segment 3 = <3, 60> Adresse du segment 2 = <4, 70> Après chargement en mémoire centrale, les segments sont identifiés par < position du segment en M.C, offset (= taille du segment) > : Adresse du segment 1 = <50, 20> Adresse du segment 2 = <195, 25> Adresse du segment 3 = <95, 15> Adresse du segment 2 = <150, 10> Toutes ces données sont sauvegardées dans la table des segments pour pouvoir identifier le programme. Inconvénients : M.Nasri Page 12

o Le problème de fragmentation existe. o Il faut passer par la table de segmentation pour pouvoir accéder au programme chargée => temps d accès plus grand. Avantage : o L unité d allocation est plus petite que le programme entier. o Les segments peuvent changer de places en mémoire. o La protection et le partage des données sont aisés. On appelle écroulement, lorsqu un processus passe trop de temps à paginer qu à s exécuter. On combine souvent la pagination et la segmentation. Cette technique revient à paginer les segments. v. Mémoire virtuelle Le mécanisme de mémoire virtuelle ou swap, est utilisé afin d aider le système à exécuter des programmes quand il n y a pas suffisamment de mémoire centrale, il repose sur les mémoires de masse (disque dur, ). La mémoire centrale ne peut pas charger tous les programmes du coup le système charge seulement les pages dont il a besoin pour l exécution. Dans la figure qui suit (Fig.13), le SE ne va charger que les pages dont il a besoin pour un instant t. On voit donc, que le programme 1 aura besoin de charger seulement 3 pages (Page1-1, Page2-1, Page3-1), le programme 2 a besoin d une seule page (Page3-2),. De cette manière on allège la mémoire centrale. Fig.13 M.Nasri Page 13

Pour connaître si une page est déjà chargée en la mémoire centrale ou pas, le système utilise le bit de validation : Fig.14 Quand un programme essaye d accéder à une page en MC et ne la trouve pas, le système génère un problème de défaut de page. Suite au défaut de page, le système fait une E/S sur la mémoire virtuelle pour charger la page manquante. Si la mémoire centrale est pleine. Le système libère les pages selon un des algorithmes suivants : FIFO : first in first out. LRU (last recently used) : la dernière récemment utilisée. Au hasard. b. Gestion des processus Un programme : est un ensemble d instructions. Un processus est un programme en cours d exécution. Un thread : est un processus léger qui partage la mémoire du processus principale. Contexte d un processus ou thread : est l ensemble des informations utilisées par le processus ou thread en cours d exécution. Contexte : est également défini en tant que ensemble de données minimum et nécessaire pour permettre à un processus ou thread de reprendre de l état d où est ce qu il a été interrompu. i. Etats d un processus. Étant donné que le processeur ne peut exécuter qu un seul processus à la fois. Un processus peut avoir 3 états : o Bloqué : en attente du processeur. M.Nasri Page 14

o Elu : va être exécuté. o Prêt : en attente d une ressource. Fig.15 La préemption est le fait de forcer le blocage d un processus. ii. Ordonnanceur L ordonnanceur (ou scheduler) est un composant au niveau du noyau du système d exploitation qui permet d ordonner l exécution des processus prêts. L ordonnanceur permet à l ordinateur d exécuter plusieurs processus simultanément en commutant rapidement les contextes des processus. L ordonnanceur organise les processus selon plusieurs types d algorithmes, parmi ces algorithmes : Round robin FIFO. Round Robin, son principe est le suivant : o Soit 3 le nombre de processus à ordonner. o 1- le noyau sauvegarde les contextes des 3 processus. o 2- Election du processus1. Chargement du contexte du processus1. Exécution pendant x milli - secondes. Sauvegarde du contexte du processus 1. o 3- Election du processus2. M.Nasri Page 15

Chargement du contexte du processus2. Exécution pendant x milli - secondes. Sauvegarde du contexte du processus 2. o 4- Election du processus3. Chargement du contexte du processus3. Exécution pendant x milli - secondes. Sauvegarde du contexte du processus 3. o 5- Election du processus1. Chargement du contexte du processus1. Exécution pendant x milli - secondes. Sauvegarde du contexte du processus 1. o.jusqu à la fin de l exécution des processus. Fifo, son principe est simple, le premier élu sera exécuté jusqu à la fin => ce qui va pénaliser les petites tâches qui seront parfois obligées d attendre la fin des longues tâches. Le scheduler doit avoir les qualités suivantes : o Equitable : chaque processus reçoit sa part du temps processeur. o Efficacité : pas de temps processeur perdu sans rien faire. o Temps d exécution : minimiser le temps d attentes des travaux en traitement pas lots o Rendement : maximiser le nombre de travaux effectués par unité de temps. iii. Type de programmation. Le SE, peut exécuter de plusieurs façons les processus, principalement il peut appliquer La multiprogrammation consiste à faire exécuter plusieurs processus en même temps (pas besoin d attendre la fin de l un pour lancer l autre) c est l ancêtre de la programmation dite multitâches. La programmation temps-partagés consiste à partager le temps processeur entre les différentes tâches. M.Nasri Page 16

c. Gestion des périphériques E/S. Pour la gestion de périphériques E/S, le SE doit assurer les fonctions suivantes : o Cacher la complexité des périphériques o Faire abstractions aux différentes architectures matérielles offertes par différents constructeurs. o Configurer le matériel. o Réaliser des fonctions d accès et de contrôle de ces matériels. d. Gestion des fichiers Un fichier est l ensemble de données codées de même nature et stockées sur un support externe. Le SE doit assurer : o L accès à ces fichiers en lecture et écriture. o Sécurité et confidentialités des données des fichiers. o Les fonctions de manipulations des fichiers (copie, déplacement, suppression, ). o Permet le partage des fichiers 4- Structure d un système d exploitation a. Les systèmes monolithiques La plus largement répandue. Le SE est une collection de procédures, chacune pouvant appeler à tout moment n'importe quelle autre. Pour construire le code objet du système, il faut compiler toutes les procédures, pas de masquage des informations; chaque procédure est visible de toutes les autres Systèmes monolithiques avec une structure minimale Les services offerts par le système d'exploitation sont appelés par des instructions de type SVC (Supervisor Call ) Cette instruction commute la machine du mode utilisateur au mode noyau et Transfère le contrôle au système d'exploitation. M.Nasri Page 17

Fig.16 b. Les systèmes à couches La généralisation de la structuration simple Chaque couche ne pouvant être appelée que par des procédures qui lui sont immédiatement inférieures Structurer le système d'exploitation en plusieurs couches, chaque couche s'appuyant sur celle qui lui est immédiatement inférieure. Exemple : THE de Dijkstra (un simple système de traitement par lots - batch) Couche Description C5 Opérateur C4 Programmes utilisateurs C3 Gestion des E/S, chaque processus dialoguait avec des périphériques abstraits C2 communication entre les processus et la console de l opérateur C1 Gestion de la mémoire, allocation d'espace M.Nasri Page 18

mémoire pour les processus (pagination). C0 Allocation du processeur par commutation de temps entre les processus, soit à la suite d'expiration de délais, soit à la suite d'interruption ; multiprogrammation de base du processeur c. Les machines virtuelles a été l'adaptation temps partagé de l'os/360 d'ibm, proposé vers 1968 sous le nom de VM/370 en 1979. Dissocier les deux fonctions d un SE Gestionnaire de ressources (multiprogrammation) Fournir une machine étendue (interface) Le VM/370, s'exécute sur le même matériel et fournit à la couche supérieure plusieurs machines virtuelles, copies conformes de la machine réelle (interruptions, mode noyau/utilisateur, etc...) Chaque machine virtuelle peut exécuter son propre SE. Lorsqu'une machine virtuelle exécute en mode interactif un appel système, l'appel est analysé par le moniteur temps partagé de cette machine, CMS. Fig. 17 Avantage: o Chaque VM peut exécuter un SE tout comme sur le matériel! Plus d un SE par machine! o En séparant la machine étendue de la multiprogrammation chaque fonction est plus facile à entretenir Inconvénient: plusieurs couches de traps (déroutement). M.Nasri Page 19