Systèmes informatiques
Fermer ×

Présentation

Historique

L'histoire des systèmes d'exploitation a démarré vers 1964. Le tableau suivant présente un bref historique de ces systèmes d'exploitations.

1964MULTICS (MULTiplexed Information and Computing Service)
1969UNICS puis UNIX
1978Prolog
1981MS-DOS
1984Mac OS
1987MINIXOS/2 1.0DR-DOS
1988OS/2 1.1System 6
1990Windows 3
1991GNU/LINUX (unix system V)OS/2 1.3Windows NTMac OS 7
1994open BSD et free BSD (unix Berkley)OS/2 Warp 3.0
1995OS/2 Warp ConnectWindows 95
1997Mac OS 8
1998Windows 98
1999Mac OS 9

Aujourd'hui, il apparaît qu'il reste les systèmes Window, Mac OS et les systèmes libres BSD et GNU/Linux décliné sous la forme de distributions Linux dont la liste est très importante à laquelle il faut ajouter la distribution française Mandriva Linux (anciennement MandrakeLinux) qui est devenue OpenMandriva Lx.

Rôle et structure

Le rôle du système d'exploitation

Le SE (système d’exploitation) ou OS est une couche logicielle située entre le matériel et le programme d’application. Les outils de gestions de l'ordinateur ainsi que l'interface graphique sont également des applications. Le SE est étroitement lié au matériel.

Ce qui fait que les applications sont indépendantes du matériel, mais, restent dépendantes du langage de programmation du microprocesseur.
On peut donc dire que le SE fournit une "couche virtuelle" pour toutes les applications.

Le SE réalise les opérations suivantes :

Quelques définitions :

Il existe plusieurs modes de fonctionnement :

La structure interne

Le SE est organisé en couches entre le matériel et les applications.

On trouve deux fonctionnalités :
  • Le moniteur qui comprend les fonctionnalités :
    • Le gestionnaire de processus qui organise l'exécution des différents processus (un programme est composé de plusieurs processus)
    • Le gestionnaire de mémoire qui alloue la mémoire aux processus
  • Le gestionnaire d'entrées-sorties, qui lui même, fait appel au gestionnaire de fichiers qui utilise
    • Les pilotes de périphériques (en Anglais device driver ou driver, c'est à ce niveau que ce fait le lien entre matériel et logiciel
      Un programme ne doit jamais accéder directement au matériel, mais toujours utiliser les drivers, sinon il n'est pas portable d'une machine à une autre.

La mémoire de masse représente les disques durs mécaniques ou utilisant des mémoires flash.

Chaque couche est une couche intermédiaire entre la couche inférieure et la couche supérieure.

Le moniteur

Le gestionnaire de processus

Description

Il attribut le ou les processeurs aux différents processus ou tâches à exécuter.

En environnement multiprocesseur les différents processus sont répartis sur les processeurs.

En environnement monoprocesseur, tout se passe comme si chaque processus avait son propre processeur, mais en réalité c’est un processeur qui se partage à chaque processus. Un seul processeur traite tous les processus de manière séquentielle.

L'ensemble des données utilisées par le processus est appelé le contexte d'exécution :

La table de processus est un tableau qui contient l’environnement de chaque processus.

Différents états d'un processus

Les principaux états d'un processus sont :

  • actif : en cours d’exécution
  • activable : suspendu provisoirement pour permettre l’exécution d’un autre processsus
  • bloqué : en attente de réponse d’un périphérique pour reprendre.

L'ordonnancement des tâches en temps partagé

L’ordonnanceur des tâches définit à chaque instant quel processus va être activé.

Chaque processus dispose de la même tranche de temps processeur. Le passage d'une tâche à une autre s'appelle la commutation de tâche qui effectue :

Lors de la commutation :

Le changement d'environnement s'appelle la commutation de contexte.

La liste des tâches à exécuter se trouve dans la file d'attente des tâches.

L'ordonnancement des tâches à base de priorité

Il n’y a plus de tranches de temps définies par un timer. Ce système est dit préemptif, il peut fonctionner en temps réel.

Une tâche libère le processeur :

La commutation de tâche s’effectue uniquement sur des événements.

Le temps réel

Un système en temps partagé est non prévisible, tandis qu'un système temps réel doit être prévisible (prédictible). On parle également de types de contraintes des systèmes en temps réel :

Les critères de contrainte dure sont :

Hiérarchie entre les processus

Communication entre processus

Le gestionnaire de mémoire

La mémoire est partagée entre :

Avec certains système, le processeur accède directement à la mémoire physique avec l’adresse, donc tous les processus peuvent accéder à la même zone mémoire.

Dans la majorité des cas, le processeur n'accède pas directement à la mémoire physique, mais via un système de pagination mémoire, la MMU (Memory Management Unit).

La gestion des périphériques et des fichiers

Le gestionnaire d'entrées-sorties

Organisation des fichiers sur le disque dur

Le système de fichiers utilise une structure arborescente composée de répertoires. Le disque dur est composé de partitions.

Sous windows chaque partition est une unité logique comme A :, C :, D :, ... qui est la racine d’une arborescence.

Sous Linux et Unix, il y a une seule arborescence, les partitions sont montées (incluses) dans cette arborescence.

Dans chaque partition le système de fichier dépend du SE :

Le système Ext2

Le système ext2 (extended file system) de linux utilise un système d'inode, chaque inode représente un périphérique

Un inode contient :

Les attributs des inodes indiquent le type de l'inode :

3 groupes de mode d’accès en lecture, écriture, exécution, définissent les autorisations d'accès aux inodes

Le système FAT

Le système FAT (File Allocation Table) utilisé par les mémoires SD et les anciens systèmes windows, utilise une arboresence uniquement pour les fichiers.

Il existe 2 catégories de fichiers :

Une partition contient :

Un enregistrement du répertoire contient les informations relatives aux fichiers :

Le système VFAT permet l’enregistrement des noms de fichiers sur 255 caractères.

La FAT (table d’allocation de fichiers) contient les numéros de clusters pour chaque fichier.

Historiquement, il existe plusieurs format

Le fichier logique

Le concept de fichier logique permet à chaque processus d’accéder à un fichier à un instant donné. Les fichiers logiques sont représentés par un numéro qui correspond à l’indice d’une table de descripteurs.
Avant tout accès au fichier, le programme doit établir un lien entre le fichier logique et le périphérique (open). Il existe des assignations par défaut réalisées par le système d’exploitation :

La redirection des entrées-sorties

Le concept de fichier logique permet de modifier l’assignation en utilisant les symboles > et <

Exemples :

Le gestionnaire de fichiers

Le gestionnaire permet de s’affranchir du type de périphérique (caractère ou bloc) en fournissant un ensemble de fonctions de traitement de fichier :

Le pilote de périphériques

Il réalise l’interface entre le matériel et le logiciel. Il contient des fonctions de gestions du circuit périphérique :