Théories des Systèmes d’Exploitation (TSE) - 1INF1321 Intro-1 PDF

Summary

Ce document présente une introduction aux Théories des Systèmes d’Exploitation (TSE). Le contenu détaille la définition, l'historique et les différents types de systèmes d'exploitation. Il mentionne également les points importants à maîtriser avant le cours, tels que la composition d'un ordinateur, l'utilisation de Windows/Linux et des commandes de base.

Full Transcript

Théories des Systèmes d’Exploitation (TSE) SOMMAIRE 1. Introduction (séance 1)............................................................................................................................. 3 2. Définition et rôle des OS (séance 1)...................................................

Théories des Systèmes d’Exploitation (TSE) SOMMAIRE 1. Introduction (séance 1)............................................................................................................................. 3 2. Définition et rôle des OS (séance 1).......................................................................................................... 4 3. Historique (séances 1, 2)........................................................................................................................... 5 4. Typologie (séances 3)................................................................................................................................ 6 5. Fonctions et Structures (séance 4)............................................................................................................ 6 6. Notion d'Entrées/Sorties et interruption (séance 5)................................................................................. 6 7. Notion de processus (séance 5)................................................................................................................ 7 8. Gestion de la mémoire (séances 6, 7)....................................................................................................... 7 9. Gestion des fichiers (séances 8, 9)............................................................................................................ 7 10. Gestion des processus (Séances 10 et 11)............................................................................................ 7 1. Introduction (séance 1) Un système d'exploitation est une partie indispensable de presque tout système informatique. Aujourd’hui, les systèmes informatiques sont partout, depuis les voitures, les appareils de contrôle industriels, en passant par les appareils électroménagers (Internet of Things : IoT) jusqu’aux téléphones portables, PC, bateaux, spacecraft, le cloud informatique, etc. Ces derniers ne sont opérationnels que via les OS. Les OS sont également à la base des machines de jeux. Au début de l’informatique, il y avait des machines très peu puissantes avec lesquelles on cherchait à faire des applications comparables à celles d’aujourd’hui (mémoire typique : 100-500 Ko !). Ces machines devaient parfois desservir des dizaines d’usagers ! Alors, la théorie des SE (TSE) a été mise en place pour combler le besoin de développer des principes pour optimiser l’utilisation d’un ordinateur, principes qui sont encore utilisés. Et ces premières machines ont évolué rapidement vers des gros systèmes à multifonction et vers des machines à usage général. Les systèmes d’exploitation ont évolué au fil des ans. Dans la mesure où leur évolution a été historiquement très liée à l’architecture des ordinateurs sur lesquels ils étaient implémentés, une description des générations successives d’ordinateurs permettrait de découvrir d’une part ce à quoi ressemblait leur système d’exploitation et d’autre part la complexité et l’énormité des OS modernes. Les points suivants sont abordés dans le déroulement de cette UE : - Position, Définition et rôle des OS (séance 1) - Historique (séances 1, 2) - Typologie (séances 3) - Fonctions et Structures (séance 4) - Notion d'Entrées/Sorties et interruption (séance 5) - Notion de processus (séance 5) - Gestion de la mémoire (séances 6, 7) - Gestion des fichiers (séances 8, 9) - Gestion des processus (séances 10, 11) Comme pré requis, une familiarité avec les sujets suivants serait un atout : 1) Composition d'un ordinateur [cf. cours ATO] 2) Utilisation de Windows/Linux et de commandes systèmes (MS-DOS et Shell [cf. cours de progiciel] 3) Notions de logiciel, de programme, de fichier … [cf. cours de progiciel] 4) Notion de programmation [algorithme, compilation, linkage, tableaux, piles, files, listes arbres] WHY STUDY OPERATING SYSTEMS ? Although there are many practitioners of computer science, only a small percentage of them will be involved in the creation or modification of an operating system. Why, then, study operating systems and how they work ? Simply because, as almost all code runs on top of an operating system, knowledge of how operating systems work is crucial to proper, efficient, effective, and secure programming. Understanding the fundamentals of operating systems, how they drive computer hardware, and what they provide to applications is not only essential to those who program them but also highly useful to those who write programs on them and use them. 2. Définition et rôle des OS (séance 1) Un système informatique peut être décrit approximativement en quatre composants selon la figure suivante : (Abraham Silberschatz, p. 4) 1) le matériel [processeur + mémoire + périphériques d’Entrée-Sortie] 2) le système d'exploitation [gouverneur de tout le système informatique] 3) les applications [assembleur + compilateur + SGBD + éditeur de texte + jeu + etc.] 4) les utilisateurs [hommes + autres ordinateurs] La figure ci-dessus montre également la position de l’OS dans un système informatique. L'existence et la nécessité des systèmes d'exploitation est de fournir un environnement dans lequel un utilisateur va effectuer une tâche avec le matériel, en exécutant des programmes. Pour ce faire, le système d'exploitation fournit certains services aux ressources physiques (matériel) et d'autres services aux utilisateurs (hommes et applications) de manière à rendre leurs interactions faciles. Ainsi, le système d'exploitation a pour rôle de permettre et de gérer au mieux l'utilisation des ressources matérielles dont les applications vont disposer (CPU, RAM, I/O, …) tout en facilitant la tâche de l'utilisateur. L'utilisateur voit en fait une machine virtuelle plus facile à utiliser et plus standardisée que la machine réelle. Cette machine virtuelle décharge l'utilisateur de la connaissance des caractéristiques exactes du matériel sur lequel ses applications fonctionnent, par exemple les adresses physiques des ports d'entrée-sortie, des fichiers en mémoire vive ou les caractéristiques des mémoires secondaires. La nature de la machine virtuelle est et peut être très diverse en fonction des services qu'elle fournit. C'est l'ensemble des services fournis en complément du matériel qui constitue le système d'exploitation. La diversité et la spécificité de ces services (pourquoi ?) donnent naissance à différents types de systèmes d'exploitation. Mais les systèmes d'exploitation sont tous basés sur des principes communs dont nous allons essayer de démasquer les concepts et techniques. Bien entendu, notre référence est la microinformatique et principalement les IBM PC et compatibles, qui ont bénéficié à tous égards des concepts et techniques de leurs prédécesseurs et de leurs concurrents (cf. Historique). La complexité évidente du matériel implique la réalisation d'une machine virtuelle qui gère le matériel : c'est le système d'exploitation. Eu égard à tout ce qui précède, un système d'exploitation peut être défini comme un logiciel qui œuvre comme un intermédiaire intelligible entre un utilisateur et les ressources physiques d'un système informatique ; c'est "l'allocateur" des ressources dans un système informatique. Ainsi donc, le premier but d'un système d'exploitation est d'offrir la commodité du système à l'utilisateur et le second but est d'assumer l'efficience du système. 3. Historique (séances 1, 2) Les systèmes d'exploitation modernes sont en général très complexes. Il est certain que cet état de fait est le fruit d'une évolution qui s'est étalée sur plusieurs décennies. Une remarque générale que l'on peut faire d'emblée est que les évolutions du matériel et du logiciel ont été parallèles. En effet, un état donné du matériel permettait d'implanter certains concepts dans les systèmes. Pour mettre en œuvre d'autres concepts, plus évolués, il devenait nécessaire de modifier le matériel, ce nouvel état du matériel permettant alors de poursuivre l'évolution du système (cf. correspondance PC et DOS- WINDOWS). La figure ci-après (Abraham, Annexe A.1, p. 1044) présente un résumé synoptique des évolutions du matériel et du logiciel de base. 4. Typologie (séances 3) 5. Fonctions et Structures (séance 4) 6. Notion d'Entrées/Sorties et interruption (séance 5) 7. Notion de processus (séance 5) 8. Gestion de la mémoire (séances 6, 7) 9. Gestion des fichiers (séances 8, 9) 10. Gestion des processus (Séances 10 et 11)

Use Quizgecko on...
Browser
Browser