Programmation des systèmes

Table of Contents

1. Introduction

1.1. Processus

Un processus est un programme en exécution, et un processus peut être composé de plusieurs threads. Deux processus ont des espaces mémoires différents (ils sont isolés, c'est une garantie du système d'exploitation), alors que les threads ont une mémoire partagée.

1.2. Système d'exploitation

1.2.1. Définition

Un système d'exploitation est un programme qui réalise:

  • La gestion des fichiers
  • La gestions de la mémoire
  • La gestion des périphériques d'entrés/sorties
  • La gestion du matériel

Le système d'exploitation se situe entre les processus et le matériel, et il fournit une API pour intéragir avec le matériel. L'OS est une abstraction

1.2.2. Multiprogrammation

Les OS permettent également d'exécuter plusieurs processus en même temps. On peut lancer un nombre indéfini de processus sur la machine, grâce à l'algorithme d'ordonnancement, comme par exemple le "chacun son tour".

Le niveau de parallélisme est le nombre de processeurs disponibles sur la machine, et le niveau de concurrence est le nombre de processus qui sont actifs.

1.2.3. Modes

L'OS permet au processeur de changer de mode : le mode superviseur (tous les droits) et le mode utilisateur (droits limités sur la mémoire). L'OS expose des appels systèmes pour changer de mode (c'est la fameuse API fournie par l'OS).

1.2.4. Opération atomique

Une opération atomique est une opération indivisible, qui ne peut pas être interrompue avant la fin de son exécution. Cela est très utile pour les processus concurrents : si deux processus veulent écrire dans un fichier, il faut que l'un termine l'écriture avant que l'autre puisse commencer (sinon corruption de mémoire, réécriture des données de `p1` par `p2`). Chaque appel système est atomique.

Tous les syscalls retournent un entier : `0` si aucun soucis, un nombre négatif s'il y a un problème.

2. Les fichiers

Le système de fichier est organisé en arborescence. Un descripteur de fichier est un entier non négatif qui identifie un fichier ouvert par un processus.

Author: romann

Created: 2026-09-03 jeu. 00:56

Validate