Systemes D'Exploitation: Année 2022/2023
Systemes D'Exploitation: Année 2022/2023
Systemes D'Exploitation: Année 2022/2023
SYSTEMES D’EXPLOITATION
Année 2022/2023
CONTENU DU MODULE
Les générations des ordinateurs
Rôle du système d'exploitation
Qualités d'un système d'exploitation
Modes d'Exploitation des Ordinateurs :
o Mode séquentiel direct
o Mode séquentiel indirect
Multiprogrammation : classique-étendue
Temps partagé
Temps réel
CONTENU DU MODULE
Gestion de la Mémoire Centrale :
o Définitions
o Espace logique
o Espace physique
Allocation en mémoire
o Partitions statiques
o Partitions dynamiques
Allocation par pagination
Pagination à la demande,
Segmentation
Introduction aux systèmes d'exploitation
4. TD1
Rappels sur le matériel
(Architecture des ordinateurs)
Architecture de John Von Neumann
Architecture Harvard
Structure de base d’un ordinateur
Le Processeur
Architecture interne d’un microprocesseur
Les bus
Schéma des bus de communication
Un disque dur
• Un disque dur est composé :
• d un ou plusieurs plateaux circulaires, dont l une
ou les deux surfaces sont recouvertes d'un fin
matériau magnétique
• d’une tête de lecture-écriture par surface
• les surfaces sont généralement divisées en
anneaux concentriques, les pistes.
• les pistes sont divisées en secteurs (courammentp (
entre 32 et 256 mots)
• les pistes de même numéro de l’ensemble des
plateaux forment un cylindre.
Carte mère
Chipset
La connectique
Les Ports
Les générations des ordinateurs
Les générations des ordinateurs
•Système multiprocesseurs :
Il s'agit d'une variante des systèmes d'exploitation serveurs optimisés pour des machines à plusieurs
processeurs.
Evolution des systèmes d'exploitation
L’évolution des micro-ordinateurs a été encouragée par l’apparition des
systèmes d'exploitation adéquats.
• VMS
• CP/M
• MS-DOS
• Mac OS
• OS/2
• NetWare
• Unix
• Linux
• La famille des Windows :
Evolution des systèmes d'exploitation
A cette époque, chaque ordinateur était livré avec son propre système d'exploitation, étroitement
dépendant du matériel utilisé.
L'idée de CP/M (Control Program for Microcomputers), une première à l'époque, consistait à créer
un système d'exploitation pouvant fonctionner sur les machines de plusieurs constructeurs.
C'est d'ailleurs avec CP/M que le Bios apparaît, cette couche logicielle basse permettant
d'interfacer matériel et système d'exploitation.
CP/M est porté sur presque toutes les plates-formes en vue de l'époque.
Evolution des systèmes d'exploitation
MS-DOS:
• MS-DOS est le plus connu des premiers systèmes d'exploitation pour PC.
• Il est mono-utilisateur et mono-tâche.
• On a du greffer des couches logicielles pour répondre aux évolutions
matérielles et aux demandes des utilisateurs.
• Il a été rapidement supplanté par les systèmes Windows.
Evolution des systèmes d'exploitation
Mac OS:
• C'est le système d'exploitation de la firme Apple.
• Il a été livré pour le Macintosh en 1984.
• Les premiers systèmes à utiliser la souris et une interface graphique
avec plusieurs fenêtres.
• Mac OS X se distingue par un noyau Darwin qui est un open source.
Mac OS est un des principaux rivaux des Windows
Evolution des systèmes d'exploitation
OS/2:
• En 1987, IBM propose le PS/2, plus puissant que le PC avec un
nouveau système d'exploitation OS/2 (copropriété d'IBM et de
Microsoft).
• Multitâche.
• Il est renommé OS/2 Warp Server à partir de la version 3.
NetWare de Novell
• Le premier système d'exploitation réseau 32 bits pour PC.
• Il intègre un serveur de fichiers et d'impression.
Evolution des systèmes d'exploitation
Unix :
• Unix étant distribué gratuitement à ses tous débuts, il a donné naissance à de
nombreuses versions :
• Les versions les plus connues a ce jour sont Unix SYSTEM V (évolution de la
version initiale d'AT&T et Bell) et Unix BSD.
• Il fonctionne aussi bien sur PC que sur les mini-ordinateurs.
• Les principaux Unix du marché sur Intel sont :
• Open Server et Unixware de SCO (Santa Cruz Operation),
• Solaris (Sun Microsystems),
• BSD (Berkeley),
• Caldera OpenLinux.
• Trois Unix dominent le monde des serveurs :
HP/UX, Sun Solaris, IBM AIX.
Evolution des systèmes d'exploitation
Linux:
• a pris des parts de marché aux Unix, à Novell Netware et à Windows NT-
2000 serveur.
• Il s'est imposé dès la fin du 20ème siècle.
• Il est multi-utilisateurs, multi-tâches, stable et gratuit.
• Principales distributions de Linux : RedHat (la plus appréciée des
administrateurs de serveurs), MandrakeSoft (plus facile ou assistée pour
débutants), Suze (allemande), Debian, Caldera (devenue payante),
Turbolinux (plus connue en Asie).
Evolution des systèmes d'exploitation
Windows:
• Microsoft propose en 1992 Windows 3.10 et Windows pour Workgroups
3.11 dont les mots clés sont Multifenêtres et Multitâches coopératif.
• En 1993, on voit apparaître la première version de Windows NT 3.1 suivie
en 1994 par NT 3.5. L'année 1995, verra la sortie du fort célèbre Windows
95 ("Et soudain le monde devient plus beau").
• En 1996, Windows NT 4 avec deux versions station de travail et Serveur.
• Ensuite, Windows Terminal Server : un système qui simule un
environnement multi-utilisateurs et prend en charge la connexion de
plusieurs terminaux.
• En 1998 Windows 98.
• En 2000, Microsoft commercialise Windows 2000 professionnel et serveur,
Windows Millenium, suivi de Windows XP familial et serveur. Windows
2003 (initialement baptisé .NET) sort en 2003 et plus.
Interface du système d'exploitation
Gestion du Processeur
Gestion du Réseau
Doit également gérer l'espace occupé par les fichiers ainsi que
l’espace libre.
• Interdire au programme utilisateur d'effectuer lui–même la création pour les raisons suivantes:
• Il doit vérifier si l'utilisateur dispose du droit d'écriture dans le répertoire, autrement il
refusera de créer le fichier.
• Il doit également vérifier si un fichier du même nom n'existe pas déjà
• La création du fichier nécessite l'attribution de quelques secteurs du disque dur pour
l'enregistrement des données du fichier.
• L'utilisateur n'a aucune connaissance des zones libres du disque
Exemple d’appels système
• Faire appel au système d'exploitation pour créer un fichier sur le disque dur et cela via un appel
système comme createfile sous système d’exploitation Windows.
• Interdire au programme utilisateur d'effectuer lui–même la création pour les raisons suivantes:
• Il doit vérifier si l'utilisateur dispose du droit d'écriture dans le répertoire, autrement il
refusera de créer le fichier.
• Il doit également vérifier si un fichier du même nom n'existe pas déjà
• La création du fichier nécessite l'attribution de quelques secteurs du disque dur pour
l'enregistrement des données du fichier.
• L'utilisateur n'a aucune connaissance des zones libres du disque
Quelques exemples d'appels système Windows et Linux
Les modes superviseur et utilisateur
Afin de protéger l'exécution du S.E de celles des programmes
utilisateurs, les processeurs actuels proposent deux modes de
fonctionnement:
• Mode utilisateur
• Mode protégé ou superviseur (également appelé mode noyau) est réservé à l'exécution des primitives
du système d'exploitation
mode protégé
Exécution d'un appel système
• Lorsqu'un programme effectue un appel système, son
exécution en mode utilisateur est interrompue et le
système prend le contrôle en mode superviseur
• Un appel système est exécuté en mode noyau même si le
programme ayant demandé son exécution est exécuté en
mode utilisateur
Modèles de systèmes d'exploitation
• Le système d'exploitation se présente sous la forme d'un ensemble
de primitives, chacune mettant en œuvre une partie du système
• Lorsqu'un utilisateur donne un ordre au système d'exploitation, ce
dernier doit appeler plusieurs primitives
• Trois principales manières d'organiser les primitives du système à
travers les différents types de systèmes d'exploitation
Modèles de systèmes d'exploitation
• Facilité d'administration et de test : les équipes peuvent tester de nouvelles fonctionnalités et revenir en arrière en cas de
problème. Cela facilite la mise à jour du code et accélère la commercialisation des nouvelles fonctionnalités. De plus, il est facile d'isoler et de corriger
les pannes ainsi que les bugs des services individuels.
• Déploiement indépendant : les microservices étant des unités individuelles, ils permettent de déployer indépendamment des
fonctionnalités individuelles de manière rapide et facile.
• Flexibilité technologique : les architectures de microservices permettent aux équipes de sélectionner les outils souhaités.
• Fiabilité élevée : vous pouvez déployer des changements pour un service spécifique, sans risquer de paralyser l'ensemble de l'app.
Équipes satisfaites : les équipes Atlassian qui travaillent avec des microservices sont beaucoup plus satisfaites, car elles sont plus
autonomes et peuvent créer et déployer elles-mêmes sans attendre l'approbation d'une pull request pendant des semaines.
Inconvénients des systèmes Micro-services
• Développement tentaculaire : les microservices ajoutent de la complexité par rapport à une
architecture monolithique, étant donné que vous avez plus de services dans un plus grand nombre
d'emplacements créés par plusieurs équipes. Si cette multiplication n'est pas bien gérée, elle freinera le
développement et dégradera les performances opérationnelles.
• Coûts d'infrastructure exponentiels : chaque nouveau microservice peut impliquer ses propres coûts
pour la suite de tests, les playbooks de déploiement, l'infrastructure d'hébergement, les outils de
surveillance, et bien plus encore.
• Frais organisationnels supplémentaires : les équipes doivent ajouter un autre niveau de
communication et de collaboration pour coordonner les mises à jour et les interfaces.
• Défis de débogage : chaque microservice possède son propre ensemble de journaux, ce qui complique le
débogage. De plus, un seul processus métier peut s'exécuter sur plusieurs machines, ce qui complique
encore le processus.
• Manque de standardisation : l'absence de plateforme commune peut entraîner une prolifération des
langages, des normes de journalisation et de la surveillance.
• Manque de responsabilité claire : lorsque de nouveaux services sont lancés, le nombre d'équipes
les exécutant augmente lui aussi. Au fil du temps, il devient difficile de connaître les services disponibles et
de savoir qui contacter pour obtenir de l'aide.
Introduction aux processus
Un processus est l'entité créée par le système
d'exploitation pour l'exécution d'un programme.
La gestion des processus consiste à décider quel
processus s’exécute à un moment donné,
A quel moment interrompre le processus, quel sera le
suivant, et de quelles ressources il a besoin
Pour son exécution. Le système d'exploitation manipule
deux types de processus :
• Exécution mode utilisateur
• Exécution mode Noyau
certaines contraintes.
Ordonnanceur(Scheduleur)
Dispatcheur
Les différents types d’ordonnancement
Dispatcheur :
P1 3
P2 5
P3 2
P4 6
P5 4
Pour calculer le temps de réponse moyen (TAM) d’exécution des processus on utilise la
formule suivante:
TAM
Exemple Algorithme (FIFO)(TRM)
TRI= TEMPS FIN D'EXÉCUTION - DATE D'ARRIVÉE
Durée Date
Processus d’exécution d’arrivés
TRM
P1 7 0
P2 5 1
TAI= TRI - TEMPS D'EXÉCUTION
P3 4 2
𝒏
TAM 𝒊 𝟎 P4 8 3
7 5 4 8
P1 P2 P3 P4
0 7 12 16 24
2.TRM:
1.Diagramme de GANTT:
TRI= TEMPS FIN D'EXÉCUTION - DATE D'ARRIVÉE
TR(p1)=7-0=7 7+11+14+21
53
TR(p2)=12-1=11 TRM= = = 13,25
4 4
TR(p3)=16-2=14
TR(p4)=24-3=21
Exemple Algorithme (FIFO) (TAM)
TRI= TEMPS FIN D'EXÉCUTION - DATE D'ARRIVÉE
Durée Date
Processus d’exécution d’arrivés
TRM= ∑𝒏𝒊 𝟎 𝑻𝑹𝒊/𝒏
P1 7 0
TAI= TRI - TEMPS D'EXÉCUTION
P2 5 1
TAM= ∑𝒏𝒊 𝟎 𝑻𝑨𝒊/𝒏 P3 4 2
1.Diagramme de GANTT: P4 8 3
7 5 4 8
P1 P2 P3 P4
0 7 12 16 24
2.TAM:
TAI= TRI - TEMPS D'EXÉCUTION
TA(p1)=7-7=0 0+6+10+13
29
TA(p2)=11-5=6 TAM= = = 7,25
4 4
TA(p3)=14-4=10
TA(p4)=21-8=13
Ordonnanceur SJF
• Dans un système à ordonnancement non préemptif ou sans réquisition le
système d’exploitation choisi le prochain processus à exécuter et lui alloue
le processeur jusqu’à ce qu’il se termine ou qu’il se bloque.
Voir le TD
Ordonnanceur non préemptif SJF (sans réquisition )
• Dans un système à ordonnancement non préemptif ou sans réquisition le
système d’exploitation choisi le prochain processus à exécuter et lui alloue
le processeur jusqu’à ce qu’il se termine ou qu’il se bloque.
Voir le TD
Ordonnanceur préemptif JSF(avec réquisition )
• Dans un schéma d’ordonnanceur préemptif ou avec réquisition le système
d’exploitation peut retirer à n’importe quel moment le processeur à un
processus même si ce dernier est en cours d’exécution.
Allocation Contiguë
Allocation Chainée
Allocation Indexée
Exemple de système de fichier
MS-DOS utilise la FAT (File Allocation Table) pour y conserver les chaînages
entre les blocs FAT 16 et FAT 32.
Windows NT utilise la MFT (Master File Table) associé au système NTFS (New
Technology File System) .
UNIX, GNU/Linux (ext3fs) utilisent le I-Node (Index node).