Académique Documents
Professionnel Documents
Culture Documents
Les informations sur le processus sont enregistrées dans une structure données appelée
Descripteur de processus qui capte la dynamique du processus.
Descripteur de processus, une structure de données maintenue par le noyau du
système d’exploitation.
Les caractéristiques qui diffèrent dans les processeurs 8bits, 32bits, 64bits, … sont :
Nombre de bits de registre
Nombre de bits des bus de données interne
Nombre de bits des bus de données externe
Nombre de bits des bus d’adresses
Nombre de bit de l’espace adressable
C’est ainsi qu’on distingue les processeurs : Intel 80386 SX 16 MHz (Processeur 16/32bits),
Intel 80486 66 MHz (Processeur 32bits), Pentium IV 3 GHz (Processeur 16/32bits), Athlon
64 3,8 GHz (Processeur 32/64bits), Itanium 1,5 GHz (Processeur 64bits).
Registres visibles par l'utilisateur Une registre utilisateur est un registre référençable par les
instructions exécutées par la CPU. On trouve différentes catégories :
données : ne peuvent pas être employés pour le calcul d'adresses ;
adresses : souvent dévolus à un mode d'adressage particulier (contenant des valeurs
de base ou d'index) ;
conditions (flags) : constitués d'une suite de bits indépendants dont chacun est
positionné en fonction du résultat d'une opération ;
autres : n'ont pas de fonction spécifique.
Cycle instruction
Le cycle de l'instruction fait référence à la façon dont la machine exécute une instruction.
Ce travail est effectué par la CPU et consistes-en :
recherche de l'instruction (fetch) : l'instruction est lue depuis la mémoire
interprétation de l'instruction (decode) : l'instruction est décodée pour déterminer à
quelle action elle correspond
exécution (execute) :
recherche des données (fetch data) : l'exécution de l'instruction peut demander la
lecture de données dans la mémoire ou depuis un module d'E/S
traitement des données (process data) : l'exécution de l'instruction peut demander
des opérations arithmétiques ou logiques sur les données
écriture des données (write data) : l'exécution de l'instruction peut demander
l'écriture du résultat dans la mémoire ou depuis un module d'E/S
● vers une instruction par cycle : les instructions peuvent être réalisées par le matériel ;
● des opérations registre-registre dans une architecture de type chargementrangement ;
● des modes d'adressage simples et peu nombreux, les modes d'adressages complexes
pouvant être réalisés à partir des modes d'adressages simples ;
● des formats d'instructions simples et peu nombreux, taille d'instruction fixe, possédant
des champs fixes. Le tout résulte en des instructions et une unité de contrôle simples.
Diagramme de transition
L’état d’un Processus Bloqué
Fin d’E/S Blocage
Préemption sortie
En
Terminé
exécution
Election
Prêt
Système Batch
Ordonnancement de processus: PAPS
Dans certains systèmes les activités qui se déroulent peuvent exhiber une certaine
criticité.
Communications inter-processus
Le modèle général de processus confine chaque processus dans un espace protégé.
On ne peut faire un appel système qui tend à violer la protection d’un processus.
IPC : Synchronisation
Dans plusieurs situations les deux processus ne peuvent accéder simultanément à la même
ressource
Problème du producteur-consommateur
Problème des rédacteurs
Comment faire pour que les exécutions se déroulent dans le bon ordre ?
Attente active ?
Priorité ?
Intervention de l’OS ?
Attente active :
Les processus partagent une variable, qui commande l’accès à la ressource critique
int lock = 0; // initialisation
while (lock);// Attente active lock = 1; // on verrouille
……
…….
…….
lock = 0;// on déverrouille
On parle d’attente active parce que les processus utilisent quand-même la ressource
processeur pendant les tests répétés de la variable
Sémaphores :
Variable partagée par différents processus qui garantit un accès séquentiel à sa
manipulation.
Deux processus ne peuvent pas manipuler le sémaphore en même temps.
Verrous :
Mécanisme permettant à des processus de se synchroniser.
Utilisés en particulier pour l’accès aux fichiers et aux bases de données.
On peut avoir une granularité fine ou grande.
Le verrou est un objet du système d’exploitation.
L’OS gère ainsi le blocage et le réveil des processus.
Signaux :
Moyen d’informer le processus sur la suite des évènements.
Notification asynchrone envoyée à un processus pour lui signaler un événement.
Processus et threads
Un processus est la dynamique d’un programme pendant son exécution
Ce fonctionnement hérité de la multiprogrammation suppose que deux
programmes dans un système sont indépendants, du point de vue de leur
conception
Ils n’ont donc rien à partager, à part les ressources nécessaires à l’exécution
de chacun
Un processus est normalement créé à partir d’un autre déjà existant (son père)
Mais en général pour faire autre chose que ce que son père fait (la plupart des
processus sont créés à partir de l’interface utilisateur)
L’appel système fork() est utilisé pour cela
Création de processus
● Fork – Crée un processus identique à l’appelant – Transmet le PID du fils au père –
Retourne 0 au fils à sa création – Le fils hérite de tous le contexte du père (duplication) –
Donc le fils et le père s’exécutent par la suite de la même façon exactement
● Le concept de thread
– Plusieurs fils d’exécution à l’intérieur d’un même processus – Le thread n’a pas vocation à
être un processus lourd – Il est généralement créé pour exécuter une tâche et disparaître à
la fin de cette tâche – La tâche est une procédure ordinaire dans un programme – Mais qui
doit pouvoir accéder aux données globales du programme – Et fournir son (ses) résultat(s)
comme données globales aussi – Les threads doivent donc partager l’espace d’adressage
global – Mais avoir chacun sa pile !
● (zone mémoire où sont stockées les données locales de fonctions)
Gestion de la Mémoire
Introduction
La mémoire est une suite d’octets.
Monoprogrammation
Un seul programme est exécuté à la fois.
Tout le travail revient au programmeur pour pouvoir charger un autre programme.
Multiprogrammation
Partitions fixes :
L’exécution de processus multiples se passe en même temps.
On subdivise la mémoire en n partitions de taille fixe, chaque partition peut contenir
exactement 1 processus.
Lorsqu’un processus est loqué en attente d’une E/S, un autre peut utiliser la CPU.
Le SE au démarrage se charge de configurer les partitions.
Lorsqu’on a mis un programme dans une partition, on le gère par les caractéristiques base
(Début) et limite (Fin).
Un trou (hole) est une partition vide : Bloc de mémoire disponible.
Swapping :
Capacité à transférer un processus de la mémoire principale vers le disque et vice-versa.
Partitions Variables :
On crée une partition suite à la demande d’un processus.
Fragmentation :
Fragmentation : espace vide d’une partition ???
Mémoire Virtuelle :
Principe de la mémoire virtuelle : la taille de l’ensemble formé par le programme, les
données et la pile peut dépasser la capacité disponible de mémoire physique.
Pagination (Paging) :
Un défaut de page est une situation où l’instruction en cours d’exécution fait
référence à une adresse dans une page qui n’est pas en mémoire physique.
Segmentation :
Protection et partage :
Systèmes de fichiers
Types de fichiers :
Data
Numeric, …
Program
Document
Définition
Pour l’OS le fichier est une séquence de mots ou d’octets.
Le fichier est aussi un tableau ou structure d’enregistrement.
Il est aussi une structure complexe (définir comment reconnaitre les éléments d’un fichier
par exemple en gras, en italic , etc …).
Allocation contigüe
Il n y a pas de fichier intermédiaire entres les espaces de fichiers.
C’est le système de fichier qui définit le nombre de blocs ainsi que leur taille.
Le Buffer est l’endroit où est stocké le signal envoyé par le périphérique, lequel est envoyé
ensuite au module du processeur par le contrôleur E/S.
Bus
Un bus est un groupement de conducteurs électriques permettant une connexion physique
et le transport de signaux entre les différents composants de l’ordinateur.
Exemple de périphérique : Le disque dur
Les registres les plus évolués sont de 64bits.
Les blocs dans un disque sont définis par le système de formatage et non le constructeur.