Skip to main content

Partie 2 : Composants Principaux d'un Système d'Exploitation

1. Noyau

Le noyau (ou kernel) est le cœur d’un système d’exploitation. Il s'agit du composant principal qui gère directement les interactions entre le matériel et les logiciels. Le noyau est responsable de la gestion des ressources de l’ordinateur, comme le processeur, la mémoire, et les périphériques d’entrée/sortie (I/O), et il permet aux applications d'accéder à ces ressources sans entrer directement en contact avec le matériel. En d'autres termes, le noyau agit comme une couche d'abstraction entre les applications et le matériel, garantissant que chaque programme utilise les ressources de manière efficace et sûre.

Il existe plusieurs types de noyaux, tels que les noyaux monolithiques, où toutes les fonctions du noyau sont regroupées dans un seul espace, et les noyaux microkernel, où les fonctions sont séparées en modules pour une plus grande flexibilité. Linux, par exemple, utilise un noyau monolithique, tandis que des systèmes comme Minix ou certaines versions d'Unix privilégient les microkernels. Le choix du type de noyau peut avoir un impact direct sur la performance, la sécurité et la stabilité d'un système d'exploitation.

OS-structure.svg.png

Wooptoo, Public domain, via Wikimedia Commons 

2. Interfaces

Le CLI (Command Line Interface) et le GUI (Graphical User Interface) sont deux types d’interfaces que les systèmes d'exploitation offrent pour interagir avec l’utilisateur.

Le CLI permet aux utilisateurs de communiquer avec le système en tapant des commandes textuelles dans un terminal. Ce type d’interface est souvent utilisé par des administrateurs système ou des développeurs car il permet une plus grande flexibilité et un contrôle plus précis des tâches, bien qu'il puisse sembler moins intuitif pour des utilisateurs novices. Des systèmes comme Unix et Linux offrent principalement des CLI puissants comme Bash ou Zsh.

En revanche, le GUI est une interface graphique qui permet aux utilisateurs de contrôler le système via des éléments visuels comme des fenêtres, des icônes, des menus et des boutons. Les GUIs sont plus accessibles aux utilisateurs grand public car ils sont plus simples et intuitifs, rendant les interactions avec le système d'exploitation plus faciles. Des exemples d’interfaces GUI sont celles de Windows ou de macOS, où l'utilisateur peut exécuter des programmes et accéder aux fichiers en quelques clics sans avoir à saisir de commandes. La plupart des systèmes d'exploitation modernes proposent à la fois un CLI et un GUI, permettant aux utilisateurs de choisir l’interface la plus adaptée à leurs besoins.

Capture d'écran d'un Bash sous GentooBash_screenshot.png

Emx, GPL, interface CLI Batch sous Linux Gentoo via Wikimedia Commons

Bureau de macOS Monterey

Bureau macOS Monterey
via Techterms

Interface du bureau de Windows 11

Bureau de Windows 11
via Le Blog du Modérateur

3. Gestion des ressources

La gestion des ressources est une fonction essentielle d’un système d’exploitation. Le rôle principal de l’OS est de s'assurer que les ressources matérielles de l'ordinateur, comme le processeur (CPU), la mémoire et les périphériques d’entrée/sortie (I/O), sont allouées de manière efficace. Le système d'exploitation doit attribuer du temps processeur à chaque application active, gérer la mémoire vive (RAM) pour éviter que les programmes ne se chevauchent, et coordonner les accès aux périphériques comme les disques durs ou les imprimantes.

La gestion du processeur (CPU) implique de s'assurer que chaque programme obtient suffisamment de temps de calcul pour fonctionner correctement. Le noyau planifie les processus à exécuter et utilise des techniques comme le multitâche pour permettre à plusieurs applications de fonctionner simultanément sans ralentir l'ordinateur. La gestion de la mémoireconsiste à suivre l'utilisation de la RAM et à attribuer des segments de mémoire à chaque programme, tout en évitant que deux applications utilisent la même portion de mémoire, ce qui pourrait entraîner des erreurs ou des plantages. Enfin, la gestion des périphériques I/O permet au système d'interagir avec les différents périphériques, que ce soit pour lire un fichier sur un disque dur ou envoyer une impression à une imprimante.

4. Systèmes de fichiers

Le système de fichiers est une autre composante fondamentale d'un système d'exploitation. Il permet d'organiser et de stocker les données sur des supports de stockage comme les disques durs ou les SSD, sous forme de fichiers et de dossiers. Chaque système d'exploitation utilise un ou plusieurs systèmes de fichiers pour structurer et gérer les données. Par exemple, Windows utilise le système de fichiers NTFS, tandis que Linux utilise souvent des systèmes comme ext4, et macOS utilise APFS.

Le système de fichiers joue un rôle crucial en assurant que les données sont accessibles rapidement et de manière sécurisée. Il permet aussi de définir des permissions d'accès, garantissant que seuls certains utilisateurs ou applications peuvent lire, modifier ou exécuter des fichiers. De plus, le système de fichiers gère l'intégrité des données en évitant la fragmentation et en récupérant les erreurs éventuelles. En d’autres termes, sans système de fichiers, il serait impossible de stocker, organiser ou récupérer des données efficacement sur un appareil.

5. Schéma global

Les relations entre utilisateur, applications, système d'exploitation et matériel

Juju2004, CC BY-SA 3.0, via Wikimedia Commons