Vous êtes sur la page 1sur 25

1

COURS SYSTÈME D’EXPLOITATION


Génie Informatique
Plan
2

 Chapitre 1 : Introduction aux systèmes d’exploitation.


 Chapitre 2 : Les processus.
 Chapitre 3 : L’ordonnancement des processus.
 Chapitre 4 : Synchronisation des processus.
 Chapitre 5 : L’interblocage.
3

CHAPITRE 1
Introduction aux systèmes d’exploitation
Préambule
4

 L’objectif de ce cours :
 Approfondir les concepts fondamentaux des SE
 Décrirele rôle et le fonctionnement d’un système d’exploitation (mono-
processeur, multi-processeur, mono-tâches, multi-tâches…)
 Apprendre à manipuler et rappeler certains concepts de base (concurrence,
synchronisation, ordonnancement,…)
 Comprendre les enjeux et l'implémentation des mécanismes des SE.
Ainsi, comprendre le SE fait de vous de meilleurs programmeurs.
Exemples de Systèmes d’Exploitation
5

 Systèmes mainframes (grands systèmes)


 Multics, IBM MVS, BS2000…
 Systèmes pour ordinateurs personnels
 Windows, Linux, MacOSX…
 Systèmes pour smartphones
 Android, iOS, Balckberry OS, Windows Phone, Symbian, Bada…
 Systèmes pour TV
 Android TV, Tizen, tvOS (pour Apple TV),…
 …
Historique des systèmes d’exploitations et des ordinateurs
6

 Première génération : (1936-1955):


 tubesà vide et tableaux d’interrupteurs
 machines énormes remplissant des pièces entières

 équipe concevait, construisait, programmait, administrait et maintenait la


machine
 programme conçu en langage machine (pas de langage abstrait)

 Simples calculs numériques

 Pas de système d’exploitation !


Historique des systèmes d’exploitations et des ordinateurs
7

 Deuxième génération : (1955-1965):


 Apparition des transistors.
 Séparation nette entre concepteurs, constructeurs, programmeurs, opérateurs et personnel de
maintenance
 Programmes écrits en FORTRAN puis codés sur des cartes perforées
 Opérateur humain traite séquentiellement un job et gère la soumission des entrées (lecture des
cartes perforées) et sorties (sur imprimante)
 Destinés aux calculs scientifiques et d’ingénierie : résolution d’équations aux dérivées partielles…
 Systèmes d’exploitation
 FMS: Fortran Monitor System
 IBYS (IBM) (premier système de IBM)
Historique des systèmes d’exploitations et des ordinateurs
8

 3ème génération (1965 – 1980)


 Circuits intégré
Avantage prix/performance
 Multiprogrammation

 Plusieurs programmes peuvent tourner, indépendamment, sur une même machine


(simulation du parallélisme).
 Mémoire partagée
 Lectures et écritures simultanées sur le disque,
 Systèmes d’exploitation: MULTICS, DEC PDP, UNIX
Historique des systèmes d’exploitations et des ordinateurs
9

 Quatrième génération (1980 – Aujourd’hui)


 Ordinateurs personnels

 Circuits intégrés à haute densité


 Puces contenant des milliers de transistors sur 1mm2 de silicium

 Systèmes d’Exploitation
 MS-DOS, MAC OS, Windows, UNIX, Linux…
Qu’est-ce qu’un système d’exploitation (1)
10

Un ordinateur est constitué :


 Du matériel
 Dispositifs physiques
 Langage machine
 D’un système d’exploitation.
 De programmes :
 Programmes système
 Programmes d’applications
Qu’est-ce qu’un système d’exploitation (2)
11

Le matériel (Hardware) :
Dispositifs physiques constituent la couche la plus basse du matériel.
 le processeur,
 la mémoire principale,
 des disques,
 des imprimantes,
 des interfaces de connexion réseau,
 ...
Qu’est-ce qu’un système d’exploitation (3)
12

Le système d’exploitation (Operating System OS ou SE) :


 Le plus important des programmes système :

 Il contrôle les ressources de l’ordinateur.


 Il libère le programmeur de la complexité du matériel.
Il se compose :
 D’un noyau (kernel) : partie la plus critique d’un SE.

 Permets aux éléments matériels et logiciels de communiquer entre eux.


 Ainsi c’est le premier software chargé en mémoire.
 Des outils système : partie permettant à l’utilisateur de tirer profit du SE : gérer les
périphériques, les configurer ... ).
 C’est une interface d’accès au système.
Exemple de tâche : lire un bloc d’un fichier.
Qu’est-ce qu’un système d’exploitation (4)
13

 Les programmes (Software, applications) : ils sont écrits par les


utilisateurs ou par les éditeurs de logiciels
 But : résoudre des problèmes spécifiques tels que
 les traitements des images,
 les calculs scientifiques,

 les traitements de textes

 etc.
Qu’est-ce qu’un système d’exploitation (4)
14

Ainsi,
 Le système d’exploitation est un programme complexe qui permet d’accéder et de
gérer les ressources matérielles de l’ordinateur (Interface).

 Ces ressources matérielles sont essentiellement les organes d’entrées/sorties : clavier,


écran, liaisons réseau, imprimante, disque dur, etc.
La double fonction d’un SE
15

 Un système d’exploitation permet de répondre à deux besoins qui ne sont pas

forcement liés :

 le système d’exploitation en tant que machine étendue

 le système d’exploitation en tant que gestionnaire de ressources.


En tant que machine étendue
16

 Le système d’exploitation correspond à « l’interface » entre les applications et le


matériel.
 De ce point de vue le système d’exploitation peut être assimilé à une machine
étendue ou virtuelle plus facile à programmer ou à manipuler que le matériel :
 Un programmeur va utiliser le système d’exploitation par l’intermédiaire « d’appels système ».
 Exemple : Un utilisateur peut manipuler un système d’exploitation avec seulement les commandes
shell.
En tant que gestionnaire de ressources (1)
17

 Les différents composants d’un ordinateur doivent coopérer et


partager des ressources.
 Dans cette optique, le travail du système d’exploitation consiste à :
 ordonnancer,

 contrôler l’allocation des ressources :


 processeurs,
 mémoires,
 périphériques d’E/S,
 ...
En tant que gestionnaire de ressources (2)
18

 Pour chacune des ressources d’un ordinateur, le système d’exploitation


doit :
 connaître à tout moment l’utilisateur de la ressource,
 en accorder l’usage de manière équitable,
 éviter les conflits d’accès entre les différents programmes ou utilisateurs.

 Les deux tâches essentielles du système d’exploitation en tant que


gestionnaire des ressources sont :
 Le partage des ressources.
 La protection de l’accès aux ressources.
Les fonctions de base d’un SE
19

 La gestion des processus


 qui correspondent à l’exécution des programmes.
 La gestion de la mémoire
 qui permet de gérer les transferts entre les mémoires principales et secondaires.
 Le système de fichiers
 qui offre à l’utilisateur une vision homogène et structurée des données et des
ressources : disques, périphériques.
 Les entrées-sorties
 qui correspondent aux mécanismes qu’utilisent les processus pour communiquer
avec l’extérieur.
Les différents types d’architecture d’un SE
20

 Le noyau est généralement exécuté dans un espace mémoire (espace noyau) séparé de
l’espace des applications.
 Le passage entre ces deux espaces se fait via des appels systèmes.
L’intérêt de cette séparation est que le système ne se plante pas si une application se bloque.

 Différents types d’architecture


 Systèmes monolithiques : MSDOS, premières versions de UNIX et Linux
 Systèmes Multicouches : Multics, Linux, BSD, SOLARIS
 Modèle client/serveur ou systèmes à micro-noyaux : GNU HURD, WindowsNT, Windows 2000
 Machine virtuelle : XEN, VMWare, VirtualBox, QEMU
 ....
Les classes des systèmes d’exploitation
21

 Il existe différentes classes de systèmes d'exploitation selon :


 Les services rendus

 L’architecture logique

 L’architecture matérielle
Selon les services rendus (1/2)
22

 Système mono ou multitâches : C’est la capacité du système à pouvoir


ou pas exécuter plusieurs processus à la fois,
 Système mono tâche : n’autorise l’allocation du processeur que pour une
seule tâche
le système se bloque jusqu’à la fin du traitement de la tâche encours
 Système multitâches : plusieurs tâches peuvent être exécutées simultanément
Selon les services rendus (2/2)
23

 Systèmes mono ou multi_utlisateurs : pouvoir gérer ou non, plusieurs utilisateurs qui


accèdent aux mêmes ressources matérielles,
 Mono utilisateur : le système ne peut gérer qu’un seul utilisateur (MS-DOS)
 Multi-utilisateurs : capacité à pouvoir gérer un panel d'utilisateurs utilisant simultanément les mêmes
ressources matérielles (Windows Terminal Server, Linux)
Selon l’architecture matérielle
24

 Architecture monoprocesseur (temps partagé ou multiprogrammation)


 Ressource processeur unique : Il a fallu développer un mécanisme de gestion des processus
pour offrir un (pseudo) parallélisme à l’utilisateur : c’est la multiprogrammation ; il s’agit en
fait d’une commutation rapide entre les différents processus pour donner l’illusion d’un
parallélisme.
 Architectures multiprocesseurs (parallélisme) :
 Faire fonctionner plusieurs processeurs en parallèle afin d’obtenir une puissance de calcul plus
importante et une meilleure tolérance aux pannes,
Selon l’architecture logique
25

 Système centralisé :
 L’ensemble du système est entièrement présent sur la machine.
 Le système ne gère que les ressources de la machine sur laquelle il est présent.
 Systèmes répartis ou distribués :
 Les différentes abstractions du système sont réparties sur un ensemble (domaine) de
machines (site).
 Le système d’exploitation réparti apparaît aux yeux de ses utilisateurs comme une machine
virtuelle monoprocesseur même
 Avec un système réparti, l’utilisateur n’a pas besoin de connaitre la localisation des
ressources.
 Offrent des solutions aux problèmes de la résistance aux pannes.

Vous aimerez peut-être aussi