Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Devoir de Groupe SE

Télécharger au format docx, pdf ou txt
Télécharger au format docx, pdf ou txt
Vous êtes sur la page 1sur 10

Cours de : Système exploitation avancé

Professeur : Dr. YANOGO

Thème : Analyse approfondie de l’architecture d’un SE


monolithique

Membres du groupe
SAWADOGO Francis
SOMA Milan Ismaail
KAFANDO Arianne
DABRE Arafat Reza
Angelbert

Classe : RIM1

Année académique 2023-2024


Table des matières

Introduction.................................................................................................................................3

I. Qu’est-ce qu’un système d’exploitation monolithique ?.....................................................3

II. Fonctionnement interne d'un SE monolithique...................................................................4

II. 1 Principaux composants et leur fonctionnalité :............................................................4

II. 1 Communication et coordination :.................................................................................5

III. Avantages des architectures monolithiques.....................................................................5

IV. Inconvénients des architectures monolithiques...............................................................6

IV. 1 Exemples de systèmes d'exploitation monolithiques................................................7

V. Comparaison entre les architectures monolithiques et micro-noyau...................................7

Conclusion..................................................................................................................................9

Webographie.............................................................................................................................10

2
Introduction
Les systèmes d'exploitation (SE) sont des logiciels cruciaux qui orchestrent l'utilisation
efficace des ressources d'un ordinateur, facilitant ainsi l'interaction entre les utilisateurs et le
matériel informatique. Ils assurent des fonctions essentielles telles que la gestion des
processus, de la mémoire, des fichiers et des périphériques, tout en fournissant une interface
utilisateur pour accéder et utiliser ces ressources de manière sécurisée. Les SE sont conçus
selon différentes architectures, chacune avec ses propres approches pour organiser et
optimiser ces fonctions. Parmi ces architectures, l'approche monolithique se distingue par son
intégration complète de tous les services essentiels dans un seul bloc de code, le noyau,
offrant ainsi une gestion directe et rapide des opérations système.

I. Qu’est-ce qu’un système d’exploitation


monolithique ?
Dans ce système d'exploitation, tous les principaux composants du système d'exploitation sont
situés dans l'espace du noyau (il s'agit d'un programme informatique au cœur du système
d'exploitation). Le noyau contrôle toutes les fonctionnalités principales telles que la gestion de
la mémoire, la gestion des processus, la gestion des fichiers et la gestion des périphériques. Il
s'agit d'un système d'exploitation simple et vintage qui a été introduit pour la première fois en
1970. Il a ensuite été utilisé pour de petits travaux comme le traitement par lots et le partage
de temps. Parlons maintenant de son architecture.

Figure 1 : Architecture monolithique. 3


Source : https://www.naukri.com/code360/library/monolithic-vs-layered-os
Il y a principalement trois couches dans un système d'exploitation monolithique : le matériel,
l'application et le noyau monolithique. Comme indiqué ci-dessus, le noyau gère les services
du système d'exploitation tels que la planification du processeur , la gestion de la
mémoire , etc. L'application demande des services au noyau ; les appels système le font.
Lorsqu'une application demande un espace d'adressage matériel de service, l'application passe
à l'adresse matérielle du système d'exploitation ; ces systèmes d'exploitation disposent
également d'une interface virtuelle de haut niveau sur le matériel informatique.

II. Fonctionnement interne d'un SE monolithique


Le fonctionnement interne d'un système d'exploitation (SE) monolithique repose sur une
conception où toutes les fonctionnalités essentielles sont regroupées au sein d'un seul noyau
centralisé. Ce noyau agit comme un superviseur global, gérant directement les processus, la
mémoire, les systèmes de fichiers, les périphériques, et d'autres aspects critiques du système.

II. 1 Principaux composants et leur fonctionnalité :


1. Gestion des processus : Le noyau monolithique est responsable de la création, de la
gestion et de la terminaison des processus. Il alloue des ressources telles que le temps
CPU et la mémoire aux différents processus en cours d'exécution, en veillant à leur
bon fonctionnement et à leur isolation.
2. Gestion de la mémoire : Cette fonctionnalité inclut l'allocation de mémoire aux
processus et la gestion des pages mémoire. Le noyau s'assure que chaque processus
utilise la mémoire de manière efficace tout en évitant les conflits et en garantissant la
protection des données sensibles.
3. Systèmes de fichiers : Le SE monolithique offre un système de fichiers hiérarchique
où les fichiers sont organisés et accessibles selon une structure définie. Le noyau gère
les opérations de lecture, écriture, et gestion des métadonnées des fichiers, assurant la
cohérence et l'intégrité des données.
4. Gestion des périphériques : Les pilotes de périphériques sont intégrés directement
dans le noyau monolithique. Cela permet au système d'exploitation de communiquer
efficacement avec les périphériques matériels tels que les disques, les imprimantes, les
cartes réseau, et autres composants externes.

4
II. 1 Communication et coordination :
Au sein d'un SE monolithique, tous ces composants interagissent étroitement grâce à une
communication directe et des structures de données partagées. Cela facilite des opérations
rapides et efficaces, car il n'y a pas de surcharge due à la communication entre modules
séparés. Cependant, cette intégration étroite peut également rendre le noyau plus complexe et
plus difficile à maintenir à mesure que le système évolue et que de nouvelles fonctionnalités
sont ajoutées.

En résumé, le fonctionnement interne d'un SE monolithique repose sur une centralisation des
services essentiels dans un seul noyau, optimisant ainsi la performance initiale du système
tout en nécessitant une gestion rigoureuse de sa complexité croissante au fil du temps.

III. Avantages des architectures monolithiques


Les architectures monolithiques présentent plusieurs avantages significatifs qui les rendent
attrayantes dans de nombreux contextes.

Ce tableau résume les principaux avantages des architectures monolithiques, en mettant en


évidence les aspects de simplicité, de performance, de sécurité et d'efficacité opérationnelle.

Tableau 1 : Avantages des architectures monolithiques

Avantage Description
Performances Communication directe entre les composants du noyau permet des
élevées opérations rapides et efficaces.
Simplicité de Toutes les fonctionnalités sont intégrées dans un seul bloc de code,
conception simplifiant initialement la conception.
Sécurité renforcée Moins de points d'entrée pour les vulnérabilités externes grâce à la
centralisation des services critiques.
Facilité de Une fois compilé, le système peut être déployé facilement sans
déploiement gestion complexe des dépendances entre modules.
Efficacité La gestion unifiée des ressources et des opérations système
opérationnelle simplifie la surveillance, la gestion et la résolution des problèmes.
Les administrateurs système peuvent avoir une vue d'ensemble plus
claire et une meilleure compréhension des performances globales
du système.

5
IV. Inconvénients des architectures monolithiques
Les architectures monolithiques présentent également certains inconvénients qu'il est
important de prendre en compte.

Ce tableau résume de manière succincte les principaux inconvénients des architectures


monolithiques, mettant en évidence les défis associés à la complexité croissante, à la stabilité,
à la modularité réduite et aux difficultés de déploiement

Tableau 2 : Inconvénients des architectures monolithiques

Inconvénient Description
Complexité et taille croissantes Le système devient plus complexe et
volumineux à mesure que de nouvelles
fonctionnalités sont ajoutées.
Risques de stabilité Un bug ou une défaillance dans une partie
du noyau peut affecter tout le système.
Moins de modularité La gestion des changements et des mises à
jour peut être plus difficile en raison de
l'intégration étroite des composants.
Difficultés de déploiement Les mises à jour nécessitent souvent de
redéployer tout le noyau, ce qui peut
entraîner des interruptions prolongées.

En somme, bien que les architectures monolithiques offrent des avantages significatifs en
termes de performances, de simplicité initiale et de sécurité, elles posent également des défis
en matière de complexité, de maintenance, de déploiement et d'évolutivité. Le choix de cette
architecture doit donc être évalué en fonction des besoins spécifiques du projet et des
compromis acceptables en termes de gestion et de développement à long terme.

6
IV. 1 Exemples de systèmes d'exploitation monolithiques
Ce tableau présente des exemples de systèmes d'exploitation monolithiques, en fournissant
une brève description de chacun pour illustrer leur structure et leurs caractéristiques.

Tableau 3 : Exemples de systèmes d'exploitation monolithiques

Système d'exploitation Description


Unix Un des plus anciens et influents systèmes
d'exploitation, avec un noyau intégrant
toutes les fonctionnalités essentielles telles
que la gestion des processus et des fichiers.
Linux Basé sur Unix, il utilise un noyau
monolithique pour une gestion efficace des
ressources. Extensible avec des modules,
mais le cœur reste monolithique.
Windows 95/98/ME Anciennes versions de Windows utilisant
une architecture monolithique où toutes les
fonctionnalités étaient gérées par un noyau
unique.
MS-DOS (Disk Operating System) Système d'exploitation dominé dans les
années 1980 et début des années 1990, avec
une architecture monolithique simple.
Mac OS Classic (avant Mac OS X) Versions antérieures à Mac OS X, basées sur
une architecture monolithique, intégrant les
services essentiels dans un noyau unique.

V. Comparaison entre les architectures monolithiques


et micro-noyau
Ce tableau permet de comparer de manière concise les caractéristiques, avantages et
inconvénients des architectures monolithiques et micro-noyaux, en mettant en évidence les
principaux points de distinction et les exemples représentatifs de chaque architecture.

7
Tableau 4 : Comparaison entre les architectures monolithiques et micro-noyau

Critère Architecture Monolithique Architecture Micro-noyau


Structure Noyau unique intégrant Noyau minimal avec
services utilisateurs séparés
toutes les fonctionnalités
Communication Directe entre les composants Communication inter-
processus entre le noyau et
du noyau
les services
Performances Performances élevées grâce Potentiellement réduites à
à la communication directe
cause des surcharges inter-
processus
Simplicité de conception Simplicité initiale de Développement et
conception
conception initiale plus
complexes
Sécurité écurité consolidée avec Sécurité accrue avec
moins de points d'entrée
isolation des services,
réduisant l'impact des bugs
Modularité Faible modularité, Modularité élevée, facilitant
modifications du noyau
les mises à jour et ajouts de
affectant l'ensemble du
système nouvelles fonctionnalités
Stabilité Risques de stabilité, un bug Bugs isolés dans les services
peut affecter tout le système
utilisateurs, meilleure
résistance aux pannes
Flexibilité Moins flexible, chaque Très flexible, composants
changement peut affecter le
individuels facilement
noyau entier
adaptables
Déploiement Facilité de déploiement Déploiement plus complexe,
initiale, tout le système est
nécessite une gestion
intégré
efficace des services séparés
Exemples de SE Unix, Linux, Windows MINIX, QNX, Mach
95/98/ME

8
Conclusion
En résumé, les architectures monolithiques des systèmes d'exploitation offrent des avantages
clés comme la simplicité de conception initiale, des performances optimisées grâce à une
gestion directe des ressources, et une sécurité renforcée par la centralisation des services
critiques. Ces caractéristiques en font une solution attrayante pour les applications où la
prévisibilité des opérations et la stabilité sont primordiales. Cependant, elles sont confrontées
à des défis significatifs, notamment une complexité accrue à mesure que le système évolue,
des difficultés de maintenance dues à la taille croissante du code, et des limitations en termes
de flexibilité lors des mises à jour et des déploiements.

Le choix d'une architecture monolithique doit être soigneusement évalué en fonction des
exigences spécifiques du projet, des objectifs de performance, de sécurité et de scalabilité,
ainsi que des capacités organisationnelles en matière de développement et de gestion des
systèmes. Avec l'émergence de solutions alternatives comme les architectures micro-noyau et
hybride, qui visent à répondre à ces défis tout en conservant certains avantages des systèmes
monolithiques, il devient crucial de considérer les compromis entre simplicité initiale et
gestion à long terme lors de la sélection d'une architecture de système d'exploitation.

9
Webographie
https://www.naukri.com/code360/library/monolithic-vs-layered-os (Consulté le 13/06/024 à
14h 15mn)

https://www.ionos.fr/digitalguide/serveur/know-how/quest-ce-quun-noyau-de-systeme-
dexploitation/#:~:text=Un%20noyau%2C%20%C3%A9galement%20connu%20sous,'un
%20syst%C3%A8me%20d'exploitation. (Consulté le 13/06/2024 à 15h 00mn)

https://www.gladir.com/CODER/CONCEPT/systeme-d-exploitation-noyau-monolithique.htm
(Consulté le 15/06/2024 à 10h 30mn)

10

Vous aimerez peut-être aussi