Présentation
En anglaisRÉSUMÉ
Le système d'exploitation d'un ordinateur est un logiciel qui vise à faciliter l'emploi de cet ordinateur par ses utilisateurs. En contact direct avec le matériel, il remplit deux fonctions: présenter à l'utilisateur une interface plus commode que celle de la machine sous-jacente gérer les ressources matérielles et logicielles de l'installation. La technique utilisée est la virtualisation: à chaque ressource correspond une ressource virtuelle qui en fournit une image idéale, plus facile à utiliser. Cet article présente les principes d'organisation et de fonctionnement des systèmes d'exploitation et la gestion des différentes ressources: activités, mémoire, information, et donne quelques indications sur l'évolution de ces systèmes et sur leurs futures applications.
Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.
Lire l’articleABSTRACT
A computer operating system is software that makes using the computer easier. It interacts directly with the hardware, and does two things: it provides the user with a more convenient interface than that of the underlying machine, and manages the hardware and software resources of the set-up. The basic technique is virtualization: each resource has a corresponding virtual counterpart that provides an ideal image, easier to use, of that resource. This paper presents the organization and working principles of an operating system and the management of the main resources: activities, storage, and data. It gives some indications on how operating systems are evolving and on their future applications.
Auteur(s)
-
Sacha KRAKOWIAK : Professeur émérite à l'université Joseph Fourier, Grenoble
INTRODUCTION
Le système d'exploitation d'un ordinateur, ou d'un ensemble d'ordinateurs connectés en réseau, est un ensemble de programmes qui remplit deux grandes fonctions :
-
allouer les ressources matérielles et logicielles pour satisfaire les besoins des programmes d'application ;
-
présenter aux applications une interface mieux adaptée à leurs besoins que celle fournie par le matériel, en dissimulant la complexité de l'infrastructure sous-jacente.
Il est plus exact de parler d'un ensemble d'interfaces : les utilisateurs et les applications peuvent interagir avec différentes couches du système d'exploitation. Au niveau le plus haut, l'interface a la forme d'un langage de commande symbolique ou graphique ; l'interprète de ce langage est en général en dehors du système d'exploitation proprement dit et peut donc être remplacé ou modifié. À un niveau plus bas se situe l'interface principale, constituée d'un ensemble d'« appels systèmes », qui permettent aux applications d'accéder aux services fournis par le système. Enfin, certains systèmes d'exploitation (à micro-noyau, à composants) ont une structure modulaire qui permet d'accéder à plusieurs niveaux différents de fonctions plus ou moins proches de la machine physique.
L'évolution des systèmes d'exploitation est gouvernée à la fois par l'évolution des architectures matérielles et par celle des besoins des applications. Les faits marquants des années 2000 peuvent être résumés comme suit :
-
transition progressive des systèmes dits « propriétaires » (associés à une architecture particulière de machines, fournissant une interface spécifique) vers des systèmes « ouverts » (portables sur une gamme étendue de machines et présentant des interfaces normalisées, pour faciliter le transport et l'interconnexion des applications) ; cette évolution est liée à la diffusion croissante du logiciel libre (projet GNU, Free Software Foundation), dont un exemple marquant est le système Linux ;
-
passage d'une informatique centralisée à une informatique distribuée, dans laquelle le système d'exploitation prend en compte la répartition des ressources matérielles, des données et des applications, tout en dissimulant cette répartition aux utilisateurs ;
-
développement rapide des systèmes embarqués, inclus dans des objets ou des environnements variés (véhicules, sites de production, cartes à puce, appareillage médical, capteurs divers), communiquant avec le monde physique, et soumis à des contraintes fortes de temps de réaction, de ressources matérielles et de consommation d'énergie. L'interconnexion de ces systèmes donne naissance à « l'Internet des objets » et à ses nombreuses applications potentielles ;
-
large diffusion de nouveaux appareils mobiles tels que smartphones ou tablettes, vecteurs de nouveaux usages et supports d'applications dans les domaines les plus divers ;
-
développement des techniques de virtualisation, dont une application majeure est le cloud computing (informatique en nuage), qui fournit un service délocalisé de traitement et de stockage de l'information.
MOTS-CLÉS
virtualisation mémoire virtuelle processus machine virtuelle système d'exploitation fichiers
KEYWORDS
virtualization | virtual memory | process | virtual machine | operating system | file system
VERSIONS
- Version archivée 1 de févr. 2008 par Sacha KRAKOWIAK
DOI (Digital Object Identifier)
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(239 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Présentation
1. Organisation d'un système d'exploitation
dans cet article, nous utilisons souvent le terme de « système » à la place de « système d'exploitation ».
Bien qu'il n'existe pas de structure standard s'appliquant à tout système, on identifie en général les principaux composants suivants :
-
le noyau a pour fonction l'allocation des processeurs, le traitement des interruptions et la gestion des horloges, la gestion des processus, et la supervision des entrées-sorties, dont l'exécution est confiée à des pilotes (drivers ), logiciels spécialisés pour chaque classe d'organes d'entrée-sortie ou de communication ;
-
le gérant de mémoire a en charge la gestion de la mémoire virtuelle (espace d'adressage propre à un utilisateur) et l'allocation de la mémoire physique ;
-
le système de gestion de fichiers gère la désignation et la conservation de l'information dans les fichiers ; il fait appel au gérant de mémoire et aux pilotes des unités de mémoire secondaire.
Ces composants de base sont utilisés par divers sous-systèmes : interprètes de langage de commande, gérants de fenêtres, gérants de réseau, bibliothèques d'exécution pour des langages de programmation. Ces sous-systèmes ne font pas partie du système d'exploitation proprement dit, mais sont indispensables à son utilisation effective.
1.1 Schémas d'architecture
Les systèmes d'exploitation traditionnels sont monolithiques : les composants de base ci-dessus ne sont pas des modules identifiés et séparables, mais sont étroitement intégrés (figure 1 a) dans une structure unique (le noyau).
Cette organisation améliore les performances en accélérant les communications internes, mais elle rend difficiles l'évolution et l'adaptation des systèmes. Organiser l'ensemble d'un système selon un schéma hiérarchique en couches serait trop contraignant car ce schéma reflète mal la complexité des interactions entre composants. Néanmoins, de nombreux systèmes actuels ont une couche d'adaptation (Hardware Adaptation Layer, ou HAL), directement au contact du matériel, qui fournit une interface unique abstraite aux parties « hautes » du système en isolant toutes les fonctions dépendant du matériel : gestion des interruptions,...
TEST DE VALIDATION ET CERTIFICATION CerT.I. :
Cet article vous permet de préparer une certification CerT.I.
Le test de validation des connaissances pour obtenir cette certification de Techniques de l’Ingénieur est disponible dans le module CerT.I.
de Techniques de l’Ingénieur ! Acheter le module
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(239 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Organisation d'un système d'exploitation
BIBLIOGRAPHIE
-
(1) - SILBERSCHATZ (A.), GALVIN (P.B.), GAGNE (G.) - Operating systems concepts (Concepts des systèmes d'exploitation). - 9th Edition, John Wiley and Sons, 944 p. (2012).
-
(2) - TANENBAUM (A.S.), BOS (H.) - Modern operating systems (Systèmes d'exploitation modernes). - 4th Edition, Prentice Hall, 1136 p. (2014).
-
(3) - ARPACI-DUSSEAU (R.H.), ARPACI-DUSSEAU (A.C.) - Operating systems : three easy pieces (Systèmes d'exploitation : trois pièces faciles). - Arpaci-Dusseau Books, 657 p. (2015)
-
(4) - GHEMAWAT (S.), GOBIOFF (H.), LEUNG (S.-T.) - The Google File System. - In Proc. 19th ACM Symposium on Operating Systems Principles, Lake George, NY, États-Unis, oct. 2003.
-
(5) - Kerberos - * - The network authentication protocol. http://web.mit.edu/kerberos/
-
(6) - SMITH (J.E.),...
DANS NOS BASES DOCUMENTAIRES
ANNEXES
Operating Systems : Three Easy Pieces http://pages.cs.wisc.edu/~remzi/OSTEP/
TinyOS http://www.tinyos.net/
Kerberos http://web.mit.edu/Kerberos
Linux http://www.linux.org
HAUT DE PAGE
IEEE POSIX® Certification Authority http://get.posixcertified.ieee.org/
Open Group http://www.opengroup.org/aboutus/
HAUT DE PAGE3.1 Associations professionnelles et conférences
Association for Computing Machinery (ACM) http://www.acm.org/
Publie la revue :
ACM Transactions on Computer Systems (TOCS) http://www.acm.org/tocs/
Organise ou co-organise notamment les conférences suivantes :
...
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(239 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
QUIZ ET TEST DE VALIDATION PRÉSENTS DANS CET ARTICLE
1/ Quiz d'entraînement
Entraînez vous autant que vous le voulez avec les quiz d'entraînement.
2/ Test de validation
Lorsque vous êtes prêt, vous passez le test de validation. Vous avez deux passages possibles dans un laps de temps de 30 jours.
Entre les deux essais, vous pouvez consulter l’article et réutiliser les quiz d'entraînement pour progresser. L’attestation vous est délivrée pour un score minimum de 70 %.
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(239 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive