Historique des systèmes d'exploitation
Nous pouvons envisager l'évolution des systèmes d'exploitation sous deux aspects :
Evolution du point de vue du processus
Batch processing
- Système mono utilisateur
- Séquence d'instructions (jobs) qui ne peut être arrêtée une fois démarrée.
- Les jobs sont traités à la manière d'une queue (FIFO -> First in First out).
Processus interactif
Possibilités de modification d'un programme en cours d'exécution.
Time-Sharing
Un système transactionnel est capable de gérer un vaste ensemble d'informations structurées en base de données.
Un grand nombre de points d'accès, terminaux ou micro-ordinateurs ont accès simultanément à la consultation, et à la modification des données.
L'exécution d'un ordre ou transaction doit préserver la cohérence de la base, ce qui entraine d'énormes contraintes d'intégrité pour gérer les accès simultanés.
Dans le cas d'un time-sharing, le temps du processeur est partagé entre les différentes applications.
Les systèmes multi-utilisateurs permettent à plusieurs utilisateurs d'utiliser simultanément sur une même machine des applications différentes ou bien similaires.
Un programme gestionnaire (dispatcher) partage le temps disponible entre les différents utilisateurs.
Nous devons savoir que 90% du temps passé face à un terminal est alloué aux réflexion indispensable entre les différentes interventions, ce qui nous laisse seulement 10% d'utilisateurs réellement actifs en même temps.
Le travail du dispatcher serait l'allocation des tranches de temps de 50 ms à chacun, notre temps d'attente moyen serait de 0,5s environ pour ces dix utilisateurs actifs sur la centaine d'utilisateurs connectés sur le système.
La notion de système multitàche dépend aussi de ce partage du temps du processeur entre les différentes applications, rotation tellement rapide entre les processus que nous avons l'impression que les différentes applications sont exécutées en même temps (car le processeur ne peut en réalité exécuter qu'une et une seule instruction à la fois).
Dans un système multitàche coopératif, le temps est réparti de manière identique entre les différents processus.
Un système multitàche préemptif attribue les tranches de temps du processeur selon un système de priorités des processus.
Evolution du point de vue de l'organisation
Systèmes monolithiques
Dans le cas d'un système d'exploitation monolithique, nous sommes face à un seul programme divisé en une multitude de procédures. Tout est visible, et il est impossible par exemple de cacher à l'utilisateur les procédures dont il n'a pas besoin.
Le système est organisé autour d'une table qui contient des pointeurs vers les différentes procédures. N'importe qui ou n'importe quelle procédure peut faire appel à une procédure.
Nous pouvons quand-même rencontrer une légère structure, divisant les programmes de la mémoire principale (main memory) en deux grandes catégories :
- Les programmes exécutés en mode kernel (kernel mode programs), qui peuvent accéder à l'ensemble des procédures.
- Les programmes exécutés en mode utilisateur (user mode programs), qui ne peuvent accéder aux services de l'OS qu'au travers d'appels système.
Systèmes en couches (layered systems)
Dans ce système, nous pouvons constater une hiérarchie entre les différentes couches : chaque couche n'accède qu'à la couche directement inférieure.
THE (Technische Hogeschool Eindhoven, aux Pays-Bas), développé par E.W. Dijkstra et ses élèves en 1968, est le premier système à couches. Il s'agissait d'un système de traitements par lots (batch) destinné à un ordinateur allemand, l'Electrologica x8 piloté depuis une console composée d'interrupteurs.
Malgré cette structure en couches, THE ne permettait pas de dissocier le programme, l'exemple suivant (MULTIX) permet la création de sous-systèmes pour les utilisateurs.
Une autre évolution du système en couches fut MULTIX. Le principe reste basé sur une hiérarchie, mais en anneaux concentriques et non plus en couches. Plus on se rapprochait de l'anneau du centre, plus de droits étaient accordés. Quand une procédure d'un anneau extérieur demandait une procédure située dans l'anneau intérieur, il le demandait aussi via une sorte d'appel système, une instruction TRAP. Une programme peut donc résider dans une couche n, et être exécuté avec des droits restreints dans la couche n+1.
Machines virtuelles
Les machines virtuelles peuvent être considérées comme des évolutions des systèmes à couches : chaque couche représente une machine virtuelle qui utilise les services de la couche directement inférieure, et fournit des services à la couche directement supérieure.
Vue d'ensemble de quelques systèmes
English translation
You have asked to visit this site in English. For now, only the interface is translated, but not all the content yet.If you want to help me in translations, your contribution is welcome. All you need to do is register on the site, and send me a message asking me to add you to the group of translators, which will give you the opportunity to translate the pages you want. A link at the bottom of each translated page indicates that you are the translator, and has a link to your profile.
Thank you in advance.
Document created the 06/06/2005, last modified the 31/10/2018
Source of the printed document:https://www.gaudry.be/en/systeme-exploitation-historique.html
The infobrol is a personal site whose content is my sole responsibility. The text is available under CreativeCommons license (BY-NC-SA). More info on the terms of use and the author.
- ↑ Internet Protocol Version 6 : corresponds to « Protocole Internet version 6 » en français
- ↑ Internet Protocol Version 4 : corresponds to « Protocole Internet version 4 » en français
- ↑ WPF : Windows Presentation Foundation Sous-système graphique
- ↑ User Account Control : corresponds to « contrôle d'accès utilisateur » en français
- ↑ le phacochère verruqueux : corresponds to “The Warty Warthog” en anglais
- ↑ le hérisson vénérable : corresponds to “The Hoary Hedgehog” en anglais
- ↑ le blaireau jovial : corresponds to “The Breezy Badger” en anglais
- ↑ le canard pimpant : corresponds to “The Dapper Drake” en anglais
- ↑ le faon courageux : corresponds to “The Feisty Fawn” en anglais
- ↑ le gibbon fougueux : corresponds to “The Gutsy Gibbon” en anglais
- ↑ le héron robuste : corresponds to “The Hardy Heron” en anglais
- ↑ le bouquetin intrépide : corresponds to “The Intrepid Ibex” en anglais
- ↑ le Jackalope enjoué : corresponds to “The Jaunty Jackalope” en anglais
- ↑ le Koala Karmique : corresponds to “The Karmic Koala” en anglais
- ↑ le Lynx Lucide : corresponds to “The Lucid Lynx” en anglais
- ↑ le suricate rebelle : corresponds to “The Maverick Meerkat” en anglais
- ↑ le narval chic : corresponds to “The Natty Narwhal” en anglais
- ↑ le Lynx Lucide : corresponds to “The Oneiric Ocelot” en anglais
- ↑ le pangolin précis : corresponds to “The Precise Pangolin” en anglais
- ↑ le quetzal quantique : corresponds to “The Quantal Quetzal” en anglais
- ↑ le bassaris enthousiaste : corresponds to “The Raring Ringtail” en anglais
- ↑ la salamandre délurée : corresponds to “The Saucy Salamander” en anglais
- ↑ le bélier confiant : corresponds to “The Trusty Tahr” en anglais
- ↑ la licorne utopique : corresponds to “The Utopic Unicorn” en anglais
- ↑ le vervet vif : corresponds to “The Vivid Vervet” en anglais
- ↑ le loup-garou rusé : corresponds to “The Wily Werewolf” en anglais
- ↑ le xerus hospitalier : corresponds to “The Xenial Xerus” en anglais
References
- MS-DOS : Wikipedia (version 29/01/10)
- Versions d'Ubuntu : Ubuntu.fr,
Historique des versions
(version 29/01/10) - Windows : Wikipedia (version 29/01/10)
- Comparison of Microsoft Windows versions : Wikipedia (version 29/01/10)
These references and links indicate documents consulted during the writing of this page, or which may provide additional information, but the authors of these sources can not be held responsible for the content of this page.
The author This site is solely responsible for the way in which the various concepts, and the freedoms that are taken with the reference works, are presented here. Remember that you must cross multiple source information to reduce the risk of errors.