Académique Documents
Professionnel Documents
Culture Documents
C0 Introduction
C0 Introduction
Programme du semestre 1
1- Introduction
2- Les mécanismes de base : Les interruptions
3- Processus et ordonnancement
4- Exclusion mutuelle et synchronisation
- Exclusion mutuelle,
- Synchronisation avec sémaphores,
- Les moniteurs
5- L’interblocage
6- Les éditeurs de liens 1
Bibliographie
3
Evaluation et formules de calcul
4
Cours de systèmes
d’exploitation
Chapitre 0
INTRODUCTION
Mme L. BOUZAR
© 2021-2022
-5-
1. Introduction aux systèmes
d’exploitation
-6-
2- Fonctions d’un système d’exploitation
Les Logiciels
• Deux classes de logiciels :
➢ Logiciels d'application,
➢ Logiciels de base.
8
Schéma général d’un Système Informatique
9
• Les logiciels d’application :
Programmes écrits par les utilisateurs pour répondre à des
besoins spécifiques : Programmes de paie du personnel,
gestion de la scolarité, jeux, programmes de CAO…
• Logiciels de base :
Programmes permettant de faciliter certains types de
traitements :
– par le changement de la représentation des programmes
et données.
Exemples : assembleurs, compilateurs...
– par la gestion et le partage des ressources physiques et
des informations (modules du système d’exploitation). 10
• La fonction d'un logiciel de base est de compléter la
machine existante pour simuler une machine "étendue" ou
"virtuelle" capable d'interpréter(exécuter) le logiciel
d'application.
11
Les logiciels de base
• On distingue :
➢ Les logiciels de service.
Exemples : Compilateurs, éditeur de liens...
➢ Le système d'exploitation.
12
2.2 Définitions d’un système d’exploitation
13
2.3 Buts d’un système d’exploitation
14
2.4 Principales fonctions d’un système d’exploitation
16
Résumé
❖ Un système informatique peut être divisé en 4 composants:
1. Le matériel,
2. Le système d’exploitation,
3. Les logiciels de service,
4. Les applications (programmes) des utilisateurs.
17
3. Principaux types de systèmes
d’exploitation
19
– Fonctions du système :
• La gestion des fichiers.
• La réalisation des entrées/sorties.
• L’interprétation du langage de commande.
• Pas de partage de ressources entre utilisateurs.
• Partage de ressources entre les différentes tâches
d’un même utilisateur.
20
b) Systèmes multi-utilisateurs
21
Exemples de systèmes multi-utilisateurs
22
c) Systèmes transactionnels
– Les systèmes transactionnels sont caractérisés par les propriétés
suivantes :
1. Gestion d’un ensemble d’informations(bases de données) de
taille importante.
2. Exécution de transactions prédéfinies, en mode interactif .
3. Le système possède un grand nombre de points d’accès
(terminaux) et un grand nombre de transactions peuvent se
dérouler simultanément.
4. Accès et mise à jour de données partagées avec maintien de
leur intégrité.
– Exemples :
• Contrôle de procédés industriels,
• Gestion de centraux téléphoniques,
• Pilotage d’avions, missiles, satellites,
• Surveillance médicale, Commande des robots,
• Centrale nucléaire…
24
• Fonctions du système:
– Action sur les organes externes(lecture de capteurs),
– Gestion du temps physique(déclenchement périodique
du cycle de traitement),
– Réaction aux événements externes(arrêt d’urgence),
– Gestion d’information(conservation et entretien d’un
journal des différentes opérations).
25
• Un système embarqué est un système autonome,
(souvent système temps réel) spécialisé dans une tâche
bien précise.
• Le terme désigne aussi bien le matériel que le logiciel
utilisé.
• Ses ressources sont généralement limitées.
• Cette limitation est généralement d'ordre :
➢ spatial (encombrement réduit) et
➢ énergétique (consommation restreinte).
26
e) Systèmes sur serveur
– Serveur est un gros ordinateur ou station de travail
– Gére plusieurs clients au même temps a travers le réseau.
– Permet le partage de ressources physiques et logiques.
• Exemples: Solaris, FreeBSD, Linux, Windows Server, …
27
f) Systèmes mainframes
– Systèmes utilisés par les grands sites contenant des data
centers.
– Un mainframe peut avoir jusqu’à 10000 disques, beaucoup
d’opérations différentes à gérer.
– Utiliser dans les serveurs web des grandes compagnies,
pour les serveurs de B2B transactions…
• Exemples: OS 390, Linux, MVS (Multiple Virtual Storage
d’IBM)
28
4. Architectures de systèmes d’exploitation
a) Systèmes Monolithiques
– Le système d’exploitation est un ensemble de
procédures,
– Chacune des procédures peut appeler toutes les autres à
travers un appel système ou appel superviseur. ➔
Passage du mode utilisateur en mode système.
– Inconvénient : Maintenance du système très difficile.
– Exemple: Linux est un système à noyau monolithique mais
il est modulaire : Le noyau est composé de plusieurs
modules chacun destiné à la gestion d’un composant donné
( mémoire, disque, autres périphériques,…) ce qui facilite
l’évolution du système.
29
30
• Exemple: Unix
Utilisateurs
Langages de commandes : Shells,
Compilateurs et interpréteurs,
Bibliothèques du système,
Interface d'appels système pour le noyau, ordonnancement de l'UC,
remplacement de pages, pagination à la demande, mémoire virtuelle
Signaux, Système de fichiers,
Gestion des terminaux, Swaping(gestion de la mémoire),
Système d'E/S de caractères, Système d'E/S de blocs,
Drivers de terminaux, Drivers de disques et bandes
Interface noyau pour le matériel
– Exemple:
Système THE de Dijkstra (1968),
4 couches + une couche utilisateurs
32
5. La virtualisation
➢ Définition de la notion de virtualisation
La virtualisation est une technologie qui permet à des systèmes
d’exploitation (systèmes invités) de s’exécuter comme des
applications au sein d’autres systèmes d’exploitation (systèmes
hôtes).
➢ Début de la virtualisation
– Un des premiers systèmes d’exploitation à gérer le concept de
machine virtuelle a été le système CP/CMS* d'IBM (1968),
développé en collaboration avec le MIT.
– VM/370 d’IBM (1979).
*CP/CMS : Control Program/Cambridge Monitor System
33
– Le système d’exploitation contient un logiciel ou outil de
virtualisation appelé hyperviseur qui fournit à la
couche supérieure plusieurs machines virtuelles.
34
Exemple1 : Machine virtuelle invitée
35
Exemple2 : Machine virtuelle native
36
• Les outils:
– Vmware (Vmware)
– Virtual Server et Hyper-V (Microsoft)
– VirtualBox (Oracle)
– Xen (Open source)
– KVM (Open source),
– …
37
Les Hyperviseurs
• Un hyperviseur, également appelé gestionnaire de machine
virtuelle(ou VMM), est un programme qui permet à plusieurs
systèmes d'exploitation de partager un seul matériel hôte.
• Deux principaux types d’hyperviseurs :
➢ Type1 : Hyperviseurs pour machines virtuelles natives, ils
s’exécutent directement sur la machine physique(hardware).
ESXi de VMware, Hyper-V de Microsoft, KVM de RedHat(open
source) , Oracle VM d'Oracle et l'hyperviseur open-source Xen.
➢ Type2 : Hyperviseurs pour machines virtuelles hôtes, ils
s'éxécutent sur un système d'exploitation (Windows, Linux,
MacOS) et non pas directement sur une machine physique.
VirtualBox (Oracle/Sun), WMware Workstation (sur Windows et
Linux) et Fusion (sur Mac), et l'hyperviseur open-source QEMU.
38
• Vmware ESXi
39
• Hyper-V
40
• Open source: Xen
41
– Open source: KVM (Kernel-based Virtual Machine)
pour Linux RedHat. C’est un Hyperviseur libre.
42
6. Le Cloud computing
• Le Cloud computing est un type de systèmes
informatiques qui fournit le calcul, le stockage, et même
des applications comme un service à travers un réseau.
44
• SaaS (Software as a Service / Logiciel fourni en
mode service) :
➢ Le logiciel s’exécute sur des ordinateurs qui appartiennent au
fournisseur SaaS et sont gérés par lui, au lieu d’être installé et
géré sur les ordinateurs des utilisateurs.
➢ Accessible via l’internet, le logiciel est habituellement proposé
par voie d’abonnement(mensuel ou annuel).
49