Support de Cours SE2 2024/2025 (PDF)
Document Details
Uploaded by PalatialMulberryTree7717
University Ferhat Abbas
2024
Tags
Related
- Module 187: Mettre en service un poste de travail ICT avec le système d’exploitation PDF
- Les Hyperviseurs PDF
- Cours sur la Gestion de la Mémoire M104
- Théories des Systèmes d’Exploitation (TSE) - 1INF1321 Intro-1 PDF
- Résumé Théorique M104 2022 - Systèmes d'Exploitation (SE)
- Introduction aux Systèmes d'Exploitation PDF
Summary
Ce document est un support de cours sur les systèmes d'exploitation. Le document décrit les objectifs, l'intérêt d'étudier les systèmes d'exploitation, le contenu du cours, incluant des chapitres sur la concurrence, la synchronisation entre processus et la communication entre processus. L'étude de cas pratique UNIX est également mentionnée.
Full Transcript
SUPPORT DE COURS SE2 2024/2025 Objectif du cours Ce cours a pour objectif d’étudier les dé s liés à la concurrence dans les systèmes d’exploitation. Il porte sur les outils de synchronisation qui contrôlent l’accès aux donn...
SUPPORT DE COURS SE2 2024/2025 Objectif du cours Ce cours a pour objectif d’étudier les dé s liés à la concurrence dans les systèmes d’exploitation. Il porte sur les outils de synchronisation qui contrôlent l’accès aux données partagées entre plusieurs processus dans un environnement centralisé. Intérêt d’étudier les systèmes d’exploitation Aujourd’hui, avec les évolutions technologiques et les nouvelles tendances dans le domaine de l’informatique, telles que l'intelligence arti cielle et l’apprentissage automatique, les big data et la réalité virtuelle, l'idée d'étudier les systèmes d'exploitation peut sembler dérisoire. Pourtant, même avec ces avancées signi catives, les systèmes d'exploitation demeurent un pilier essentiel de l'informatique moderne. Ils constituent la base sur laquelle reposent nos appareils électroniques, nos smartphones, nos ordinateurs personnels et d'autres technologies avancées. Sans les systèmes d’exploitation, l’utilisation de ces appareils serait extrêmement limitée, voire impossible dans de nombreux cas. Les systèmes d'exploitation sont essentiels pour gérer les ressources, fournir des interfaces utilisateur, exécuter les applications et garantir la sécurité et la stabilité des appareils électroniques. Sans les systèmes d’exploitation, ces derniers seront, probablement, principalement dédié aux professionnels ayant des besoins spéci ques. Comprendre les bases des systèmes d'exploitation est essentiel pour saisir leur rôle dans les appareils électroniques. Cela aide à comprendre comment les nouvelles technologies interagissent avec le matériel et les applications. Contenu du cours Rappel des notions de base. Chapitre 1. Concurrence et Parallélisme. Chapitre 2. Synchronisation entre processus. Chapitre 3. Communication entre processus. Chapitre 4. Interblocage. Etude de cas pratique: UNIX. PAGE 2  fi fi fi fi SUPPORT DE COURS SE2 2024/2025 Rappel des notions de base Les systèmes d'exploitation sont omniprésents dans la vie quotidienne, que ce soit dans les voitures, les appareils ménagers ou les smartphones. En outre, ils jouent un rôle fondamental dans le domaine des ordinateurs personnels en garantissant une interaction harmonieuse avec le matériel. Dans le contexte professionnel, ils sont au cœur des serveurs et des systèmes de gestion, assurant une sécurité et une stabilité indispensables pour les activités commerciales. 1. Dé nition d’un Système d’Exploitation Un système d’exploitation est un logiciel fondamental qui fait fonctionner l’ordinateur. Il contrôle toutes les ressources de l’ordinateur et o re à l’utilisateur une interface simpli ée pour les utiliser. Le système d’exploitation est destiné à faciliter l’utilisation de ordinateur en o rant à l’utilisateur un ensemble de services qui le décharge des détails complexes liés à l’accès au matériel. 2. Notion de ressource Une ressource désigne toute entité dont a besoin un programme pour s’exécuter (processus). Elle peut être matérielle (processeur, mémoire…) ou logicielle (variable, chier…). Une ressource est caractérisée par un état (libre ou occupée) et un nombre de points d’accès (nombre de processus pouvant l’utiliser en même temps). L’utilisation d’une ressource par un processus se déroule en trois étapes: l’allocation, l’utilisation et la restitution de la ressource. - Allocation: Consiste à véri er si la ressource est disponible, conformément au nombre de points d’accès. Si tous les points d’accès sont occupés, le processus doit attendre. - Utilisation de la ressource. - Restitution: Consiste à rendre la ressource à la n de son utilisation. Cette étape peut entrainer le déblocage d’un processus en attente (bloqué à l’étape d’allocation). PAGE 3  fi fi fi fi ff fi ff SUPPORT DE COURS SE2 2024/2025 3. Concept de Processus 3.1 Dé nition Un processus est une instance d'un programme en cours d’exécution. C’est le concept le plus important de tout système d’exploitation; Il permet à ce dernier d'e ectuer des opérations simultanées même avec un seul processeur. Sans ce concept, l'informatique moderne n’existerait probablement pas. La gestion des processus est une tâche fondamentale pour tout système d'exploitation. Ce dernier o re de nombreuses fonctionnalités pour accomplir cette tâche, telles que la création, la terminaison, l'ordonnancement, l'attribution des ressources, ainsi que la gestion des priorités et de la sécurité. Ces fonctionnalités sont accessibles aux programmes utilisateurs via des appels système. 3.2. Etat L’état d’un processus décrit l’activité courante du processus à un moment donné au cours de son exécution. Un processus peut se trouver dans l'un des états suivants: - Nouveau : Le processus est en cours de création. - Prêt : Le processus dispose de toutes les resources dont il a besoin et attend d'être a ecté au processeur. - En cours d’exécution (actif) : Les instructions sont en cours d’exécution (le processus est a ecté au processeur). - En attente (bloqué) : Le processus attend qu’une ressource soit disponible ou qu'un événement se produise ( n d'une E/S, allocation de mémoire…). - Terminé : Le processus a terminé son exécution. Lorsqu'un processus s'exécute, il change d’état (cf. Figure B). PAGE 4 ff  ff fi ff ff fi SUPPORT DE COURS SE2 2024/2025 Nouveau Admis Sorti Terminé Élu En Prêt exécution Interrompu Débloqué En Bloqué attente Figure B. Transitions possibles entre les états d’un processus. Le système d'exploitation gèrent les transitions entre ces di érents états en fonction de l'activité du processus et des événements qui se produisent, tels que les demandes d'entrée/sortie ou l'expiration du quantum. 3.3 Contexte Le contexte d’un processus fait référence à l'ensemble des informations nécessaires décrivant l'état courant du processus en cours d'exécution. Ces informations sont essentielles pour que le système d'exploitation puisse suspendre et reprendre l'exécution d'un processus (commutation de contexte). Ces informations, gérées par le système d’exploitation, sont enregistrées en mémoire centrale, dans la table des processus (Process Control Block). Bien que les informations contenues dans le PBC varient en fonction de l'architecture matérielle de l'ordinateur, les principales incluent: - Identi cateur de processus (PID): Numéro unique attribué à chaque processus pour l’identi er. - Etat du processus: Etat actuel du processus. - Registres : Compteur ordinal et Registres CPU (registres généraux, le pointeur d’instruction, les registres d’index…). - Informations sur l'ordonnancement: Données utilisées par l’ordonnanceur pour gérer la priorité du processus, le temps CPU consommé, et les autres détails nécessaires pour plani er les processus. - Informations sur la gestion de la mémoire: Décrit la gestion de l’espace mémoire du processus. - informations de comptage : Des données sur l’utilisation des ressources comme le temps processeur consommé, le nombre de cycles des E/S… PAGE 5  fi fi fi ff SUPPORT DE COURS SE2 2024/2025 - Informations sur l'état des E/S: comme la liste des périphériques d'E/S alloués au processus et des chiers ouverts. 3.4. Image mémoire (Espace dʼadressage) L’image mémoire d’un processus (Memory Map) est l’espace mémoire alloué au processus. Elle représente l'ensemble des objects qui peuvent permettre l’exécution d’un processus. Elle est généralement divisée en 4 zones mémoires (cf. Figure A): la section texte (code), la section données, la pile (stack) et le tas (heap). Adresse haute: max PILE TAS DONNÉES CODE Adresse basse: 0 Figure A. Image mémoire d’un processus. - CODE: Contient le code exécutable du programme. Cette zone est partagée entre plusieurs instances du même programme. - DONNÉES: Contient les données allouées par le processus (variables globales et statiques). - TAS: Espace mémoire allouée dynamiquement pendant l'exécution du programme. - PILE : Contient des données temporaires. Elle est utilisée principalement pour stocker les variables locales et gérer les appels de fonctions. Les tailles sections Code et Données sont xes et ne changent pas pendant l'exécution du programme. A l’inverse, les zones Pile et Tas sont dynamiques. Leurs tailles peuvent diminuer et augmenter pendant l'exécution du programme. 4. Concept de Thread Un thread (processus léger) est une séquence d’instructions (chemin d’exécution) à l'intérieur d'un processus. Contrairement aux processus qui sont complémentent isolés les uns des autres (contextes di érents), les threads d'un PAGE 6  fi fi ff SUPPORT DE COURS SE2 2024/2025 même processus partagent le même contexte, ce qui leur permet de communiquer et de collaborer plus facilement (cf. Figure C). PROCESSUS 1 PROCESSUS 2 DONNÉES DONNÉES RESSOURCES RESSOURCES C C O TAS O TAS D D E E REGISTRES REGISTRES PILE PILE PROCESSUS Thread 1 DONNÉES REGISTRES C PILE O RESSOURCES D Thread 2 E REGISTRES TAS PILE Figure C. Thread vs Processus. Les threads peuvent être utilisés pour accomplir di érentes tâches en parallèle, ce qui peut améliorer l'e cacité et la réactivité d'une application. PAGE 7    ffi ff