GESTIONS DE
RESSOURCES
MEMOIRES
La gestion de ressources mémoires, souvent appelée simplement
gestion de la mémoire en informatique, est un processus
fondamental d'un système d'exploitation.
Son rôle principal est de gérer et d'organiser l'allocation et la
désallocation des ressources mémoire de l'ordinateur, notamment
la mémoire vive (RAM), pour les différents programmes et
processus en cours d'exécution.
Voici les aspects clés de la gestion de la mémoire :
* Allocation et Désallocation : Elle attribue des blocs de mémoire aux programmes lorsqu'ils en ont besoin (allocation) et
les libère pour réutilisation lorsque les programmes ont terminé (désallocation).
* Optimisation : Elle vise à maximiser l'utilisation efficace de la mémoire, permettant à de nombreux programmes de
s'exécuter simultanément (multiprogrammation) et évitant le gaspillage de ressources.
* Protection : Elle garantit que les processus ne peuvent pas accéder ou modifier l'espace mémoire d'autres processus,
assurant la stabilité et la sécurité du système.
* Fragmentation : Elle gère le problème de la fragmentation (petits blocs de mémoire libre non contigus), souvent par des
techniques comme la pagination ou la segmentation, pour permettre l'allocation de blocs plus grands.
* Mémoire Virtuelle : C'est une technique avancée qui permet à un système d'utiliser l'espace de stockage secondaire
(disque dur ou SSD) comme une extension de la RAM. Le gestionnaire de mémoire gère le transfert de données entre la
RAM et le disque (appelé swapping ou pagination) pour donner l'illusion d'une mémoire plus grande que la mémoire
physique réelle.
En résumé, le gestionnaire de mémoire est un composant crucial qui s'assure que la mémoire, ressource limitée, est
partagée équitablement, efficacement et en toute sécurité entre tous les processus en cours.
SYSTEMES
D’EXPLOITATION
Un système d'exploitation (ou OS, de l'anglais Operating System) est un
ensemble de programmes essentiels qui agit comme un intermédiaire
entre le matériel physique (l'ordinateur, le smartphone, la tablette, etc.)
et les logiciels d'application que l'utilisateur souhaite exécuter.
Son rôle principal est de gérer les ressources matérielles (processeur,
mémoire, périphériques, etc.) et de fournir des services communs aux
logiciels, assurant ainsi un fonctionnement stable, sécurisé et efficace
de la machine.
Fonctions principales du Système d'Exploitation
Le système d'exploitation remplit plusieurs fonctions cruciales :
* Gestion des ressources : Il alloue les ressources matérielles (temps CPU,
mémoire RAM, espace disque) aux programmes qui en font la demande et les
libère lorsqu'ils n'en ont plus besoin.
* Gestion des processus : Il gère le lancement, l'exécution et l'arrêt des
programmes, en s'assurant que plusieurs applications peuvent s'exécuter
simultanément (multitâche) sans interférer les unes avec les autres.
* Gestion de la mémoire : Il organise la mémoire vive, utilise la mémoire virtuelle
si nécessaire, et protège l'espace mémoire de chaque programme.
* Gestion des fichiers : Il fournit un système de fichiers pour stocker, organiser
et récupérer les données sur les périphériques de stockage (disques durs, SSD).
* Gestion des périphériques : Il assure la communication entre le processeur et
les périphériques externes (imprimantes, claviers, souris, écrans) grâce à des
logiciels appelés pilotes (drivers).
* Interface utilisateur : Il offre une interface (graphique ou en ligne de
commande) permettant à l'utilisateur d'interagir avec l'ordinateur.
Différents types de Systèmes d'Exploitation
Différents types de Systèmes d'Exploitation
Les systèmes d'exploitation sont généralement classés selon l'environnement et l'objectif pour lesquels ils ont été
conçus.
1. Systèmes d'exploitation pour Ordinateurs de Bureau (Desktop OS)
Conçus pour les ordinateurs personnels, ils se caractérisent par une interface utilisateur graphique (GUI) conviviale et la
prise en charge de nombreuses applications.
• Exemples : Microsoft Windows (le plus répandu), macOS (Apple), GNU/Linux (comme Ubuntu, Fedora, ou Mint).
2. Systèmes d'exploitation Mobiles
Spécifiquement optimisés pour les appareils portables (smartphones et tablettes), ils privilégient la faible consommation
d'énergie, l'écran tactile et la connectivité.
• Exemples : Android (Google, basé sur Linux), iOS (Apple).
3. Systèmes d'exploitation pour Serveurs
Utilisés pour gérer les ressources réseau, héberger des sites web et des services, ils se concentrent sur la stabilité, la
sécurité, la performance, et les opérations réseau. Ils fonctionnent souvent sans interface graphique.
• Exemples : Windows Server, la majorité des distributions Linux (comme Red Hat Enterprise Linux, Ubuntu Server), Unix
(comme Solaris, BSD).
4. Systèmes d'exploitation Embarqués (Embedded OS)
Ce sont des systèmes légers et très spécialisés, intégrés dans des appareils avec des fonctions spécifiques (Internet des
Objets (IoT), dispositifs médicaux, systèmes de navigation automobile, appareils électroménagers).
• Caractéristiques : Petites tailles, faible latence, souvent orientés temps réel.
5. Systèmes d'exploitation en Temps Réel (Real-Time OS ou RTOS)
Conçus pour les applications où le temps de réponse est critique. Ils garantissent que les opérations s'exécuteront dans
un délai très précis, ce qui est essentiel pour les systèmes de contrôle industriel ou robotiques.
• Exemples : QNX, VxWorks, FreeRTOS.
6. Systèmes d'exploitation Distribués
Ils gèrent un groupe d'ordinateurs interconnectés, les faisant apparaître à l'utilisateur comme une seule machine
puissante.
• Objectif : Partager les ressources et la charge de travail entre plusieurs machines.
• Exemples : Amoeba, MOS.
LES MEMOIRES
Une mémoire informatique est un dispositif électronique
utilisé pour stocker des données et des instructions qui
peuvent être lues, conservées et restituées rapidement par le
processeur d'un ordinateur. C'est un composant essentiel de
tout système informatique.
Les mémoires sont généralement classées selon deux
critères principaux : la vitesse d'accès et la volatilité
(capacité à conserver les données sans alimentation
électrique).
Types de Mémoires par Volatilité (Hiérarchie)
Les mémoires s'organisent en une hiérarchie de vitesse et de coût, de la plus
rapide et coûteuse (proche du CPU) à la plus lente et abordable (pour le
stockage de masse).
1. La Mémoire Volatile (Mémoire Centrale ou de Travail) ⚡️
Ces mémoires perdent leur contenu dès que l'alimentation électrique est
coupée. Elles sont utilisées pour le travail temporaire et l'exécution des
programmes.
• Registres du Processeur : Ce sont les plus petites et les plus rapides,
intégrées directement dans le CPU. Elles stockent les données sur lesquelles le
processeur travaille instantanément.
• Mémoire Cache : Très rapide (SRAM), elle agit comme un tampon entre le
CPU et la RAM. Elle stocke les données et instructions les plus fréquemment
utilisées pour éviter au processeur d'attendre. Elle est divisée en plusieurs
niveaux (L1, L2, L3).
• Mémoire Vive (RAM - Random Access Memory) : C'est la mémoire de
travail principale de l'ordinateur. Elle stocke le système d'exploitation, les
logiciels et les données en cours d'utilisation pour permettre un accès rapide.
C'est le type de mémoire le plus courant.
2. La Mémoire Non Volatile (Mémoire de Stockage ou de Masse) 💾
Ces mémoires conservent leur contenu même lorsque l'ordinateur est éteint.
Elles sont utilisées pour le stockage permanent des fichiers et des
programmes.
• Mémoire Morte (ROM - Read Only Memory) : Elle contient des programmes
fondamentaux (comme le BIOS ou l'UEFI) nécessaires au démarrage de
l'ordinateur. Traditionnellement, on ne peut que la lire, d'où son nom.
• Mémoire Flash : Technologie non volatile, rapide et réinscriptible, utilisée
dans les SSD (Solid State Drive), les clés USB et les cartes mémoire. Elle est
devenue la technologie de stockage moderne la plus performante.
• Disque Dur (HDD - Hard Disk Drive) : Le stockage de masse historique, qui
utilise des plateaux magnétiques rotatifs. Il offre une très grande capacité à
faible coût, mais est plus lent que les SSD.
Le Cas Particulier : La Mémoire Virtuelle
La mémoire virtuelle n'est pas un composant physique, mais
un mécanisme géré par le système d'exploitation. Elle utilise
une partie de la mémoire de masse (par exemple, le disque
dur) pour simuler une plus grande quantité de RAM. Cela
permet aux applications qui ont besoin de beaucoup de
mémoire de fonctionner, même lorsque la RAM physique est
pleine, en transférant temporairement les données moins
utilisées vers le disque dur (processus appelé swapping).