Université Pierre et Marie Curie

Systèmes d'exploitation des ordinateurs

Chapitre 1. Les systèmes d'exploitation
1.1. Définition du système d'exploitation
1.2. Quelques exemples de systèmes d'exploitation
1.3. Evolution des systèmes d'exploitation
1.4. Unix
1.5. Windows
Chapitre 2. Mécanismes d'exécution et de communication
Chapitre 3. Gestion des activités parallèles
Chapitre 4. Gestion des fichiers
Chapitre 5. Partage des ressources
Chapitre 6. Au-dessus du système d'exploitation
Chapitre 7. Notions sur les communications
Chapitre 8. Notions sur la sécurité
Bibliographie
Chapitre 9. Exercices et TPs
Examens
Page d'accueilTable des matièresNiveau supérieurPage précédenteBas de la pagePage suivante

1.2. Quelques exemples de systèmes d'exploitation

Comme son nom l'indique l'ordinateur individuel n'est employé que par une seule personne à la fois. Celle-ci dispose de moyens de communication: écran, clavier, d'une souris, d'une imprimante, éventuellement d'une tablette graphique... Des mémoires secondaires appelées aussi unités de stockage: disque, disquette ou bande magnétique permettent de conserver l'information de façon permanente. La taille de la mémoire principale est un paramètre importante pour définir quels programmes peuvent être employés. Le système d'exploitation gère cet ensemble de façon plus ou moins transparente pour l'utilisateur. Il permet de donner des ordres à la machine et d'en recevoir en retour des informations qui sont le résultat du traitement demandé. Les ressources de l'ordinateur ne sont employées que par l'unique usager de la machine. Quelques fonctions peuvent s'exécuter simultanément. Par exemple il est possible d'afficher une horloge tout en utilisant un traitement de textes ou graver un CD mais la simultanéité n'est pas le fort de cette machine. Ce parallélisme qui n'est qu'apparent comme nous le verrons au chapitre III, s'améliore dans les dernières versions des systèmes d'exploitation et parce que la puissance des processeurs ne cesse de croître. Les mécanismes de sécurité nécessaires pour préserver la confidentialité des informations sont peu ou mal employés lorsqu'ils existent.

Un ordinateur qui contrôle un procédé industriel doit veiller sur un ensemble de paramètres physiques et engager des actions en fonction de leurs valeurs. Les délais de réponse peuvent être très courts et doivent être toujours garantis. Ceci est particulièrement vrai en ce qui concerne la sécurité: au cas où certains paramètres sortiraient de leur plage de valeurs normales il est indispensable de réagir de façon appropriée en un temps défini. Un système d'exploitation orienté temps réel doit donc pouvoir garantir une réponse avec une contrainte dans le temps.

Ceci introduit deux contraintes importantes :

  • Les informations doivent être acquises sur les différents dispositifs d'entrés périodiquement. Cette période tau.gif (838 octets) doit être respectée précisément ainsi qu'il a été défini dans le cahier des charges. Le traitement de ces informations est effectué en un temps maximum T. Ce temps peut être défini soit port d'entrée par port d'entrée soit pour l'ensemble des mesures à acquérir mais il est évident que le système ne pourra fonctionner correctement que si, dans tous les cas, T est plus petit, voire beaucoup plus petit que tt. Nous l'évoquerons au chapitre suivant.
  • Les fonctions de sécurité sont prioritaires, certaines le sont plus que d'autres. Il faut donc disposer des moyens matériels et logiciels pour gérer ces priorités et pouvoir, le cas échéant, interrompre toute activité moins prioritaire.

Il doit également présenter la souplesse nécessaire pour que l'on puisse aisément piloter des dispositifs au travers de cartes électroniques standards du marché.

De tels systèmes sont appelés systèmes temps réel. Certains systèmes d'exploitation peuvent s'en rapprocher, notamment parce que la puissance des processeurs aujourd'hui permet à un système de répondre relativement rapidement, mais sans disposer de toutes les fonctions qui pourraient permettre de garantir les délais de traitement. Enfin n'oublions pas que les commandes de processus industriel doivent être particulièrement fiable, en relation avec le niveau de sécurité exigé, ce qui peut nécessiter des dispositifs électroniques et logiques supplémentaires. Dans certains cas plusieurs ordinateurs effectuent le même travail, comparent en permanence leurs résultats et prennent une décision ... à la majorité!

Le cas des systèmes embarqués est particulier : outre les contraintes des systèmes temps réel il est impossible pour des raisons diverses (environnement, volume, poids..) d'employer les composants que l'on retrouve dans la plupart des ordinateurs. Il faut alors employer des systèmes d'exploitation spécifiques, le plus souvent allégés et ne comportant que les fonctions utiles. Ne parlons pas des systèmes militaires et spatiaux !

La caractéristique fondamentale d'un système transactionnel est de gérer un ensemble d'informations structurées de grande dimension, de l'ordre de plusieurs gigaoctets, appelé base de données . Ces informations sont consultées, modifiées simultanément à partir d'un grand nombre de points d'accès, terminaux ou micro-ordinateurs. Les contraintes d'intégrité sont énormes. L'exécution d'un ordre ou transaction doit préserver la cohérence de la base. Par exemple il est nécessaire d'afficher l'état exact des places disponibles dans un train tout en évitant qu'un siège puisse être réservé plusieurs fois au même moment à partir de deux terminaux différents. Ces systèmes doivent être très fiables puisque leur arrêt, même très court bloquerait un nombre important de personnes. En cas d'interruption du service il faut pouvoir redémarrer les nombreuses activités parallèles de façon cohérente sans perte d'information, dans l'état exact où était le système avant cette interruption. On mesure les performances en nombre de transactions par secondes (TPS).

L'invention du temps partagé est le fruit d'une simple constatation: l'homme est beaucoup plus lent que la machine et prend un temps non négligeable pour élaborer une requête ou analyser les réponses de l'ordinateur. Dans toute phase d'interaction la machine attend. La fonction d'un système temps partagé est donc de donner à tous ces acteurs humains l'impression qu'ils sont chacun seul en face de la machine. Chacun doit avoir le sentiment que l'ordinateur est à sa disposition; la qualité du service sera appréciée en terme de temps de réponse. Il faut donc ajouter les services adéquats pour tenir compte du fait que l'ordinateur est utilisé simultanément par un grand nombre de personnes. On combine donc dans un tel système les aspects évoqués pour les ordinateurs individuels et transactionnels. Il faut ajouter un programme gestionnaire qui partage le temps disponible entre les différents utilisateurs. Par exemple, si on estime que 90% du temps passé devant un terminal est un temps de réflexion indispensable entre requêtes successives, 10% des utilisateurs seulement sont réellement actifs à un moment donné. Si le programme gestionnaire alloue des tranches de temps de 50 ms à chacun, le temps d'attente moyen est donc de 0,5s environ pour ces dix utilisateurs (ce ne sont jamais les mêmes). La machine peut être utilisée en fait par cent personnes.

De tels systèmes ne sont pas adaptés aux travaux qui nécessitent peu de dialogues. On remplace alors le terminal par un ensemble de fichiers utilisés soit en lecture soit en écriture. Ces programmes sont exécutés en traitement par lot ou batch.Leur déroulement est volontairement ralenti par rapport aux taches qui dialoguent avec les hommes. On diminue donc la priorité - déjà évoquée pour les systèmes temps réel - de ces calculs. Les systèmes en temps partagé sont souvent employés pour le temps réel et le transactionnel, en leur ajoutant le cas échéant les quelques fonctionnalités qui leur manquent.

Aujourd'hui deux systèmes prédominent : Windows, dans toutes ses variations, sur les postes personnels, Unix et de plus en plus sa version Linux, sur les serveurs et les gros ordinateurs (Windows est réservé aux processeurs Intel). La puissance des processeurs permet d'employer l'un ou l'autre système pour couvrir la plupart des gammes d'application, au moyen de modules spécifiques éventuellement. Windows ne dispose pas des éléments nécessaires au temps partagé mais parvient à servir plusieurs utilisateurs simultanés, s'ils sont physiquement connectés à un autre poste relié par le réseau, en employant une technologie client-serveur. Nous l'évoquerons au chapitre III.


Copyright Y. Epelboin, 1994, université P.M. Curie, MAJ 4 avril, 2005

Page d'accueilTable des matièresNiveau supérieurPage précédenteHaut de la pagePage suivante