NOTIONS FONDAMENTALES
DES SYSTÈMES
D’EXPLOITATION
Responsables du cours:
Dr. Ibrahima TOBE
Docteur en Informatique
Directeur Cybersecurité Cellule Groupe ,
Année universitaire 2025/2026
PLAN DU COURS
1. Notion fondamentales du systèmes
d’exploitation
2. Gestion de processeur
3. Synchronisation du processus
4. Allocations de la mémoire
2
2. QU’EST-CE QU’UN SYSTEME D’EXPLOITATION (1)
Un ordinateur est constitué : Utilisateur 1 Utilisateur 2 … Utilisateur N
1. Du matériel Compilateur Editeur Base de données
Applications
Dispositifs physiques
Système d’exploitation
Langage machine
2. D’un système
Matériel
d’exploitation
3. De programmes
Programmes système
Programmes d’applications
3
2. QU’EST-CE QU’UN SYSTEME D’EXPLOITATION (2)
Le matériel (Hardware): Les dispositifs physiques
constituent la couche la plus basse du matériel.
le processeurs,
la mémoire principale,
des disques,
des imprimantes
des interfaces de connexion réseau ,
…
4
2. QU’EST-CE QU’UN SYSTEME D’EXPLOITATION (3)
Le système d’exploitation (Operating System ou OS
ou SE): c’est le plus important des programmes
systèmes :
1. Il contrôle les ressources de l’ordinateur.
2. Il libère le programmeur de la complexité du matériel.
Il se compose:
D’un noyau (kernel): partie la plus critique d’un OS. Il permet aux
éléments matériel et logiciel de communiquer entre eux, de
fonctionner ensemble et de former un tout. Pour ces raisons, il est le
premier logiciel chargé en mémoire.
Des outils système: partie permettant à l’utilisateur de tirer profit de
l’OS, de gérer les périphériques, les configurer …En bref, ils fournissent
une interface d’accès au système.
Exemple de tâche:
5
LIRE UN BLOC DU FICHIER, …
2. QU’EST-CE QU’UN SYSTEME D’EXPLOITATION (4)
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:
le traitement des données commerciales,
les calculs scientifiques,
etc.
6
3. LA DOUBLE FONCTION D’UN SYSTÈME
D’EXPLOITATION
Un système d’exploitation permet de répondre à
deux besoins qui ne sont pas forcément liés :
1. le système d’exploitation en tant que machine
étendue (ou « machine virtuelle »),
2. le système d’exploitation en tant que gestionnaire
de ressources.
Exemple de systèmes d’exploitation:
Linux, Mac OS, Windows 9X, Me, 2000, XP, MS-DOS,
MINIX, etc. 7
3.1 EN TANT QUE MACHINE ÉTENDUE
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 à utiliser que le
matériel :
Un programmeur va utiliser le système d’exploitation
par l’intermédiaire “ d’appels système ”.
Un utilisateur peut lui aussi – dans une certaine
mesure – manipuler un système d’exploitation, sans 8
pour autant avoir à créer un programme (commandes
shell).
3.2 EN TANT QUE GESTIONNAIRE DE
RESSOURCES
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,
...
entre les différents programmes qui y font
appel.
9
3.2 EN TANT QUE GESTIONNAIRE DE
RESSOURCES (3)
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 essentiels du Système
d’exploitation en tant que gestionnaire des
ressources sont :
Le partage des ressources.
La protection de l'accès aux ressources.
10
4. LES FONCTIONS DE BASE D’UN SYSTÈME
D’EXPLOITATION
1. La gestion des processus
qui correspondent à l’exécution des programmes.
2. La gestion de la mémoire
qui permet de gérer les transferts entre les mémoires
principale et secondaire.
3. 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.
4. Les entrées-sorties
qui correspondent aux mécanismes qu’utilisent les processus
pour communiquer avec l’extérieur.
11
4. AUTRES FONCTIONS D’UN SYSTÈME
D’EXPLOITATION
Les réseaux d’ordinateurs
avec les protocoles de communication, d’interconnexion et
d’application.
Les systèmes répartis
avec les protocoles d’appels de procédures à distance (RPC)
ou les objets distribués.
Les systèmes de fenêtrage graphiques.
12
5. LES DIFFÉRENTS TYPES D’ARCHITECTURE DE
SYSTÈMES D’EXPLOITATION
Porte ouverte ou exploitation self service
(1945-1955)
Les machines de la 1ère génération appelées Machines à
Tubes, étaient dépourvues de tout logiciel. Les programmes
utilisateurs étaient exécutés depuis un pupitre de commande.
Ces machines étaient énormes, remplissaient les salles avec
des centaines de tubes à vide (Vacuum Tubes).
Au début de 1950, la procédure s'est améliorée grâce à
l'introduction de cartes perforées.
Les périphériques d’entrée/sortie en ce temps étaient
respectivement le lecteur de cartes perforées et l’imprimante. 13
Utilisation de la machine en Porte Ouverte
Inconvénients
✓ Temps perdu dans l’attente pour lancer l’exécution d’un
programme.
✓ Vitesse d’exécution de la machine limitée par la rapidité de
l’opérateur qui appuie sur les boutons et alimente les
périphériques.
✓ Pas de différences entre : concepteurs ; constructeurs ;
programmeurs ;utilisateurs ; mainteneurs.
14
Traitement par lots (Batch Processing, 1955-
1965) :
Ce sont des systèmes réalisant le séquencement des jobs ou
travaux selon l’ordre des cartes de contrôle à l’aide d’un
moniteur d’enchaînement.
L’objectif était de réduire les pertes de temps occasionnées par
l’oisiveté du processeur entre l’exécution de deux jobs ou
programmes durant cette période il y a eu apparition des
machines à transistor avec unités de bandes magnétiques, donc
évolution des ordinateurs.
L’idée directrice était de collecter un ensemble de travaux puis
de les transférer sur une bande magnétique en utilisant un
ordinateur auxiliaire ([Link] 1401). Cette bande sera remontée
par la suite sur le lecteur de bandes de l’ordinateur principal.
Les résultats seront récupérés sur une autre bande pour qu’ils
15
soient imprimés par un ordinateur auxiliaire.
Système de traitement par lots
Inconvénients
✓ Perte de temps dû à l’occupation du processeur durant les
opérations d’E/S. (En effet, le processeur restait trop inactif,
car la vitesse des périphériques mécaniques était plus lente
que celle des dispositifs électroniques).
✓ Les tâches inachevées sont abandonnées.
16
17
Multiprogrammation (Multiprogramming, 1965-
1970) :
L'introduction des circuits intégrés dans la construction des
machines a permis d'offrir un meilleur rapport coût/performance.
L’introduction de la technologie des disques a permis au système
d’exploitation de conserver tous les travaux sur un disque, plutôt
que dans un lecteur de cartes (Arrivée des unités disques à
stockage important et introduction de canaux d’E/S).
L’idée était alors, pour pallier aux inconvénients du traitement
par lots, de maintenir en mémoire plusieurs travaux ou jobs prêts
à s’exécuter, et partager efficacement les ressources de la
machine entre ces jobs.
18
19
Le principe de Spooling :
L’arrivée sur le marché des unités de disques (et des
tambours magnétiques à des prix abordables).
- Les jobs sont lus et stockés sur disque au fur et à
mesure de leur soumission aux opérateurs : C’est la
notion de SPOOLING (Simulatneous Peripheral
Operation On-Line).
- Le SPOOL consiste à créer des fichiers-disque qui
correspondent aux jobs soumis et qui sont utilisés
par le moniteur au moment de l’exécution, à la
place des supports d’informations lents.
20
Exemple de multiprogrammation :
Pour les deux jobs A et B :
On suppose qu’on a un seul périphérique d’E/S.
21
Système mono-programmé :
22
Système multiprogrammé :
23
Temps partagé (Time Sharing, 1970-) :
C’est une variante du mode multiprogrammé où le temps
CPU est distribué en petites tranches appelées quantum
de temps.
L’objectif est d’offrir aux usagers une interaction directe
avec la machine par l’intermédiaire de terminaux de
conversation, et de leur allouer le processeur
successivement durant un quantum de temps, chaque
utilisateur aura l’impression de disposer de la machine à
lui tout seul.
Il peut aussi contrôler le job qu’il a soumis directement à
partir du terminal (corriger les erreurs, recompiler,
resoumettre le job, …)
24
25
COMPOSANTS D’UN SYSTÈME
D’EXPLOITATION
Plusieurs SE modernes possèdent les
composants suivants :
- Gestion de processeurs.
- Gestion mémoire principale.
- Gestion mémoire auxiliaire.
- Gestion du système d’entrée/sortie.
- Gestion des fichiers.
- Système de protection.
- Gestion de réseaux.
- Système interpréteur de commande.
26
CLASSIFICATION DES SE
Selon les services rendus :
Système mono tâche : A tout instant, un seul programme est
exécuté. Un autre programme ne démarrera –sauf conditions
exceptionnelles- que lorsque le premier sera terminé.
Multitâche : Capacité du système à pouvoir exécuter plusieurs
processus (i.e programmes en cours d’exécution) simultanément
(système multiprocesseurs) ou en pseudo-parallélisme (système en time
sharing).
Multi-utilisateurs : Capacité du système à pouvoir gérer un
ensemble d’utilisateurs utilisant simultanément les mêmes ressources
matérielles. Un SE ne possédant pas cette fonctionnalité est dit mono-
utilisateur.
Systèmes temps réel :Un système à temps réel est utilisé quand
il existe des exigences impérieuses de temps de réponse pour le
fonctionnement d’un processeur ou pour le jeu de données. 27
Selon leur architecture
Systèmes centralisés (traditionnels): L’ensemble du
système est entièrement présent sur la machine
considérée. Les machines éventuellement reliées sont
vues comme des entités étrangères disposant elles aussi
d’un système centralisé.
Systèmes distribués (répartis): Une tendance récente dans
les systèmes informatiques consiste à répartir le calcul
entre plusieurs processeurs. A l’opposé des systèmes
centralisés, dans les systèmes répartis on ne partage pas
de mémoire ou d’horloge. Les processeurs
communiquent entre eux à travers des lignes de
communication, comme des bus rapides ou des lignes
téléphoniques.
28
Selon leur capacité à évoluer :
Systèmes fermés (ou prioritaires): Quand on veut
rajouter des fonctionnalités à un système fermé, il
faut remettre en cause sa conception et refaire une
archive (système complet). C'est le cas d'UNIX,
MSDOS.
Systèmes ouverts: Il est possible de rajouter des
fonctionnalités et des abstractions sans avoir à
repenser le système et même sans avoir à l'arrêter
sur une machine. Cela implique souvent une
conception modulaire basée sur le modèle
«client/serveur». Cela implique aussi une
communication entre systèmes, nécessitant des
modules spécialisés.
29
Selon l’architecture matérielle qui les
supporte :
Architecture monoprocesseur (time sharing ou
multiprogrammation) .
Architecture multiprocesseurs (parallélisme).
30
5. AUTRE CLASSIFICATION DES OS
OS temps partagé: garantir le partage équitable du
temps processeur et des ressources dans le but de
maximiser le temps de traitement et de réduire le
temps de réponse moyen.
OS temps réel: garantir les temps de réponse
Systèmes à contraintes souples/molles: systèmes
acceptant des variations minimes de temps de réponse
(systèmes multimédias)
Systèmes à contraintes dures: gestion stricte du temps pour
conserver l’intégrité du système (déterminisme logique et
temporel et fiabilité)
OS embarqué: OS prévus pour fonctionner sur des
machines de petite taille, (PDA ou des appareils
électroniques autonomes: sondes spatiales, robot,
ordinateur de bord, etc.), possédant une autonomie
31
réduite gestion avancée de l'énergie + ressources
limitées.