Najah.
Mon plan de révision⚡ Défi flash

Informatique · Écoles d'ingénieurs — ENSIAS

Systèmes d'exploitation

Le cours expliqué simplement, les questions que tous les élèves se posent et des exercices type examen national. Programme marocain, gratuit.

📘 Fiche de cours

L'essentiel du cours

Un système d'exploitation (OS) est l'interface entre le matériel et l'utilisateur. Ses fonctions principales sont :

  • Gestion des processus : Création, terminaison et ordonnancement ($FIFO$, $Round Robin$, $SJF$).
  • Gestion de la mémoire : Allocation, pagination et segmentation.
  • Gestion des entrées/sorties et des fichiers.
  • Synchronisation : Utilisation des sémaphores pour éviter les conditions de concurrence.

Méthodes à maîtriser

  • Calculer le temps moyen d'attente pour un algorithme d'ordonnancement donné.
  • Détecter un interblocage via le graphe d'allocation des ressources.
  • Calculer l'adresse physique à partir d'une adresse logique (Pagination : $Adresse = (NuméroPage \times TaillePage) + Déplacement$).

Exemples corrigés

Exemple : Soit 3 processus $P_1, P_2, P_3$ arrivant à $t=0$ avec des durées $5, 3, 8$. En $FIFO$, le temps d'attente moyen est : $(0 + 5 + 8) / 3 = 4,33$ unités de temps.

Erreurs fréquentes

  • Confondre processus (indépendant) et thread (partage la mémoire).
  • Oublier que le "Context Switch" consomme du temps CPU.
  • Penser que la mémoire virtuelle est une mémoire physique (c'est une abstraction).

🌉 Jisr : les mots du chapitre FR ⇄ AR

Tu as appris les sciences en arabe ? Touche un mot pour voir sa traduction et une explication en darija.

La question que tu n'oses pas poser en classe ? Pose-la à UstadZéro jugement, même en darija, même à minuit. Il t'explique pas à pas et corrige ta démarche. Gratuit.

Défi flash : 4 questions

Sans compte

🎯 Systèmes d'exploitation

1/4

Quel algorithme d'ordonnancement est idéal pour les systèmes interactifs ?

❓ Questions fréquentes

Chno hiya l'far9 bin Processus w Thread ?
  1. Le processus est un programme en exécution avec son propre espace mémoire.
  2. Le thread est une unité d'exécution à l'intérieur d'un processus.
  3. Les threads d'un même processus partagent la même mémoire, ce qui les rend plus légers mais plus risqués pour la synchronisation.

💡 À retenir : Processus = isolation, Thread = partage.

Kifach n7seb l'adresse physique f la pagination ?
  1. Identifie le numéro de page à partir de l'adresse logique.
  2. Cherche le numéro de cadre (frame) correspondant dans la table des pages.
  3. Multiplie le numéro de cadre par la taille de la page.
  4. Ajoute le déplacement (offset) de l'adresse logique.

💡 À retenir : $AdressePhysique = (Cadre \times TaillePage) + Offset$.

Wach l'OS howa l'BIOS ?

Non, le BIOS est un micro-programme stocké sur la carte mère pour initialiser le matériel. L'OS est chargé après le BIOS pour gérer les ressources logicielles et matérielles.

💡 À retenir : BIOS = Démarrage, OS = Gestion.

Qu'est-ce qu'un sémaphore ?

C'est une variable entière utilisée pour contrôler l'accès aux ressources partagées par plusieurs processus afin d'éviter les conflits.

💡 À retenir : Sémaphore = Verrouillage.

Qu'est-ce que le "Thrashing" ?

C'est un état où le système passe plus de temps à échanger des pages entre la RAM et le disque qu'à exécuter des instructions.

💡 À retenir : Thrashing = Surcharge mémoire.

Pourquoi le Round Robin est-il utilisé ?

Pour garantir l'équité entre les processus en leur donnant un "quantum" de temps fixe chacun.

💡 À retenir : Round Robin = Équité.

Qu'est-ce qu'un interblocage (Deadlock) ?

C'est une situation où deux processus ou plus attendent indéfiniment une ressource détenue par l'autre.

💡 À retenir : Deadlock = Blocage mutuel.

C'est quoi l'ordonnancement SJF ?

Shortest Job First : on choisit le processus avec le temps d'exécution le plus court.

💡 À retenir : SJF = Priorité aux courts.

Comment l'OS gère-t-il la mémoire virtuelle ?

En utilisant une table des pages pour mapper les adresses virtuelles vers les adresses physiques réelles.

💡 À retenir : Mémoire virtuelle = Abstraction.

Quelle est la différence entre mode noyau et mode utilisateur ?

Le mode noyau a accès à toutes les instructions matérielles, tandis que le mode utilisateur est restreint pour protéger le système.

💡 À retenir : Mode noyau = Privilèges.

C'est quoi un appel système ?

C'est une demande faite par un programme utilisateur au noyau pour effectuer une tâche privilégiée (ex: lire un fichier).

💡 À retenir : Appel système = Pont vers le noyau.

Pourquoi utiliser la segmentation ?

Pour diviser la mémoire selon la logique du programme (code, données, pile) plutôt qu'en blocs fixes.

💡 À retenir : Segmentation = Logique.

✍️ Exercices type examen national

Exercice 1

Soit un système avec une mémoire paginée. Taille de page = 4 Ko. Adresse logique = 12345 (décimal). Calculer le numéro de page et le déplacement.

Voir la correction détaillée : inscription gratuite

Exercice 2

Trois processus $P_1(8ms), P_2(4ms), P_3(2ms)$ arrivent en même temps. Ordonnancement SJF. Calculer le temps d'attente moyen.

Voir la correction détaillée : inscription gratuite

Exercice 3

Expliquer les 4 conditions nécessaires à l'apparition d'un interblocage (Coffman).

Voir la correction détaillée : inscription gratuite

Un prof de Informatique pour aller plus loin

Les cours du soir avec des profs vérifiés arrivent : inscris-toi pour être prévenu(e) en premier.

Être prévenu(e) gratuitement

Autres chapitres de Informatique