Cours systèmes d'exploitation 2

Post on 09-Feb-2017

367 views 3 download

Transcript of Cours systèmes d'exploitation 2

Cours Systemes d’Exploitation 2

Salah Triki

Institut Superieur d’Informatique et de Gestion de Kairouan

20 septembre 2014

� Auditoire : 2eme annee License Fondamentale en SciencesInformatique

� Semestre : 1

� Volume horaire :� 21 Cours

� 21 TD

Pre-requis

� Architecture des ordinateurs

� Les fonctionnalites de systemes d’exploitation

� Langage C

Bibliographie

� J. Delacroix Linux programmation systeme et reseau. EditionDunod. 2003.

� Chapitre 2 Processus, Threads et Ordonnancement : Sections :1 et 2

� Chapitre 3 Systeme de gestion de fichiers : Section : 4� Chapitre 7 Communication entre processus : Sections : 1 et 2

� A. Tanenbaum. Systemes d’exploitation. 3eme Edition. NH.2008.

� Chapitre 2 Processus et Thread : Sections : 3 et 4� Chapitre 4 Gestion de la memoire : Sections : 2 et 3� Chapitre 5 Entrees/sorties : Sections : 1 et 2� Chapitre 6 Interblocages : Section : 2

Objectifs

� Introduire les mecanismes de base utilises par les systemespour gerer les processus et la memoire et le processeur.

� Introduire les notions de Processus, Threads

� Presenter les techniques de communications entre lesprocessus.

� Presenter les techniques de gestion du processeur.

� Presenter les techniques de gestion de la memoire d’unordinateur.

Qu’est ce qu’un systeme d’exploitation ?

� C’est un logiciel qui remplit deux fonctions :� Machine virtuelle etendue

� Gestionnaire des ressources

SE = Machine virtuelle etendue

� L’architecture des ordinateurs est assez fastidieuse aprogrammer

� Protocole d’utilisation

Tant que (ETAT == OCCUPE) ;

Ecrire les donnees dans le registre DONNEES

Ecrire une commande dans le registre CMD

Tant que (ETAT == OCCUPE) ;

SE = Machine virtuelle etendue (Cont.)

� Facile a utiliser

� Re-utilisabilite

� Portable

SE = Gestionnaire de ressources

SE = Gestionnaire de ressources (Cont.)

� Multiplexage/partage :� Temporel

� Spatial

� Protection

� Performance

Composants d’un ordinateur moderne

Fonctionnement d’un ordinateur moderne

Demarrage de l’ordinateur

Problematique de la conception d’un SE

Objectifs :

� Definir l’abstraction

� Fournir les operations primaires

� Assurer l’isolation

� Gerer le materiel

Problematique de la conception d’un SE (Cont.)

Raisons de la complexite :

� Programme enorme

� Partitionnement difficile

� Utilisateurs malveillants

� Partage d’informations et de ressources

� Duree de vie tres longue

� Utilisation imprecise

� Paltesformes materielles differentes

� Des milliers de peripheriques d’E/S

� Retrocompatibilite

Structures de SE (Cont.)

� Structure simple : MS-DOS

Structures de SE (Cont.)

� Structure simple : UNIX

Contrôleurs de périphériques

Contrôleurs de terminaux Contrôleurs de mémoires

TerminauxDisques

et bandes magnétiquesMémoire physique

Pilotes de terminalPilotes de disques

et de bandes magnétiquesMémoire virtuelle

Pages à la demande

Remplacement de pages

Multiplexage du processeur

Système de gestiondes E/S orientés caractères

Système de swapping d'E/S orientés bloques

Système de gestion de fichiers

Gestion des signaux du terminal

Appels systèmes vers le noyau

Interfaces du noyau vers le matériel

Bibliothèques système

Compilateurs et interpréteurs

Shells et commandes

Utilisateurs

No

ya

uM

até

rie

lU

tilis

at e

ur

Gestion des terminaux Système de fichiers Gestion de la mémoire

Structures de SE (Cont.)

� Structure multicouches : THE

Couche Fonction5 L’operateur

4 Programmes utilisateur

3 Gestion des E/S

2 Communication operateurs-processus

1 Gestion de la memoire et du tampon

0 Allocation du processeur-multiprogrammation

Structures de SE (Cont.)� Structure micronoyau

Programmesutilisateurs

Système defichiers

Pilote de périphérique

Communication interprocessus

Gestion de lamémoire

Ordonnancement

du CPU

Micronoyau

Matériel

Messages Messages

Modeutilisateur

ModeNoyau

Structures de SE (Cont.)� Structure a base de modules : Solaris

Ordonnancement

Pilotes

Systèmede fichiers

Appelssystèmes

Exécutables

Modules de STREAMS

Modules divers

Noyau Solaris

Structures de SE (Cont.)� Systeme hybride : MAC OS X

AquaInterface Graphique utilisateur

Environnements d'applications et services

Java Cocoa Quicktime BSD

BSD

Mach

Environnement noyau

Kit d'E/S Extensions noyau

Structures de SE (Cont.)� Systeme hybride : Android

Noyau Linux

Media Framework

OpenGLSQLite

Surface Manager

Bibliothèques Android runtime

Core Libraries

Dalvik VM

Services applicatifs

Applications

Introduction

Les principes du SE

Gestion des processus

Gestion de la memoire

Systemes de fichiers

Gestion des E/S

Interblocages