Les théories des Systèmes d'Exploitation

Telechargé par Augustin Folly AFARAM
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 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.
1 / 7 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !