Vous êtes sur la page 1sur 33

Cours

Système d’Exploitation (Operating System)

Enseignantes : Amina CHAABANE


Najla BOUARADA

Année universitaire: 2020-2021


Objectifs

 Comprendre les notions de bases des systèmes d’exploitation ;


 Comprendre les composants des systèmes d’exploitation ;
 Résoudre des problèmes d’ordonnancement des processus ;
 Maîtriser la gestion de disque ;
 Maîtriser la gestion des fichiers.

2
Plan
1 Chapitre I : Introduction au Système d’Exploitation

2 Chapitre II : Gestion des processus

3 Chapitre III : Gestion de disque

4 Chapitre IV : Gestion des fichiers

3
Chapitre 1
Introduction au Système d’Exploitation

Enseignantes : Amina CHAABANE


Najla BOUARADA

Année universitaire: 2020-2021


Plan
 Introduction
 Historique
 Composants des systèmes d’exploitation
 Fonctionnalités des systèmes d’exploitation
 Classes des systèmes d’exploitation
 Exemples des systèmes d’exploitation

5
Définitions : Systèmes Informatiques

 Un système informatique est l’ensemble des matériels et logiciels


destinés à réaliser des tâches qui mettent en jeu le traitement
automatique de l'information.

 L’objectif d’un système informatique est d’automatiser le traitement


de l’information.

 Un système informatique est constitué de deux entités : le matériel


(Hardware) et le logiciel (Software).

6
Définitions : Systèmes Informatiques

o Matériel: fournit les ressources informatiques de bases : la machine


physique
o l’unité centrale (UC) pour les traitements
o la mémoire Centrale (MC) pour le stockage
o les périphériques d’entrée/sortie: clavier, souris, carte réseau...

o Logiciel: offre aux utilisateurs des fonctionnalités adaptées à leurs


besoins. Les programmes exécutés sur un ordinateur sont classés selon
leur fonction:
 Logiciels d’applications (les programmes bureautiques…)
 Logiciels de base (système d’exploitation)

7
Définitions : Systèmes d’exploitation

 Un système d'exploitation, abrégé parfois SE, (ou Operating


System en anglais OS) représente l'ensemble des programmes qui
pilote les différents composants (disque dur, écran, processeur,
mémoire etc...) de l'appareil informatique et lui permet donc de
fonctionner.
 Il assure la gestion de la mémoire et les processeurs de l'ordinateur
ainsi que tous ses logiciels et les ressources matérielles de
l'ordinateur.
 Le programme fondamental de tous les programmes
systèmes ; c’est l’ensemble des programmes qui se chargent de
résoudre les problèmes relatifs à l’exploitation de l’ordinateur
8
Définitions : Systèmes d’exploitation

 Le programme qui gère l’interaction avec l’utilisateur, il facilite son


travail en lui présentant une machine plus simple à exploiter que la
machine réelle (concept de machine virtuelle)

 On retrouve un système d'exploitation pré installé sur tout type


d'appareil informatique : ordinateur personnel, smartphone, tablette
tactile, console de jeu, etc.
9
Définitions : Systèmes d’exploitation

 C'est l'ensemble de programmes qui fournissent tous les services


nécessaires à la gestion de l'ordinateur

 Il assure l’exploitation efficace, fiable et économique des


ressources critiques et/ou partagées (mémoire)

 Il fournit les fonctions permettant la réalisation de la machine


virtuelle qu'il représente; la gestion et le partage des ressources

10
Définitions générales
 Ressources = composantes de l’unité centrale + périphériques d’entrée/Sortie

 Programme = suite d’instructions

 Processus = un programme en cours d’exécution,

 Processeur = (ou unité centrale de traitement UCT ou en anglais central


processing unit CPU) est le cerveau de l'ordinateur, qui fait les calculs et
exécute les instructions d'un programme
 RAM = la mémoire vive, est la mémoire informatique dans laquelle
peuvent être enregistrées les informations traitées par un appareil
informatique.
 Partager = utilisation simultanée et optimisée : deux dimensions de partage :
dans le temps (CPU) et dans l’espace (RAM) 11
Historique des systèmes d’exploitation

Première génération (1944-1955)


 Apparition des premiers machines à calculer, à tubes à vide,
programmés par tableaux de connecteurs, puis par cartes perforées au
début des années 50.
 Il n’existait pas de système d’exploitation.
 Les utilisateurs travaillaient chacun leur tour sur la machine qui
remplissait une salle entière
 Les E/S étaient limitées;
 Le programmeur opère avec la machine par interaction directe
(beaucoup de manipulation et beaucoup de lourdeur);
 Concepteur = constructeur = programmeur = opérateur;

12
Historique des systèmes d’exploitation

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


 Apparition des ordinateurs moins encombrants et plus fiables avec le
développement du transistor.
 Les programmes s’exécutent par lots (batch) : exécution tâche par
tâche.
 Séparation des rôles : le programmeur n’est pas l’opérateur;
 Apparition des assembleurs;
 Le système d'exploitation gère la mémoire, les processus et les E/S;
 Gestion par limitation de temps;
 Introduction de la notion d’ordonnancement : dans quel ordre sont
effectuées les jobs;
 Lors des E/S, le processeur est inactif 13
Historique des systèmes d’exploitation

Troisième génération (1965-1980)


 Diminution de la taille des ordinateurs et l’augmentation de leurs
capacités de calcul grâce aux circuits intégrés
 Plusieurs SE ont été développés mais le majeur était Unix
 Des techniques dans les SE se sont présentées :
 Multiprogrammation : permet de gérer l’exécution de plusieurs
programmes au niveau du processeur et de la mémoire. L’idée vient
du fait que l’exécution d’une instruction d’entrée-sortie est très
lente et n’utilise pas le processeur. Pour que le processeur ne
reste pas inactif, le SE fait basculer le processeur vers un autre
programme et l’exécute  Partitionnement de la mémoire
La multiprogrammation est l'allocation de plus d'un programme
simultané sur un système informatique et ses ressources 14
Historique des systèmes d’exploitation

Troisième génération (1965-1980)


 Temps partagé: est une variante de la multiprogrammation. Plusieurs
utilisateurs peuvent se connecter à une même machine. Le processeur
est partagé équitablement entre les tâches des différents utilisateurs.
Le partage de temps est le partage de ressources informatiques entre
plusieurs utilisateurs en même temps.

15
Historique des systèmes d’exploitation

Quatrième génération (1980 - 2000)


 Arrivée des ordinateurs personnels portables et de poche.
 Les PC (Personal Computers) sont caractérisés par de petites tailles et
des prix réduits avec une grande disponibilité et puissance de calcul.
 Les circuits LSI Large Scale Integration ciruit contenant des
milliers de transistors / mm² a conduit à la fabrication de ce qu'on
appelait les micro-ordinateurs, un individu peut posséder sa
propre machine : le PC = ordinateur personnel.

 Avec l’évolution des réseaux de télécommunication, de nouvelles


catégories de SE ont apparu telles que les SE réseaux et les systèmes répartis
ou distribués
16
Historique des systèmes d’exploitation

Cinquième génération (2000-Présent)


 Apparition des réseaux et machines individuelles
o appareils personnels remplacent les terminaux;
o interconnexion de systèmes hétérogènes;
o développement des réseaux locaux haute performance et Internet;
o partage des ressources et des fichiers entre machines de divers types;
 Apparition des systèmes répartis
o plusieurs processeurs sur un même appareil;
o plusieurs processeurs disponibles sur des appareils différents pour un même
programme;
o plusieurs « cores » sur un même processeur;
o systèmes de client/serveur;
o connectivité inter-serveurs; 17
Composants de systèmes d’exploitation

Système Montage vidéo Navigateur web Programmes


bancaire d’application
Utilitaires Système de Interpréteur de
fichiers commande Programmes Système:
Noyau du système d’exploitation Système d’exploitation

Matériel

18
Composants de systèmes d’exploitation

 Le noyau (kernel) : assure les fonctions fondamentales du SE


telles que la gestion de la mémoire, des processus, des fichiers, des
entrées-sorties principales, et des fonctionnalités de communication.
Il réside en mémoire centrale.

 L'interpréteur de commandes (shell) : assure le dialogue entre


le système d'exploitation et l'utilisateur. Il analyse les commandes de
l'utilisateur (texte, clique, combinaison des touches, etc.) afin
d'exécuter les actions demandées (lancer une application, copier un
fichier, créer un répertoire, etc.). Il peut être en mode texte ou en
mode graphique.
19
Composants de systèmes d’exploitation

 Les utilitaires : un ensemble de programmes nécessaires à


l’exploitation de base de l’ordinateur (exemples : éditeurs de texte,
visualiseurs d’images, lecteurs des fichiers multimédia) et au
développement et à la mise au point des programmes utilisateurs
(exemples : compilateurs, éditeur de liens).

 Le système de fichiers (File System) : permet d'enregistrer les


fichiers dans une arborescence. Il organise les données afin de
pouvoir localiser les informations. Le rôle d'un système
d'exploitation est de donner corps au concept de fichiers (les gérer,
c'est-à-dire les créer, les détruire, les écrire (modifier) et les lire, en
offrant la possibilité de les désigner par des noms).
20
Fonctionnalités des systèmes d’exploitation

 Les principales fonctions d’un SE sont reliées aux différentes


ressources manipulées par l’ordinateur ; on distingue:

1. Gestion des processus


 Un processus est un programme en cours d’execution sur CPU,
 Un processus a besoin de certaines ressources; CPU, mémoire,
fichiers, les périphériques d’E/S, … pour accomplir sa tâche
 Le SE est responsable de :
 Création et suppression du processus
 Suspension et relancement du processus
 Mécanismes pour synchronisation, communication entre processus
et traitement des interblocages 21
Fonctionnalités des systèmes d’exploitation
2. Gestion de la mémoire
 La mémoire est un espace de stockage de données, rapidement accessible par
le CPU et les périphériques d’E/S.

 Le SE est responsable de :
 Décider quels processus à charger en mémoire dès que l’espace mémoire
devient disponible
 Allouer et libérer la mémoire sous la demande des processus

 En cas d'insuffisance de mémoire physique, le système d'exploitation peut


créer une zone mémoire sur le disque dur, appelée «mémoire
virtuelle». La mémoire virtuelle permet de faire fonctionner des
applications nécessitant plus de mémoire qu'il n'y a de mémoire vive
disponible sur le système. En contrepartie cette mémoire est beaucoup
plus lente. 22
Fonctionnalités des systèmes d’exploitation
3. Gestion des fichiers
Le SE est responsable des activités suivantes :
 Création et suppression de fichiers
 Gérer la lecture et l'écriture dans le système de fichiers et les
droits d'accès aux fichiers par les utilisateurs et les applications.
 Création et suppression de répertoires
 Mapper les fichiers en mémoire secondaire
 Sauvegarde de fichiers sur un média de stockage non volatil

Pour être traité par ordinateur l'information est stockée dans des
entités logiques appelées fichier.
Un fichier : Est un ensemble des données de mêmes type qui sont
présentes de façon permanente sur une mémoire de masse
23
Fonctionnalités des systèmes d’exploitation

4. Gestion des périphériques (Entrées / Sorties)


Configuration,Accès et utilisations des différents
périphériques.

5. Gestion de l’interface Homme / Machines


Fournir une interface conviviale, transparente et facile à utiliser

24
Caractéristiques des systèmes d’exploitation

 Le SE doit assurer :
 Fiabilité : limiter les conséquences des défaillances matérielles ou
des erreurs des utilisateurs. En cas de panne, éviter les pertes
d’information ou leur incohérence
 Efficacité : Utiliser au mieux les ressources
 Equité (pas de programme en attente indéfinie)
 Cohérence (entre les accès consécutifs)
 Facilité d’emploi : Offrir un langage de commande (dialogue
usager/système) et des diagnostics d’erreurs (système/usager) clairs
et précis
 Adaptabilité : permettre des modifications matérielles et logicielles
les plus simples possibles, à l’aide d’outils spécialisés
25
 Protection contre les accès interdits
Les classes des systèmes d’exploitation

 Il existe différentes classes de systèmes d’exploitation selon :

 Les services rendus

 L’architecture logique

 L’architecture matérielle

26
Les classes des systèmes d’exploitation

Selon les services rendus


 Systèmes mono ou multi-tâches: C’est la capacité du système à
pouvoir exécuter un ou plusieurs processus à la fois.
 Système mono-tâche : ce système n’autorise l’allocation du
processeur que pour une seule tâche (processus). En effet, une tâche
ne prend le processeur que si et seulement si la précédente est
achevée, si non le système se bloque.
 Système mutli-tâches : capacité du système à pouvoir exécuter
plusieurs tâches « processus » simultanément.

27
Les classes des systèmes d’exploitation

Selon les services rendus


 Systèmes mono ou multi-utilisateurs : C’est la capacité ou pas de
gérer un nombre d’utilisateurs utilisant simultanément les mêmes
ressources matérielles
 Mono-utilisateur : le système ne peut gérer qu’un seul utilisateur (ex
: le système MS-DOS)
 Multi-utilisateurs : capacité à pouvoir gérer un panel d'utilisateurs
utilisant simultanément les mêmes ressources matérielles.

28
Les classes des systèmes d’exploitation

Selon l’architecture logique


 Système centralisé: L’ensemble du système est entièrement présent
sur la machine considérée. Le système ne gère que les ressources de
la machine sur laquelle il est présent.
 Système réparti ou distribué: Les différentes abstractions du système
sont réparties sur un ensemble de machines.
 Le système d'exploitation réparti apparaît aux yeux de ses utilisateurs
comme une machine virtuelle unique monoprocesseur.
 Quand l’utilisateur lance un programme, il n'a pas à connaître le nom
de la machine qui l'exécutera.
 L’utilisateur ne se souci pas de la localisation des ressources.
 Ces systèmes offrent des solutions de résistance aux pannes. 29
Les classes des systèmes d’exploitation
Selon l’architecture matérielle
 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 multi-programmation ; il s'agit en fait d'une commutation
rapide entre les différents processus pour donner l'illusion d'un
parallélisme.
 Architecture multiprocesseur :
 Le multiprocessing est une technique consistant à faire fonctionner
plusieurs processeurs en parallèle afin d'obtenir une puissance de calcul
plus importante que celle obtenue avec un processeur haut de gamme
ou bien afin d'augmenter la disponibilité du système (en cas de panne
d'un processeur): 30
 Parallélisme
Exemples de systèmes d’exploitation

SE Utilisateur Tâche Architecture


MS-DOS Mono Mono Monoprocesseur
Windows Mono Multi Monoprocesseur
7/8/10
Windows NT Multi Multi Multiprocesseur
Unix / Linux Multi Multi Multiprocesseur
Mac OS X Multi Multi Multiprocesseur
Android Multi Multi Multiprocesseur

31
Machine Virtuelle
 Comment permettre de rouler différents SE sur une seule
machine physique simultanément?
 SOLUTION: Un programme qui crée une couche mettant à
disposition plusieurs machines virtuelles
 Chaque machine virtuelle se comporte comme une machine physique
séparée
 Sur chacune, nous pouvons rouler un SE différent

32
Application
Trois travaux T1, T2 et T3 possèdent les caractéristiques suivantes :
T1 T2 T3
Type de travail Calcul entrée/sortie entrée/sortie
Durée 5 min 15 min 10 min
Besoin mémoire 50K 100K 80K
Besoin disque non non oui
Besoin terminal non oui non
Besoin imprimante non non oui
Ces travaux seront exécutés sur un ordinateur ayant une mémoire de
256K mots disponibles (partie non utilisée par le S.E.), un disque, un
terminal et une imprimante.

Expliquer pourquoi la multiprogrammation est possible pour les travaux


donnés.

Vous aimerez peut-être aussi