NFP136 Systèmes. Cours 2. Cnam 2012/2013 C. Coquery/ E. Soutif

Documents pareils
SYSTÈME DE GESTION DE FICHIERS

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE

Introduction aux Systèmes et aux Réseaux, Master 2 CCI

Partie 7 : Gestion de la mémoire

Introduction aux Systèmes et aux Réseaux

Exécutif temps réel Pierre-Yves Duval (cppm)

Cours Programmation Système

La mémoire. Un ordinateur. L'octet. Le bit

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

Processus! programme. DIMA, Systèmes Centralisés (Ph. Mauran) " Processus = suite d'actions = suite d'états obtenus = trace

Architecture des ordinateurs

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

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

HISTORIQUE DES SYSTEMES D'EXPLOITATION (S.E.)

Linux 1: Présentation

Licence Sciences et Technologies Examen janvier 2010

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

1.1 L EXPLORATEUR WINDOWS

Chapitre I Notions de base et outils de travail

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

la virtualisation pour quoi faire?

Mise en route et support Envision 10 SQL server (Avril 2015) A l'intention de l'administrateur SQL Server et de l administrateur Envision

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

Systèmes d exploitation

Structure fonctionnelle d un SGBD

Serveurs de noms Protocoles HTTP et FTP

Annexe : La Programmation Informatique

Réparer un disque dur passé en RAW

Qu'est-ce qu'un processus: Définitions

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères

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

IV- Comment fonctionne un ordinateur?

Chapitre 4 : Outils de communication centralisés entre processus

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

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

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

CH.3 SYSTÈMES D'EXPLOITATION

Architecture des ordinateurs. Environnement Windows : sauvegarde

Cours de Système : Gestion de Fichiers

Cours A7 : Temps Réel

Le système GNU/Linux IUP NTIC /11/05

Système de Gestion de Fichiers

Réparer un disque dur passé en RAW

Charte d'utilisation des infrastructures de la plate-forme bioinformatique Genotoul

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Gestion répartie de données - 1

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

Cours de Systèmes d Exploitation

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

Personnes ressources Tice. Académie de Rouen

Administration de Parc Informatique TP07 : Installation de Linux Debian

Samsung Drive Manager FAQ

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

gestion des processus La gestion des processus

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

Manuel d'installation de GESLAB Client Lourd

Oracle Developer Suite 10g. Guide de l installation. Vista & Seven

CSI351 Systèmes d exploitation Instructions pour rouler Linux avec Virtual PC dans la salle de labo 2052

Programmation système en C/C++

GESTION DE LA MEMOIRE

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Description de SQL SERVER. historique

Tutoriel Création d une source Cydia et compilation des packages sous Linux

Serveur d application WebDev

Manuel de System Monitor

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

Chaque ordinateur est constitué de différentes unités de stockage de données (Disque dur, Graveur ) que l on peut imaginer comme de grandes armoires.

REALISATION d'un. ORDONNANCEUR à ECHEANCES

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

FreeNAS Shere. Par THOREZ Nicolas

Oracle Learning Library Tutoriel Database 12c Installer le logiciel Oracle Database et créer une Database

Programmation C. Apprendre à développer des programmes simples dans le langage C

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43

Guide d'installation et de configuration de Pervasive.SQL 7 dans un environnement réseau Microsoft Windows NT


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

Module M1 Elément 2 : Informatique 1 (I1)

Plan global. Programmation système II. Socket du domaine UNIX. Plan. Socket UNIX, Terminaux, Async IO, Mémoire, ELF.

ésylog, direction technique Esylog_PeerBackup outil de sauvegarde individuelle mails & fichiers personnels documentation technique

Ordinateur Logiciel Mémoire. Entrées/sorties Périphériques. Suite d'instructions permettant de réaliser une ou plusieurs tâche(s), de résoudre un

Chapitre 4 : Les mémoires

Formateurs : Jackie DAÖN Franck DUBOIS Médiapôle de Guyancourt

Systèmes informatiques

Direction des Systèmes d'information

CARPE. Documentation Informatique S E T R A. Version Août CARPE (Documentation Informatique) 1

Comme chaque ligne de cache a 1024 bits. Le nombre de lignes de cache contenu dans chaque ensemble est:

Chapitre 3 : Système de gestion de fichiers

Déploiement de SAS Foundation

Initiation aux bases de données (SGBD) Walter RUDAMETKIN

Chapitre 1 : Introduction aux bases de données

2011 Hakim Benameurlaine 1

SafeGuard Enterprise Guide des outils. Version du produit : 5.60

NIMEGUE V3. Fiche technique 3.07 : Sauvegarde / Restauration manuelle

Année Cours Unix-Shell. par. Karam ALLALI. Ecole Spéciale d Informatique

Linux embarqué Retour d expérience et temps réel. Denis Coupvent-Desgraviers

LES SYSTÈMES DE FICHIERS

Transcription:

NFP136 Systèmes d exploitation Cours 2 Cnam 2012/2013 C. Coquery/ E. Soutif

Plan de l exposé 2 1. Introduction à Unix 2. Structure d'un système 3. Les processus 4. La mémoire Bibliographie BOUZEFRANE Samia Les Systèmes d exploitation : cours et exercices corrigés UNIX, Linux et Windows XP avec C et Java Dunod 2003 Pour une étude avancée : SILBERSCHATZ,GALVIN,GAGNE Operating System Concepts with Java Wiley2007 RIFLET La programmation sous Unix Ediscience Historique : GOODHEART,COX The Magic Garden Explained. The Internals of Unix system V release 4 Prentice Hall 1994 C.KAISER Systèmes Informatiques Cours B4 Polycopié CNAM Cours 2

1 -Introduction à Unix 3 Origines d'unix Deux principales versions : 1969 Naissance d'unix Ken Thompson, puis Dennis Ritchie PDP- 11 Laboratoires Bell Unix Système V 1978 Université de Berkeley VAX 4.4 BSD Standardisation de l'interface des appels systèmes Norme POSIX Unification système OSF/1 1991 Naissance de Linux Linus Thorvalds conçu pour PC et Internet

Principes de conception d'unix 4 Système conçu par et pour des programmeurs Modularité et flexibilité Simplicité des algorithmes Interactivité et outils d'aide à la programmation Portabilité la plupart des programmes sont écrits en C il suffit de disposer d'un compilateur C pour la machine cible Programmation de bas niveau à partir de C

Caractéristiques 5 Systèmes multiprocessus : multiutilisateurs, multitâches Organisation basée sur un système de fichiers hiérarchisé : arborescence Environnement d'exécution d'un utilisateur sous-arbre (répertoire) l'interpréteur du langage de commande (shell) est un processus utilisateur Machine virtuelle pour l'utilisateur Uniformisation des mécanismes d'accès aux objets externes : "Tout est fichier" : programmes, données des utilisateurs programmes systèmes périphériques

2 Interface de programmation 6 Appels systèmes Types d appels système Manipulation de fichiers accès par un chemin dans l'arborescence des répertoires Unix périphériques /etc/ttys programmes systèmes /usr/bin fichiers utilisateurs /usr/... appels : create, open, read, write, close etc... Gestion des processus fork, exec, exit, kill, wait, sleep,wake-up... Signaux conditions exceptionnelles interruption logicielle référence mémoire invalide, alarme, instruction machine illégale exemple ctrl Z SIGINT suspension du processus en cours

3 Les processus 7 Programme en exécution code, données + mot d état programme et contexte d'exécution Le mot d état programme (PSW) : état de la machine compteur du programme (Compteur Ordinal) registres de l'uc Le contexte d exécution statut d'accès à l'uc (priorité) information sur la mémoire allouée au processus informations statistiques Informations d'e/s (fichiers,périphériques alloués) etc

Les processus 8 Etats d'un processus en multiprogrammation Ordonnancement des processus Files d'attente + ordonnanceur pour chaque ressource

Les processus 9 Opérations sur les processus Création Terminaison normale ou erreur Suspension, réveil Coopération entre processus Processus concurrents : indépendants ou coopérants partage d'information exemple fichier partagé synchronisation : division d'un programme en plusieurs tâches concurrentes Communication entre processus : outils IPC partage de mémoire messages

Représentation d'un processus en mémoire 10 pile noyau : exécution de programmes systèmes pour l'utilisateur lors d'appels système contexte utilisateur : contexte UC (registres généraux, pointeur de pile, pointeur table des pages) environnement table des pages table des processus pile utilisateur variables temporaires, adresse retour de procédures...

Vue d'un processus par le système 11

Création de processus 12 Appel système fork() : crée une copie du processus appelant : contexte, pile, code, données, un lien dans la table des processus de l'utilisateur Remarques En fait, le code n'est pas dupliqué mais partagé (réentrance des programmes), les données ne sont copiées que si elles sont modifiées par le père ou par le fils, le fils aura toujours initialement la vue des données lors du fork Les fichiers du père ouverts au moment du fork sont partagés entre le père et le fils Comment savoir si un processus exécute le code du père ou du fils? fork renvoie un identifiant de processus pid pid=fork(); si fork réussit pid>=0 si pid<0 alors échec sinon si pid>0 alors code du père sinon code du fils Un processus peut avoir un arbre de descendants La commande pspermet de connaître les processus d'un utilisateur et les processus système s'exécutant pour lui

Création de processus 13 Exemple : gestion de terminaux A l'initialisation, init est activé -- lecture /etc/ttys Création d'un fils pour chaque terminal; mise en veille de init jusqu'à ce qu'un fils se termine exécution des fils programme login création du processus shell tant que non terminé faire attente d'une commande création du processus commande exécution de commande

14 Création d'un processus pour exécuter un programme création appel système fork() exécution des commandes : appel système exec() charge un nouvel exécutable en mémoire terminaison d'un processus exit() attente de la terminaison d'un fils wait()

Les états d un processus 15

Ordonnancement du processeur 16 Temps partagé : allocation par quantum de temps (0.1s) aux processus Ordonnancement selon priorités : à chaque est associée une priorité processus du noyau plus forte priorité (p<0), non préemptible processus utilisateurs plus faible priorité (p>0), préemptible, périodiquement (1 s) réévaluation des priorités File d'attente des processus prêts tableau de files par priorité recyclage dans la file en fin de quantum (tourniquet) Activation de l'ordonnanceur interruption horloge demande d'e/s fin d'e/s attente d'un événement

Notion de thread ou processus léger 17 Définition : un thread est un fil d exécution au sein d un processus: Identificateur Compteur de programme Registres Pile Un thread partage avec les autres threads appartenant au même processus le code les données les ressources du processus(fichiers ouverts, signaux ) Avantages de l utilisation de threads commutation de contexte allégée temps de réponse amélioré, parallélisme des tâches partage des ressources utilisation de multiprocesseurs Mais attention à la synchronisation Threads utilisateurs via des API (interfaces de programmation) Les bibliothèques POSIX pthreads Unix, Linux langage C Win32 Windows Threads JAVA uilisent les API Windows ou UNIX

4 La mémoire 18 Espaces d adressage d un programme Espace d'adressage physique: ensemble des adresses en mémoire centrale des instructions et des objets que le programme référence Espace d'adressage logique (virtuel) : En général, le programme est enregistré sur disque comme un fichier binaire exécutable, l ensemble d adresses mémoire ne prenant pas en compte l implantation du programme en mémoire. Correspondance entre les espaces d' adressage logique et physique Quand? à la compilation : adresse d'implantation en mémoire connue code absolu adresses du programme=adresses mémoire Inconvénient si l'adresse d'implantation change, il faut recompiler au chargement : code relatif(relogeable, translatable) à l'exécution : le programme peut changer de place en mémoire en cours d'exécution. Un dispositif matériel spécifique (Memory Management Unit) transforme une adresse logique en une adresse physique au moment de l exécution.

Va-et-vient (swapping) 19 Principe Manque de mémoire : transfert de l'image mémoire du processus sur disque Va (swapping out) Assez de mémoire : chargement du processus Vient (swapping-in)

Swapping 20 Fonctionnement Manque de mémoire : allocation dynamique de mémoire : processus augmente son espace mémoire au cours de son exécution, l'espace libre diminue au détriment d'autres processus Le choix d'un processus : réalisé par le "swapper"(ordonnancement des processus pour la mémoire) Périodiquement (4s) réévaluation des processus à retirer et à charger Critères de choix : retrait : inactivité d'un processus depuis longtemps, taille du programme, ancienneté de chargement chargement : swappé depuis longtemps, petit programme

Swapping 21 Les actions du système Retrait : mise à jour du descripteur de processus, libération de la mémoire, libération des ressources allouées au processus problèmes : entrées sorties pendantes, attente d'un événement Chargement : mise à jour du descripteur, allocation de mémoire, allocation d'autres ressources Remarques Le swapping n'est en général utilisé qu'en dernier ressort dans les systèmes Unix (Version Berkeley) coût de transfert d'un processus en mémoire; la gestion est en amont par le mécanisme de pagination

La pagination 22 Principe Allocation par blocs de taille fixe : Mémoire physique = suite de blocs de taille fixe : cases Mémoire logique = suite de blocs de taille fixe : pages Taille case = taille page Correspondance par le MMU (Memory Management Unit) Adresse logique : n de page déplacement

23 La pagination : conversion adresse virtuelle en adresse physique

24 Modèles de pagination de la mémoire logique et physique

Mémoire virtuelle 25 Objectif : offrir à l'utilisateur un espace d'adressage supérieur à la place mémoire allouée Principe de localité un processus exécute pendant un certain temps une partie du code (localité temporelle) et utilise une partie des données (localité spatiale). Idée : ne maintenir en mémoire que le code et les données utiles, l'ensemble du programme étant conservé sur disque de pagination allocation d'espace disque à la création des processus

Mémoire virtuelle paginée 26

Fonctionnement du MMU 27 Recherche d'une instruction ou d'un opérande en mémoire si page présente en mémoire alors adresse= n case + déplacement sinon défaut de page Défaut de page appel système gestion des défauts de pages si case libre alors charger page dans la case sinon libérer une case : choisir une case occupée; transférer la page correspondante sur disque; charger la page en défaut dans la case; Choix d'une case algorithme de remplacement de pages, par exemple choisir la page la plus anciennement référencée (LRU)

Compléments : les fichiers sur Unix 28 Le fichier logique Vu par le programme, c est une collection d enregistrements éventuellement structurée Les opérations élémentaires (lire, écrire) manipulent un ensemble de données minimal l enregistrement ou article Le fichier physique C est le fichier logique mémorisé sur le support magnétique

Implantation sur disque 29 Structuration d un disque Les disques tournent à 7200 tours/min Les deux faces sont utilisées Une tête (300 km/h!) Un cylindre Un secteur Typiquement de 2 à 20 faces BRAS une piste Un disque = plusieurs Go Un secteur = 512 à 8192 octets

30 Unix : allocation par blocs de taille fixe, à plusieurs niveaux

Allocation par blocs de taille fixe 31 Les nœuds d index (i-node)- Systèmes Unix Une table à n entrées. Une entrée par fichier appelée i-node. Chaque entrée contient les informations suivantes : type du fichier nombre de liens sur le fichier identité du propriétaire, du groupe taille du fichier en octets dates de création, dernier accès 12 adresses de blocs : 10 de données et 2 d indirection

Notion de répertoire (système unix) 32 Le système de fichiers UNIX est organisé en une arborescence de répertoires. Chaque feuille est un fichier. Un répertoire est un fichier texte dont chaque ligne décrit un fichier ou un sous répertoire : numéro d i-nœud nom du fichier ou du répertoire L accès à un fichier est le parcours d un chemin dans l arborescence Exemple : /usr/local/prog / i-nœud racine puis recherche de l i-nœud usr dans racine etc