Station MinuitPortail personnel de révision

IFT-2001 — Systèmes d’exploitationAutomne 2026

Semaine 1 — Introduction aux systèmes d’exploitation

4. Services et grands domaines de gestion

LECTURE 07 / 176 repèresSynthèse avec omissions acceptées

4. Services et grands domaines de gestion

4.1 Huit services essentiels

Le cours introduit huit familles de services.

  1. Exécution des programmes : charger le code et les données, préparer le contexte, lancer l'exécution, traiter la terminaison et récupérer les ressources.
  2. Entrées-sorties : offrir des opérations abstraites de lecture, d'écriture et de contrôle, puis les traduire vers le pilote approprié.
  3. Système de fichiers : créer, supprimer, ouvrir, fermer, lire, écrire, rechercher et renommer des fichiers ou répertoires; gérer attributs, propriétaires et permissions.
  4. Communications : permettre les échanges locaux ou réseau par mémoire partagée ou transfert de messages.
  5. Détection des erreurs : détecter les erreurs du processeur, de la mémoire, des périphériques ou des programmes et appliquer la réponse appropriée.
  6. Allocation des ressources : répartir CPU, mémoire, espace de stockage et périphériques entre les activités concurrentes.
  7. Comptabilité : mesurer la consommation des ressources pour l'administration, le diagnostic, la capacité ou la facturation.
  8. Protection et sécurité : empêcher les accès non autorisés et les interférences accidentelles ou malveillantes.

La protection concerne particulièrement les frontières internes entre processus, noyau, mémoire et ressources. La sécurité inclut aussi l'identification, l'authentification et la résistance aux attaques.

4.2 Processus et threads

Un programme stocké sur disque est passif. Lorsqu'il est chargé et exécuté, le système crée un processus contenant notamment :

  • le code et les données;
  • un espace d'adressage;
  • l'état du processeur, dont les registres et le compteur ordinal;
  • les fichiers et autres ressources ouverts;
  • des informations d'ordonnancement;
  • un état d'exécution.

Un thread est une unité d'exécution à l'intérieur d'un processus. Plusieurs threads peuvent partager les ressources de leur processus tout en possédant leur propre contexte d'exécution.

Le modèle simplifié distingue les états prêt, actif, bloqué et terminé. Un processus attendant une entrée-sortie n'a généralement pas besoin du CPU. Le système peut le bloquer, exécuter une autre activité, puis le réveiller lorsque l'événement attendu se produit.

4.3 Mémoire

Le système suit les zones libres et occupées, attribue de la mémoire, récupère les zones libérées et protège les allocations. Il collabore avec le matériel pour traduire les adresses virtuelles et appliquer les droits d'accès.

La pagination permet de diviser les espaces d'adressage et la mémoire physique en unités gérables. Le système peut conserver en RAM les pages nécessaires et laisser d'autres données sur un stockage secondaire. Le programmeur n'a pas à organiser manuellement chaque déplacement.

4.4 Fichiers et stockage

Les fichiers donnent une représentation persistante aux données. La gestion des fichiers couvre les noms, répertoires, attributs, permissions, blocs sur disque, espace libre, cohérence et performances. Comme pour la mémoire, il faut allouer, localiser, protéger, partager et récupérer de l'espace.

4.5 Entrées-sorties

Un périphérique peut exiger des séquences très spécialisées : configurer un contrôleur, déplacer une tête de lecture, démarrer un moteur ou gérer un tampon. Le SE et les pilotes masquent ces détails derrière des opérations uniformes.

Plusieurs demandes pouvant viser le même périphérique, le système doit les mettre en attente, choisir leur ordre et coordonner les transferts.

Retour au sommaire de l’unitéHaut de page
Récupérer manuellement les données locales

Copier séparément les données ci-dessous dans des fichiers texte avant de fermer la page ou de modifier le stockage. Une valeur illisible ou incompatible reste en place. Aucun effacement ni rétablissement écrasant n’est effectué automatiquement. L’export/import JSON est disponible sur la page Progression du cours. Cette récupération séparée reste utile pour une valeur brute ou un conflit.

Clé de ce cours : . Format v1 porté par cette clé; dates UTC et identifiants durables.

Si l’accès est refusé, la valeur persistée peut rester inaccessible. Réautoriser le stockage dans le navigateur puis rouvrir ce cours permet de la relire. Une réinitialisation exige une décision explicite après récupération; aucune commande de suppression n’est proposée ici. Les données restent sur cette origine et cet appareil, sans transfert automatique.