Maxime Augerd Page 3 SE 2004
Architecture de machine :
L’architecture d’une machine c’est l’organisation de ses unités fonctionnelles
On ne retient dans un premier temps qu’une architecture d’interconnexion classique dans laquelle
un processeur, une mémoire centrale et les dispositifs d’E/S sont reliés par un bus.
L’OS doit donc optimiser l’utilisation des ressources et gérer les problèmes liés au
partage de ces ressources.
Vision d’un O.S. :
Dépend du niveau d’observation
Pour l’utilisateur il s’agit d’un ensemble de fonctionnalités offertes soit grâce à un
langage de commandes, soit à travers une interface graphique
Pour le développeur l’OS n’est qu’un ensemble d’appels systèmes qui fournit des
services de bas niveau ( ex : API WIN 32 )
Pour l’administrateur l’OS est un ensemble complexe de ressources à gérer et à
configurer ( espace disque, comptes utilisateurs, droits et protections, etc. )
B : Définitions :
Processus : suite d’instructions chargée totalement ou partiellement en mémoire centrale, et
constituant un ensemble logique en cours d’exécution ou susceptible de s’exécuter.
Notion dynamique : un processus naît lors du chargement d’un programme et meurt à l afin de
l’exécution du programme. Un processus est caractérisé par un état à un instant donné.
Programme : entité composée de séquences d’instructions agissant sur un ensemble de données.
C’est du code obtenu par compilation d’un fichier source suivie d’une phase d’édition des liens.
Notion essentiellement statique car c’est un fichier stocké sur disque.
Des processus distincts peuvent exécuter un même programme (programme réentrant).
Thread : un processus peut être parfois décomposé en unités d’activités distincts appelées thred et
qui :
s’exécutent de façon parallèle ou concurrente
partagent l’espace d’adresse du processus
Le processus représente donc pour ses threads une unité d’encapsulation des ressources utilisées.
Et le thread est un sous-ensemble d’exécution du processus sur cet ensemble de ressources.
Thread : pour exploiter le parallèlisme
Tâche : nous conviendrons que la tâche représente la plus petite unité sémantique d’exécution au
niveau macroscopique. Donc suivant les systèmes :
une tâche = un processus sur les systèmes multi-processeurs
une tâche = un thread sur les systèmes multi-threads
Typologie des systèmes :
Système en mono ( obsolète )
Système multi-tâches :
o Plusieurs tâches résident en mémoire centrale
o L’OS doit alors gérer l’attribution et le partage des ressources entre les
différentes tâches.
Pose les problèmes liés à la programmation concurrente
Pose les problèmes de protection du code et des donnée
Système multi-threads :
o Supporte l’exécution d’un processeur en unités indépendantes
o Implémente au niveau du noyau la gestion des threads
o L’ordonnancement se fait alors sur des threads et non plus des processus
o Possibilité d’ordonnancer les threads sur plusieurs processeurs dans une
architecture parallèle
o Ex : Win NT
Système temps réel :
o Système dans lequel il existe des interactions entre le système et des
équipements (capteurs, actionneurs etc.)