SYSTÈMES D'EXPLOITATION, informatique
La recherche en système d'exploitation
Adaptation des systèmes répartis aux grands réseaux
Dans le milieu des années 1990, des structures informatiques faisant coopérer un très grand nombre de machines ont émergé. Ces environnements, en agrégeant les ressources de milliers d'ordinateurs, offrent aux applications de nouvelles possibilités en termes de puissance de calcul, de capacité de stockage et de distribution des programmes. Un des défis de la communauté de recherche en systèmes répartis est la gestion de tels environnements. Deux types d'infrastructures se sont imposés : les grilles (Grids), qui consistent à interconnecter des centres de calcul organisés en grappes d'ordinateurs (clusters) géographiquement réparties, et les architectures de pair à pair (peer-to-peer ou P2P) dans lesquelles un ensemble d'ordinateurs individuels coopèrent d'égal à égal. Ces infrastructures de grande taille imposent de repenser les protocoles, car de nouveaux problèmes sont apparus :
Les fautes. Dans les configurations de grande taille, la probabilité que l'un des ordinateurs du système soit en panne à un instant donné tend vers un. La faute, qui restait exceptionnelle dans des configurations de petite taille, devient donc courante. Il est alors indispensable de concevoir des mécanismes efficaces pour tolérer ces fautes.
Le contrôle des ressources. L'éloignement des ordinateurs et leur nombre font qu'il est difficile, voire impossible, de contrôler à tout moment le nombre de ressources disponibles dans l'infrastructure répartie. Les nouveaux systèmes doivent donc prendre des décisions d'allocation des ressources aux programmes en fonction de visions très partielles, voire erronées de leur environnement.
Structuration des systèmes
Les systèmes d'exploitation sont des programmes de plus en plus complexes. Le code de base (le noyau) représente en général à lui seul plusieurs centaines de milliers de lignes de code. Deux des effets de cette complexité sont : d'une part, la fragilité potentielle des systèmes, la probabilité d'erreurs dans le code (les bogues ou bugs) devenant de plus en plus importante ; d'autre part, la difficulté de maintenir et d'étendre les fonctionnalités de ces systèmes. Les chercheurs ont donc proposé d'autres méthodes pour structurer les noyaux des systèmes. Il s'agit de simplifier les codes de base et d'ajouter de la modularité afin de confiner les éventuelles erreurs et de remplacer plus facilement un module par un autre.
Ainsi sont apparus, dans les années 1980 et 1990, des systèmes à base de micro-noyaux (le système Mach de l'université Cornell, ou Chorus de l'I.N.R.I.A.), dans lesquels un noyau au code réduit gère les fonctions de base comme l'allocation de la mémoire, les dialogues avec les différentes unités d'échange ou l'accès au processeur. Les services de plus haut niveau – tels que la gestion de fichiers ou des utilisateurs, les stratégies de gestion de la mémoire virtuelle – sont encapsulés dans des tâches indépendantes qui s'exécutent au-dessus du micro-noyau. Si cette structuration permet une meilleure fiabilité et une extensibilité plus aisée, les performances sont généralement moins bonnes que celles des systèmes traditionnels, appelés systèmes monolithiques, qui sont construits autour d'un noyau de taille importante intégrant les fonctions de base et les services annexes. Plusieurs systèmes sont construits sur des micronoyaux : MacOS X s'exécute au-dessus d'un micro-noyau Mach et QNX a développé son propre micro-noyau, appelé Neutrino.
Depuis la fin des années 1990, une approche alternative, baptisée ExoKernel, a été développée par le M.I.T. Elle propose un code minimal du noyau : les fonctions de haut niveau sont externalisées dans des bibliothèques appelées[...]
La suite de cet article est accessible aux abonnés
- Des contenus variés, complets et fiables
- Accessible sur tous les écrans
- Pas de publicité
Déjà abonné ? Se connecter
Écrit par
- Pierre SENS : professeur à l'université Pierre et Marie Curie (Paris-VI), directeur-adjoint du LIP6
Classification
Médias
Autres références
-
SYSTÈMES D'EXPLOITATION
- Écrit par Pierre MOUNIER-KUHN
- 258 mots
Les ordinateurs devenant de plus en plus complexes, on s'est préoccupé vers 1960 de les doter de programmes spéciaux pour remplir deux fonctions : automatiser la « gestion » de leur fonctionnement interne et de leurs entrées-sorties ; servir d'interface entre le matériel et le programmeur. Le plus...
-
SYSTÈMES D'EXPLOITATION - (repères chronologiques)
- Écrit par Pierre MOUNIER-KUHN
- 757 mots
1961 Compatible time sharing system (CTSS), système d'exploitation développé au Massachusetts Institute of Technology (M.I.T.) sur l'ordinateur I.B.M. 7090 pour que plusieurs étudiants puissent utiliser simultanément l'ordinateur.
1961 La firme britannique Ferranti et l'université...
-
ARCHIVAGE NUMÉRIQUE
- Écrit par Claude HUC
- 4 749 mots
Tout aussi problématique est l'obsolescence des logiciels et des systèmes d'exploitation, ces deux outils évoluant à des rythmes différents. Les systèmes d'exploitation les plus anciens disparaissent du marché et sont remplacés. Les logiciels d'application qui fonctionnaient avec les anciens systèmes... -
COMMERCIALISATION DE WINDOWS
- Écrit par Bruno JACOMY
- 698 mots
- 1 média
Le 20 novembre 1985, la société américaine Microsoft Corporation lance la première version commerciale de son logiciel Windows. Conçu initialement comme une extension de son système d’exploitation MS-DOS (Microsoft-Disk Operating System), il est destiné aux micro-ordinateurs personnels ou PC...
-
GATES WILLIAM H. III dit BILL (1955- )
- Écrit par François PÊCHEUX
- 1 303 mots
- 1 média
...l’un des premiers à avoir compris la toute-puissance du logiciel. En 1981, afin de proposer un logiciel opérationnel à IBM, il rachète à très bas prix le système d’exploitation développé par la société SCP (Seattle Computer Products). Celui-ci prendra le nom de MS-DOS (Microsoft-disk operating system... -
INTERNET - Histoire
- Écrit par Danièle DROMARD et Dominique SERET
- 6 984 mots
- 2 médias
...des contraintes fortes de temps de réponse utilisent UDP au lieu de TCP. Initialement un grand nombre d'applications simples ont été développées sous le système d'exploitation Unix, pour gérer des ressources distantes (imprimantes, disques durs, etc.) comme si elles étaient situées dans la machine de l'utilisateur.... - Afficher les 9 références