14

Click here to load reader

0_SE1

Embed Size (px)

Citation preview

Page 1: 0_SE1

Systèmes d'Exploitation

(CI - 45H)

Dr. Faïza NAJJAR

ENSI -- II2 A. U. 2005/2006

Dr. Faïza NAJJAR

ENSI - DIA (Bureau 109)

Email : [email protected]

Evaluation : 35% CC + 65% Examen

Page 2: 0_SE1

Contenu du cours prévu

� Introduction aux systèmes d'exploitation

� Principe de base d’un SE

� Bref historique

� La gestion des processus

F. Najjar Introduction aux Systèmes d'exploitation F. Najjar Introduction aux Systèmes d'exploitation 2

� Notion de processus/threads. Parallélisme et pseudo-parallélisme dans les SE

� Notion de ressource. Etats et changement de contexte d’un processus

� Programmation système sous Unix (+Programmation multithreadée)

� Synchronisation et communication entre processus

� Les mécanismes de synchronisation

� Les sémaphores, les moniteurs, passage par messages, les tubes Unix.

Page 3: 0_SE1

Contenu du cours (suite)

� La gestion de la mémoire centrale (et de la mémoire virtuelle)

� Concepts fondamentaux; allocation statique/dynamique; politiques d’allocation

� La gestion du processeur -- Ordonnancement

� Notion sur les files d’attentes

� Politiques d’ordonnancement et comportement des processus

F. Najjar Introduction aux Systèmes d'exploitation F. Najjar Introduction aux Systèmes d'exploitation 3

� Politiques d’ordonnancement et comportement des processus

� Interblocage -- Deadlock

� Notion d’interblocage

� Solutions à l’interblocage (détection/guérison, prévention, évitement)

� Protection et sécurité

� Protection : mécanismes de protection

� Sécurité : principes et authentification

Page 4: 0_SE1

Références Principales

A. Tannenbaum, Systèmes d’exploitation : systèmes centralisés et systèmes distribués.Prentice Hall et InterEditions, 1994.

G. Beauquier et al., Systèmes d’exploitation, Ediscsiences International, 1993.

Crocus, Systèmes d’exploitation des ordinateurs, Dunod, 1975.

A. Silbershatz, P. Galvin, Operating systems Concepts, Addison Wesley, 1998.

A. Silbershatz, P. Galvin, Applied operating system concepts, John Wiley & sons Inc,

F. Najjar Introduction aux Systèmes d'exploitation F. Najjar Introduction aux Systèmes d'exploitation 4

A. Silbershatz, P. Galvin, Applied operating system concepts, John Wiley & sons Inc,2000.

Livre recommandé (C 274.10)

� M. S. Ouerghi. Principe des Systèmes d’exploitation. 2003.

Sites web utiles:

� http://sardes.inrialpes.fr/people/krakowia; http://sirac.imag.fr/~krakowia/

� ... etc

Page 5: 0_SE1

Eléments Conceptuels d’un Système

Informatique

Données

Programme

Cinq niveaux clés pour la plupart des systèmes informatique.

Matériel : ordinateur, imprimante, ....

Système d’exploitation (SE): est un ensemble de

programmes qui permet la gestion de chaque élément.

F. Najjar Introduction aux Systèmes d'exploitation F. Najjar Introduction aux Systèmes d'exploitation 5

Langage

d’exploitation

Système

Matériel

programmes qui permet la gestion de chaque élément.

Langage de haut niveau: permet au développeur d’écrire des

programmes qui manipulent les données.

Chaque niveau dépend de ceux inférieurs, de telle manière

que la suppression d ’un niveau plus inférieur aura comme

conséquence l’écroulement du (des) niveau(x) supérieurs.

Page 6: 0_SE1

Qu’est-ce qu’un Système?

Système?

� Ensemble de composants qui interagissent;� Gestion des ressources communes et de l’infrastructure;

� Lié de manière étroite au matériel sous-jacent.

Exemples de systèmes :

� Système d’exploitation: gestion de chaque élément.

F. Najjar Introduction aux Systèmes d'exploitation F. Najjar Introduction aux Systèmes d'exploitation 6

� Système d’exploitation: gestion de chaque élément.

� Système de communication: échange d’information entre les éléments.

Propriétés des systèmes:

� Les systèmes cachent la complexité du matériel et des communications

� Ils fournissent des services communs de plus haut niveau d’abstraction.

Note importante: différence entre un système et une application? Pas évidente!!

� Application -- réponse à un problème spécifique, en utilisant les services générauxfournis par le système

� Exemples: les systèmes embarqués.

Page 7: 0_SE1

Qu’est-ce qu’un système d’exploitation ?

Couche logicielle qui permet et coordonne l’utilisation du matériel entre les différents programmesd’application.

Note: une même machine peut avoir plusieurs SEs (choix au démarrage).

Son rôle peut être vu sous deux aspects complémentaires :

� Adaptation d’interface

“Machine Virtuelle” : Plus facile d’emploi et plus conviviale

F. Najjar Introduction aux Systèmes d'exploitation F. Najjar Introduction aux Systèmes d'exploitation 7

“Machine Virtuelle” : Plus facile d’emploi et plus conviviale

• Cacher les détails de mise en œuvre du matériel (haut niveau d’abstraction)

• Dissimuler les limitations physiques (taille mémoire) et le partage desressources entre plusieurs utilisateurs.

� Gestion des ressources -- 2 critères de bonne gestion

Efficacité : le processeur ne doit pas être inactif pendant une attente d ’E/S

Partage sécurisé :

• Séparation stricte entre utilisateurs (Ne pas détruire les données des autres)

• Partage équitable de ressources (CPU, mémoire, disque) entre users.

Page 8: 0_SE1

Fonctions d’un Système d’Exploitation (1)

Appels Systèmes CommandesAppels Systèmes Commandes

Compilateur Editeur de texte Editeur de liens Chargeur Assembleur DebogueurCompilateur Editeur de texte Editeur de liens Chargeur Assembleur Debogueur

Tableur Navigateur Programmes utilisateursTableur Navigateur Programmes utilisateurs

Bases de données JeuxBases de données Jeux

Logiciel de Base

Logiciel de Base

APPLICATIONSAPPLICATIONS

F. Najjar Introduction aux Systèmes d'exploitation F. Najjar Introduction aux Systèmes d'exploitation 8

MACHINE PHYSIQUEMACHINE PHYSIQUE

Processeur Mémoire Disque Clavier Ecran Modem Souris ImprimanteProcesseur Mémoire Disque Clavier Ecran Modem Souris Imprimante

Mécanismes dMécanismes d ’interruption’interruption

Appels Systèmes CommandesAppels Systèmes Commandes

Gestion du Gestion du

processeurprocesseur

Gestion de Gestion de

la mémoirela mémoire

Gestion des Gestion des

E/SE/S

Gestion de la Gestion de la concurrenceconcurrence

Gestion de la protectionGestion de la protectionGestion des objets Gestion des objets externes (Fichiers)externes (Fichiers)

Logiciel de Base

Logiciel de Base

Matériel

Matériel

SE

Page 9: 0_SE1

Fonctions d’un Système d’Exploitation (2)

Gestion du processeur : le système doit gérer� l’allocation du processeur aux différents programmes pouvant s'exécuter :

Planifier l’exécution des programmes Í algorithme d’ordonnancement

Gestion de la mémoire : le système doit gérer

� L’allocation de la mémoire centrale entre les différents programmes pouvants’exécuter (pagination/segmentation).

F. Najjar Introduction aux Systèmes d'exploitation F. Najjar Introduction aux Systèmes d'exploitation 9

s’exécuter (pagination/segmentation).

� Si la mémoire est de taille trop petite Í gestion de la mémoire virtuelle (disque)

A un instant donné, seuls sont chargées en MC, les parties de code et donnéesutiles à l’exécution.

Gestion de la concurrence

� Plusieurs programmes coexistent en MC, ceux-ci peuvent vouloir communiquer paréchange de données. Afin de maintenir la cohérence, il faut synchroniser l'accès auxdonnées partagées

� Le système offre des outils de synchronisation et communication entre programmes

Page 10: 0_SE1

Fonctions d’un Système d’Exploitation (3)

Gestion des E/S : le système doit gérer l'accès aux périphériques

� Faire la liaison entre les appels de haut niveau des programmes users (scanf(...))etles opérations de bas niveau de l'unité d'entrée (clavier).

C ’est le pilote d ’E/S (driver) qui assure cette correspondance.

Gestion des objets externes :

� La mémoire centrale est une mémoire volatile Í Conservation des données sur

F. Najjar Introduction aux Systèmes d'exploitation F. Najjar Introduction aux Systèmes d'exploitation 10

� La mémoire centrale est une mémoire volatile Í Conservation des données surune mémoire de masse (disque dur, disquette, CD-ROM, ...)

Gestion de l ’allocation des mémoires de masse Í Fichiers + SGF

Gestion de la protection :

� le système doit fournir des mécanismes garantissant que ces ressources (CPU,mémoire, fichiers) ne peuvent être utilisées que par les programmes auxquels lesdroits nécessaires ont été accordées.

Protéger le système et la machine des programmes utilisateurs (moded'exécution utilisateur et superviseur).

Page 11: 0_SE1

Notions de Base d’un Système d’Exploitation

Les fonctionnalités du SE sont accessibles par le biais des commandes (shell ou

invite DOS) ou des appels systèmes (open(...), read(...), printf(...)).

Le mode superviseur est le mode d'exécution du système.

� Mode privilégié, qui autorise notamment l’appel à des instructions interdites

en mode utilisateur (manipulation des interruptions).

F. Najjar Introduction aux Systèmes d'exploitation F. Najjar Introduction aux Systèmes d'exploitation 11

en mode utilisateur (manipulation des interruptions).

� Ce mode assure la protection du système d’exploitation

Le passage du mode utilisateur vers le mode superviseur est soit provoqué par un

appel système, soit par une trappe (déroutement en cas d'opération illicite), soit

par l’arrivée d’une interruption

Le passage entre les modes utilisateurs/superviseur s’accompagne de

commutations de contexte (sauvegarde du contexte utilisateur - changement de

mode d'exécution - restauration du contexte utilisateur)

Page 12: 0_SE1

Bref Historique des Systèmes d’Exploitation (1)

1950s : Traitement par lots (batch processing)

� Apparition des transistors (permet des ordinateurs moins chers)

� Assembleur, premiers langages évolués (Fortran, Cobol)

� Le 1er SE gère l ’ordonnancement des jobs (résultats sur cartes/bandes)

1960s : Multiprogrammation

F. Najjar Introduction aux Systèmes d'exploitation F. Najjar Introduction aux Systèmes d'exploitation 12

1960s : Multiprogrammation

� Le SE partage ses ressources entre les utilisateurs

1970s : Systèmes interactifs à temps partagé

� Le SE partage son temps entre utilisateurs

Amélioration des SE (Performances, sécurité) et intégration des réseaux

1980s : Ordinateurs Personnels -- PCs

� Même SE pour des matériels différents, convivialité sans cesse accrue

Page 13: 0_SE1

Bref Historique des Systèmes d’Exploitation (2)

1990s : Systèmes distribués / Internet� Ressources disponible à travers le réseau

� Partage de données et des services sur une très grande échelle

World Wide Web -- développé au CERN (Genève)

� Tout le monde (presque) est en-ligne

� Systèmes Clients-Serveurs

F. Najjar Introduction aux Systèmes d'exploitation F. Najjar Introduction aux Systèmes d'exploitation 13

� Systèmes Clients-Serveurs

Un serveur est une machine assez puissante; les clients y accèdent via le réseau avec des machines standard

Solaris (Sun) sur les stations de travail, windows NT sur PC

2000 : Réseau d’ordinateurs� Matériel pas cher

� Internet : Répertoire géant des ressources (prog., info., serveurs)

� Commerce électronique

� Recherche

Grands enjeux de sécurité (cryptographie)

Page 14: 0_SE1

Aujourd’hui et Demain ...

Les systèmes actuels :

� Les systèmes temps partagé(exp. Unix, Windows NT); les systèmes temps réel (commande de procédés industriels)

� Les systèmes transactionnels (grande BD; MAJ de la BD par des transactions)

� Les systèmes multiprocesseurs (Hautes performances)

� Les systèmes répartis

F. Najjar Introduction aux Systèmes d'exploitation F. Najjar Introduction aux Systèmes d'exploitation 14

Mobile computing - Wireless computing (l’informatique Mobile / sans fil)

� Systèmes mobiles : périodiquement connectés au reste du système, autonomes le reste du temps.

� Les matériels pour l ’informatique mobile :

Ordinateurs portables, pagers, téléphones mobiles, ...

Réseaux sans fil (radio, infra-rouge, laser, ...)

Ubiquitous computing (des processeurs partout)� 98% des processeurs ne sont pas dans les PCs!

� Tout dispositif pourrait se communiquer (les frigos, les bâtiments, ...)