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
Version en cache
21/12/2024 16:12:38 Cette version de la page est en cache (à la date du 21/12/2024 16:12:38) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.Document créé le 06/06/2005, dernière modification le 31/10/2018
Source du document imprimé : https://www.gaudry.be/systeme-exploitation-historique.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
- ↑ Internet Protocol Version 6 : correspond à « Protocole Internet version 6 » en français
- ↑ Internet Protocol Version 4 : correspond à « Protocole Internet version 4 » en français
- ↑ WPF : Windows Presentation Foundation Sous-système graphique
- ↑ User Account Control : correspond à « contrôle d'accès utilisateur » en français
- ↑ le phacochère verruqueux : correspond à “The Warty Warthog” en anglais
- ↑ le hérisson vénérable : correspond à “The Hoary Hedgehog” en anglais
- ↑ le blaireau jovial : correspond à “The Breezy Badger” en anglais
- ↑ le canard pimpant : correspond à “The Dapper Drake” en anglais
- ↑ le faon courageux : correspond à “The Feisty Fawn” en anglais
- ↑ le gibbon fougueux : correspond à “The Gutsy Gibbon” en anglais
- ↑ le héron robuste : correspond à “The Hardy Heron” en anglais
- ↑ le bouquetin intrépide : correspond à “The Intrepid Ibex” en anglais
- ↑ le Jackalope enjoué : correspond à “The Jaunty Jackalope” en anglais
- ↑ le Koala Karmique : correspond à “The Karmic Koala” en anglais
- ↑ le Lynx Lucide : correspond à “The Lucid Lynx” en anglais
- ↑ le suricate rebelle : correspond à “The Maverick Meerkat” en anglais
- ↑ le narval chic : correspond à “The Natty Narwhal” en anglais
- ↑ le Lynx Lucide : correspond à “The Oneiric Ocelot” en anglais
- ↑ le pangolin précis : correspond à “The Precise Pangolin” en anglais
- ↑ le quetzal quantique : correspond à “The Quantal Quetzal” en anglais
- ↑ le bassaris enthousiaste : correspond à “The Raring Ringtail” en anglais
- ↑ la salamandre délurée : correspond à “The Saucy Salamander” en anglais
- ↑ le bélier confiant : correspond à “The Trusty Tahr” en anglais
- ↑ la licorne utopique : correspond à “The Utopic Unicorn” en anglais
- ↑ le vervet vif : correspond à “The Vivid Vervet” en anglais
- ↑ le loup-garou rusé : correspond à “The Wily Werewolf” en anglais
- ↑ le xerus hospitalier : correspond à “The Xenial Xerus” en anglais
Références
- 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)
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.