You are on page 1of 14

ENSI -- II2 A. U.

2005/2006

Systèmes d'Exploitation

(CI - 45H)

Dr. Faïza NAJJAR


ENSI - DIA (Bureau 109)
Email : Faiza.Najjar@ensi.rnu.tn

Evaluation : 35% CC + 65% Examen


Contenu du cours prévu

 Introduction aux systèmes d'exploitation


 Principe de base d’un SE
 Bref historique
 La gestion des processus
 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.

2
F. Najjar Introduction aux Systèmes d'exploitation
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
 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
3
F. Najjar Introduction aux Systèmes d'exploitation
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,
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

4
F. Najjar Introduction aux Systèmes d'exploitation
Eléments Conceptuels d’un Système
Informatique

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


Données
Matériel : ordinateur, imprimante, ....
Système d’exploitation (SE): est un ensemble de Programme
programmes qui permet la gestion de chaque élément.
Langage
Langage de haut niveau: permet au développeur d’écrire des
programmes qui manipulent les données. Système
d’exploitation
Chaque niveau dépend de ceux inférieurs, de telle manière
Matériel
que la suppression d ’un niveau plus inférieur aura comme
conséquence l’écroulement du (des) niveau(x) supérieurs.

5
F. Najjar Introduction aux Systèmes d'exploitation
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.
 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éraux
fournis par le système
 Exemples: les systèmes embarqués.
6
F. Najjar Introduction aux Systèmes d'exploitation
Qu’est-ce qu’un système d’exploitation ?

Couche logicielle qui permet et coordonne l’utilisation du matériel entre les différents programmes
d’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
• 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 des
ressources 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.
7
F. Najjar Introduction aux Systèmes d'exploitation
Fonctions d’un Système d’Exploitation (1)

APPLICATIONS
Tableur Navigateur Programmes utilisateurs
Bases de données Jeux

Compilateur Editeur de texte Editeur de liens Chargeur Assembleur Debogueur


Logiciel de Base

Appels Systèmes Commandes


Gestion de la Gestion de la protection Gestion des objets
concurrence externes (Fichiers)
SE
Gestion du Gestion de Gestion des
processeur la mémoire E/S

Mécanismes d ’interruption
Matériel

MACHINE PHYSIQUE
Processeur Mémoire Disque Clavier Ecran Modem Souris Imprimante
8
F. Najjar Introduction aux Systèmes d'exploitation
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 pouvant
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ées
utiles à 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 aux
données partagées
 Le système offre des outils de synchronisation et communication entre programmes
9
F. Najjar Introduction aux Systèmes d'exploitation
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(...))et
les 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
une 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 les
droits nécessaires ont été accordées.

Protéger le système et la machine des programmes utilisateurs (mode
d'exécution utilisateur et superviseur).
10
F. Najjar Introduction aux Systèmes d'exploitation
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).
 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)

11
F. Najjar Introduction aux Systèmes d'exploitation
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
 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

12
F. Najjar Introduction aux Systèmes d'exploitation
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

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)
13
F. Najjar Introduction aux Systèmes d'exploitation
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
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, ...)
14
F. Najjar Introduction aux Systèmes d'exploitation

You might also like