Chapitre :




Cette page en format PDF

Système d'exploitation

Qu'est ce qu'un OS ?

Les utilisateurs de l'informatique attendent des ordinateurs qu'ils soient toujours plus performants, simples d'utilisation, mais capables d'accueillir des applications de plus en plus sophistiquées et des données toujours plus volumineuses.

Le hardware de plus en plus complexe ne peut à lui seul répondre à ces exigences Il faut donc un système capable (1) d'orchestrer les fonctions du hardware et des applications et (2) de donner aux utilisateurs l'impression que l'ensemble est convivial et simple.

Le système d'exploitation

Il s'agit du système d'exploitation automatique des ressources de l'ordinateur communément appelé "système d'exploitation" ou Operating System O.S. et parfois "système opératoire". On le représente généralement comme une couche logicielle placée au dessus du hardware.

L'interface utilisateur

Au système d'exploitation est associée une interface utilisateur (texte ou graphique) capable d'interpréter une série de commandes de base. Cette interface ne fait (théoriquement) pas partie du système d'exploitation mais l'étude des commandes donne un bon aperçu des fonctions qu'il procure.
La convivialité du système dépend de la richesse et de la simplicité de l'interface homme/machine.

L'apport du système d'exploitation aux applications

Le système d'exploitation constitue une machine virtuelle qui, pour les applications, substitue des composants logiciels aux composants matériels. Il est la plateforme pour laquelle sont construites les applications.
Pour ce qui est du développement des applications : l'OS propose une interface de programmation appelée API ( Application Program Interface), une sorte de boîte à outils à laquelle les développeurs recourent pour construire leurs applications. Ces API procurent une vue uniforme et simplifiée des ressources de la machine. Cela permet aux applications de faire abstraction des particularités du matériel en dissimulant la diversité et la complexité du hardware.

Le sytème d'exploitation est une couche logicielle

La tâche du système d'exploitation vis à vis des ressources système

Le S.E. reçoit des demandes des programmes d'application et des utilisateurs. Il y donne suite en leur allouant les ressources du système :

1°  le CPU
2°  la mémoire
3°  les périphériques
4°  le système de fichier (y compris parfois, le réseau)

L'allocation des ressources système est une tâche complexe :

 


  La référence à ce sujet :   

Couverture

L'ouvrage "Systèmes d'exploitation" de Andrew Tanenbaum, informaticien et pédagogue hors pair et dont voici le site personnel et la présentation power point en rapport avec cet ouvrage.


Terminologie:

Un programme est une suite statique d'instructions
Un processeur est l'agent qui exécute les instructions d'un programme
Un processus est un programme en cours d'exécution. Un programme peut avoir plusieurs exécutions simultanées. Pour faire tourner un processus il faut donc, non seulement chercher le code et les données mais il faut aussi lui réserver un espace mémoire, le gérer les accès aux ressources, la sécurité etc. C'est un des rôles de l'OS.

- Au temps du DOS déjà, le rôle du système d'exploitation était de charger les programmes d'application en mémoire avant de leur passer la main.
- Actuellement les systèmes d'exploitation sont multitâches. Le temps processeur est partagé par plusieurs processus qui semblent tourner simultanément.

Multitâche

Le S.E. est multitâche s'il permet à l'ordinateur de faire tourner simultanément plusieurs processus. Il s'arrange pour que chaque processus ait à tour de rôle un court laps de temps pour s'exécuter partiellement. Cette méthode, aussi appelée multiprogrammation, donne l'impression que tous ces programmes s'exécutent simultanément et surtout, maximise l'occupation du processeur. Dès qu'un programme s'interrompt pour attendre la réalisation d'une fonction plus lente, telle qu'une opération d'entrées/sortie, le processeur passe sans plus attendre à l'exécution d'un autre processus.

Multitâche coopératif   Windows 95 - 98 - milénium
Chaque processus dispose des ressources du système puis les libère pour permettre au processus qui suit dans une file d'attente d'en disposer à son tour.
=> Chaque tâche dépend des autres. Une tâche programmée de manière peu rigoureuse va compromettre la bonne marche de l'ensemble.

Multitâche préemptif   Unix - Windows NT - 2000 - XP
Chaque processus dispose du processeur pendant un laps de temps déterminé à l'avance ou jusqu'à ce qu'un autre ait une priorité supérieure à celle du processus en cours.
L'ordonnancement, (l'attribution du temps processeur aux processus) est fait par l'OS sans que les applications soient consultées.
=> Si une application "se plante", elle est mise de côté sans bloquer le système.

Multithreading

Une application multithread est un logiciel qui dès sa conception a été partagé en différentes unités d'exécutions ou threads dont la gestion est confiée au système d'exploitation. Exemple : la correction orthographique dans WORD.

Nous avions vu dans le cadre du multitâche que chaque processus dispose d'une partie distincte de la mémoire pour s'exécuter indépendamment des autres.
Dans le cas du multithreading au contraire, le même espace d'adressage est mis en commun par tous les threads d'une application.


Liens recommandés

uk   De quoi parfaire en même temps vos connaissances linguistiques sur l'excellent site : HowStuffWorks

What is an operating system ?


XHTML	1.0	validé!       CSS validé!