Notes Os
Notes Os
d’Exploitation et
Outils de programmation
Introduction
Le système d’exploitation (SE)
est un ensemble de
programmes qui
Réalise l’interface entre le
matériel de l’ordinateur et les
utilisateurs
Prend en charge la gestion des
ressources de la machine et le
partage de celles-ci
physiques: mémoire, unités E/S, UCT...
Logiques = virtuelles: fichiers et bases
6
Une synthèse historique
Mainframes et grands serveurs
Multics et beaucoup d’autres
(1960s)
Unix
(1970)
Ordinateurs Personnels
MS-DOS
Mac/OS (1981)
(1984)
Windows NT Windows
Linux (1988) (1990)
(1991)
Solaris
(1995)
Windows 2000
7
Windows XP
Types de systèmes
8
Multi utilisateurs,
L’utilisateur de la machine
peut interagir avec
l’exécution de son
programme =>
Le but principal poursuivi
par les systèmes interactifs
Offrir pour chaque exécution le
plus petit temps de réponse
possible
9
Multi utilisateurs,
Travail en temps partagé
Exemple: système Unix ou Linux
1
« Network operating systems
SEs en réseau fournissent:
1
Systèmes temps
1
Types de
Systèmes embarqués
Système temps réel dédié pour
une application particulière
Injection automatique pour une auto
Programmation micro-onde
1
Services et
1
Services et
Services Réseau et
communication (Network and
Communications Support
Services)
Fonctions nécessaire à
l’interconnexion de l’ordinateur dans
un réseau (protocole TCP-IP)
Programmes d’applications et
extension (ex. E-mail, login, etc.)
Pilotes pour modems,
1
Services et
communication sans fils, etc.
1
Services et
Gestion de la protection
Mécanismes garantissant que les
ressources de système ne peuvent être
utilisées que par les programmes
auxquels les droits nécessaires ont été
accordés (protection de système et la
machine des programmes utilisateurs)
Protège SE des programmes d’autres utilisateurs
Protège un utilisateur d’un autre utilisateur
2
S
SE s’interface avec les applications
du niveau utilisateur par le biais de
fonctions prédéfinies – routines
systèmes
Les appels des routines systèmes
peuvent se faire par biais
D’un appel système (API)
D’une commande du langage de commandes
L’exécution des routines systèmes
s’effectue sous un mode privilégié –
mode superviseur
2
S
Un programme utilisateur
s’exécute par défaut selon un
mode utilisateur
2
S
Mode utilisateur : le jeu d’instructions
utilisables par le programme est réduit
Mode superviseur: aucune restriction
Passage du mode utilisateur au mode
superviseur constitue une commutation de
contexte
Trois causes majeures provoquent le
passage du mode utilisateur au mode
superviseur
Utilisateur appelle une fonction système
L’exécution d’une opération illicite (trappe ou
2
S
l’exception)
La prise en compte d’une interruption par le
matériel et SE
2
Chargement d’un
Les programmes composant le SE
sont conservés sur un support de
masse
Au démarrage l’ordinateur exécute un
code placé dans une zone de
mémoire morte (ROM), programme
d’amorçage ou boot- strap (test du
matériel de la machine, chargement
d’un programme d’amorce plus
sophistiqué)
Une fois cette amorce placée en
2
Chargement d’un
mémoire centrale, elle s’exécute et
charge les programmes du SE.
2
Bootstrappin
3
Interface usager-ordinateur
Types d’interfaces utilisateur
Interface de ligne de commande
CLI – Command Line Interface
Windows command prompt
UNIX/Linux command prompt
Interface graphique
GUI – Graphical User Interface
Apple Macintosh, Windows, stations de travail
Sun, les différentes versions de Linux
3
Langage de commandes
Les ordinateurs modernes ont la
possibilité de regrouper les
commandes CLI en miniprogrammes
Langage de commandes (scripts)
Les commandes sont analysées par l’outil
interpréteur de commande qui appelle la
routine système appropriée en assurant
le passage des paramètres
Chaque SE a son langage de
commandes propre
JCL (Job Control Language) de SE MVS
Langage Shell de SE Unix
25
GUI Interface – Windows Vista
3
Système de gestion de
Offre à l’utilisateur une unité de
stockage indépendante des propriétés
physiques des supports de
conservation: le fichier
Fichier logique (vue de l’utilisateur)
Fichier physique
Assure la correspondance entre le
fichier logique et le fichier physique
Structure de répertoire
3
Système de gestion de
Le fichier logique
Un type de données standard défini dans les
langages de programmation sur lequel un
certain nombre d’opérations peuvent être
réalisées
Création, ouverture, fermeture, destruction
Les opérations de création ou d’ouverture effectuent
la liaison du fichier logique avec le fichier physique
Un ensemble d’enregistrements, un type de
données regroupant des données de type
divers liées entre elles par une certaine
sémantique inhérente au programme qui les
manipule
3
Système de gestion de
Fichier physique
Correspond à l’entité allouée
sur le support permanent et
contient physiquement les
enregistrements définis dans
le fichier logique
Le fichier physique est constitué
d’un ensemble de blocs
physiques qui doivent être
3
Système de gestion de
alloués au fichier logiques
3
Fichier
Différentes méthodes d’allocation
de la mémoire secondaire
Allocation contiguë
Allocation par zones
3
Exempl
Allocation par blocs chaînes (DOS/Windows)
L’ensemble des chaînages des blocs de
fichiers est regroupé dans une table FAT(File
Allocation Table)
Nombre d’entrées = Nombre de blocs de
données sur le disque
Chaque entrée de la table correspond à un
bloc du disque et contient:
Si le bloc appartient à un fichier et n’est pas le dernier
bloc de ce fichier => le numéro du bloc suivant
Si le bloc appartient à un fichier et est le dernier bloc de
ce fichier => une valeur de fin de fichier
Si le bloc n’appartient pas à un fichier => une valeur de bloc
libre
3
Répertoir
Correspondance fichier logique – fichier
physique
Effectue par le biais d’une table
appelée répertoire qui contient des
informations de gestion des fichiers
Le nom logique du fichier
Le type du fichier
Codé dans son nom logique à l’aide d’une extension
L’adresse physique du fichier
Dépend de la méthode d’allocation mise en
œuvre sur le disque
La taille en octets ou en blocs du fichier
3
Répertoir
Le nom du propriétaire
Les protections appliquées au fichier
3
Répertoir
Le système de gestion de fichiers offre des
primitives permettant de manipuler les
répertoires
Les différentes structures de
répertoires existantes se distinguent
par le nombre de niveaux
Structure en arbre est composée d’un répertoire
initial (la racine) et d’un ensemble de nœuds
constitués par l’ensemble de sous-répertoires et d’un
ensemble de feuilles qui sont les fichiers eux-mêmes
Le nom complet d’un fichier (path name)
est constitué de son nom précédé du
4
Répertoir
chemin dans la structure de répertoires
depuis la racine
4
Partition
Gérer des milliers de fichiers dans
un seul ensemble – difficile
Solution – diviser l’ensemble du système
de gestion de fichiers en morceaux
indépendants – partitions
Partition constitue un disque virtuel auquel est
associé un répertoire qui référence l’ensemble
des fichiers présents sur la partition
Chaque partition est repérée par un nom – label
La partition doit être connectée à
l’arborescence de fichiers de la machine
4
Services et facilités
Gestion du processeur
Allocation du processeur aux
différents programmes:
ordonnancement
Selon le type de SE l’algorithme
d’ordonnancement répond à des objectifs
différents
Gestion de la concurrence
Communication entre plusieurs
programmes, synchronisation de l’accès
aux données partagées (outil de
communication et de synchronisation entre
4
programmes)
4
Notion de Processus
Définitions
4
Notion de Processus: Définitions
Un programme en cours
d’exécution auquel est associé
un environnement processeur
(PC, registres généraux,
…) et un environnement
mémoire (zone de code, de
données et de pile) appelés
contexte du processus
Instance dynamique d’un
4
programme et incarne le fil
d’exécution de celui-ci dans un
espace d’adressage protégé
4
Notion de Processus: États d’un
4
Notion de Processus: États d’un
Prêt
5
Diagramme d’états d’un processus
Transition Prêt –>Élu – opération d’élection
Transition Élu->Bloqué – opération de blocage
Transition Bloqué->Prêt – opération de déblocage Fin
Réveil
Élu En exécution
Élection
En attente du Prêt
processeur
Déblocage
Bloqué Blocage
Création d’un processus = état Prêt 44
Bloc de contrôle du processus
Identificateur processus
PCB (Process État du processus
Control Block) – une Compteur ordinal
structure de Contexte pour
description du reprise
processus associé (registres et pointeurs, piles
au programme …)
exécutable Chaînage selon les files de
l’Ordonnanceur
PCB permet la Priorité (ordonnancement)
sauvegarde et la Informations mémoire
restauration du (limites et
contexte tables
mémoire et du pages/segment
contexte s)
processeur lors Informations sur les
ressources utilisées fichiers
des opérations de ouverts, outils de
synchronisation, entrées-
commutations de sorties 45
contexte Informations de
comptabilisation
Opérations sur les
4
Opérations sur les
Création de processus
Un processus peut créer un ou
plusieurs autres processus en
invoquant un appel système de
création de processus
Le processus créateur – processus père
Les processus créés – processus fils
4
Opérations sur les
Création de processus
Les opérations de création de
processus admettent les variantes
suivantes selon les SE
Le processus créé hérite ou non de
données et du contexte de son
processus créateur
Le processus créé peut s’exécuter
5
Opérations sur les
Destruction de processus
Processus a terminé son exécution
Le processus s’autodétruit en appelant une
routine système de fin d’exécution
Processus commet une erreur irrécouvrable
Le processus est terminé par le système
Autre processus demande la
destruction du processus
Appel à une routine système
Le contexte du processus est démantelé
Ressources allouées au processus sont libérées
Bloc de contrôle est détruit
5
Opérations sur les
Suspension d’exécution –
momentanément arrêter
l’exécution d’un processus
pour la reprendre
ultérieurement
Le contexte du processus est
sauvegardé dans son PCB
Le processus passe dans l’état bloqué
Reprise d’exécution
Transition de déblocage, le processus
5
Opérations sur les
entre dans l’état prêt
5
Ordonnancement sur l’unité
Entités systèmes
responsable de
l’ordonnancement
Politiques d’ordonnancement
Exemples
5
Ordonnancement sur l’unité
Ordonnancement sous Linux
5
Ordonnancement sur l’unité
La fonction d’ordonnancement
gère le partage du processeur
entre les différents processus en
attente pour s’exécuter, c’est-à-
dire entre les différents
processus qui sont dans l’état
5
Ordonnancement sur l’unité
prêt.
5
Ordonnancement préemptif
non préemptif
Fin
Réveil
Élu En exécution
Élection
Déblocage
Bloqué Blocage
Ordonnancement préemptif
La transition de l’état élu vers l’état prêt est autorisée: un
processus quitte le processeur s’il a terminé son exécution,
5
Ordonnancement préemptif
s’il se bloque ou si
le processeur est réquisitionné
6
Déroulement des opérations
d’ordonnancement
Élu
Read (données, disque) Prêt
Élection
Bloqué Élu
Prêt
Élu
Les opérations d’ordonnancement prennent place lors de tout changement d’états
des processus 55
Entités systèmes responsable
de l’ordonnancement
Les processus prêts et bloqués sont gérés
dans deux files d’attentes distinctes qui
chaînent leur PCB
Le module Ordonnanceur (scheduler) trie la
file des processus prêts. Le tri s’appuie sur
un critère donné spécifié par la politique
d’ordonnancement
5
Entités systèmes responsable
de l’ordonnancement
Préemption
Prêts
CPU
Répartiteu PCB PCB PCB PCB Ordonnanceu
CPU Classement selon une
politique d’ordonnancement
Élection
CPU
Déblocage
PCB PCB PCB PCB
Blocag
Bloqués
e
Ordonnanceur et répartiteur
5
Politiques
Politique d’ordonnancement
détermine quel sera le prochain
processus élu
Avantages – Simplicité
Inconvénient
Processus de petit temps d’exécution sont pénalisés
5
Politiques
en terme de temps de réponse par les processus de
grand temps d’exécution qui se trouvent avant eux
dans la file d’attente
6
Politiques
Plus Court d’Abord
L’ordre d’exécution des processus est
fonction de leur temps d’exécution
Sans réquisition
Difficulté
Connaissance a priori des temps
d’exécution des processus
6
Politiques
Politique par priorité
Chaque processus possède une priorité
6
Exemple
Systèmes actuels – combinaison de deux
des politiques: celles des priorités fixes
et celles du tourniquet
La file des processus prêts est divisée en
autant de sous files Fi qu’il existe de niveaux
de priorité
6
Pour remédier au problème de famine –
mécanisme d’extinction de priorité
La priorité d’un processus baisse au cours de son exécution
6
Services et facilités
Gestion de la concurrence
Communication entre plusieurs
programmes, synchronisation
de l’accès aux données
partagées (outil de
communication et de
synchronisation entre
programmes)
6
Gestion de la
Les processus peuvent avoir besoin de
communiquer entre eux pour échanger des
données par le biais
D’une zone mémoire partagée
D’un fichier
En utilisant les outils de communication
offerts par le système d’exploitation
Les processus ne sont plus indépendants
Accès concurrents aux ressources logicielles
6
Gestion de la
Une ressource désigne toute entité dont a
besoin un processus pour s’exécuter
Matérielle (le processeur, un périphérique)
Logicielle (variable)
Une ressource est caractérisée par
un état
libre
occupée
Nombre de points d’accès
Le nombre de processus pouvant l’utiliser en même
temps
6
Gestion de la
Ressource critique – ressource ne
pouvant être utilisée que par un seul
processus à la fois
Processeur, imprimante
Utilisation d’une ressource
Allocation de la ressource
Utilisation
Restitution de la ressource
6
Gestion de la
Les phases d’allocation et de
restitution d’une ressource doivent
assurer que la ressource est utilisée
conformément à son nombre de points
d’accès
Étape d’allocation
Peut bloquer un processus, si tous les
points d’accès sont occupés
7
Gestion de la
Étape de restitution
Peut entraîner le déblocage d’un autre
processus en attente d’accès
Synchronisation entre processus doit
garantir une bonne utilisation des
ressources
Une communication cohérente
Sans perte de données
7
Services et facilités
Gestion de la mémoire
Allocation de la mémoire centrale:
principe de la mémoire virtuelle, à
un instant donné, seules les parties
de code et données utiles à
l’exécution sont chargées en
mémoire centrale
7
Gestion de la
La tâche principale de la gestion de
la mémoire est de charger des
programmes en mémoire pour qu’ils
soient exécuté par le CPU
Mémoire virtuelle
La taille du programme, des données et de
la pile peut dépasser la mémoire
disponible. Le SE garde en mémoire les
parties du programme qui sont utilisées et
stocke le reste dans le disque
Cette méthode est basée sur deux
7
Gestion de la
principes de gestions, la SEGMENTATION et
la PAGINATION
7
Gestion de la
Pagination
L’espace d’adressage du programme est
découpé en morceaux linéaires de même taille
appelés pages
L’espace de la mémoire physique est lui-même
découpé en morceaux linéaires de même taille
appelés case
Taille page = case – définie par le matériel (selon SE
entre 512 octets et 8192 octets)
Charger un programme en mémoire centrale -
placer les pages dans les cases disponibles
Pour connaître à tout moment quelles sont les cases
libres en mémoire centrale, le système maintient une
table des cases
Pour chaque case de la mémoire physique, information
– Libre ou occupée
Gestion de la
– Si occupée, quelle page et quel processus la possèdent
72
Pages et Cases ( ) 1
Programme Mémoire
A Translation
S
i
m
p
l
e
P
a
g
e
T
a
b
l
e
7
Recherche d’une
7
Gestion de la
Conversion adresse logique –
adresse physique
Pour toute page il faut connaître dans
quelle case de la mémoire centrale celle-ci
a été placée
Correspondance page – case s’effectue grâce
à une structure – table de pages
La table des pages – contient autant
d’entrées que de pages dans l’espace
d’adressage d’un processus
Chaque processus a sa propre table des pages
Chaque entrée – un couple <numéro de
page, numéro de case physique dans 8
Gestion de la
laquelle la page est chargée>
8
Table de
Page Frame
Pages not in main memory:
1 6 page fault when accessed Disk
2 4
3 1 2 3 4
4 8
5 5 6 7 8
6 10 10 11
9
7 1
8 2
9
10 7
11
Inc.
Swap space
Copyright 2010 John Wiley & Sons,
8
Table de
Virtual Memory Pages
80
8
Allocation de la mémoire pour 3
processus
8
Gestion de la
Le remplacement de pages
Traitement d’un défaut de page pour un
processus peut se faire
Localement à ce processus
Globalement sur l’ensemble des processus (plus
souvent mis en œuvre)
Algorithmes de remplacement de pages
FIFO (First In, First Out)
LRU ( Least Recently Used)
LFU (Least Frequently Used)
MFU (Most Frequently Used)
8
Gestion de la
Algorithmes de remplacement de pages
FIFO (First In, First Out)
La page la plus anciennement chargée
qui est remplacée
Performances ne sont pas toujours bonnes
(l’âge ne reflète pas d’utilité)
LRU ( Least Recently Used)
La page la moins récemment utilisée qui est
remplacée
Localité temporelle
Le plus utilisé, mais plus coûteuse
8
Gestion de la
Algorithmes de remplacement de pages
LFU (Least Frequently Used)
La page la moins fréquemment utilisée est remplacée
Problème vis-à-vis des pages abondamment
référencées sur un court laps de temps
=>compteur pour ces pages – elevé => ne sont
pas retirées de la mémoire même si elles ne sont
plus jamais référencées
MFU (Most Frequently Used)
La page la plus fréquemment utilisée qui est remplacée
L’argument à la base – une page ayant un petit
nombre de références vient sans doute d’être
chargée en mémoire centrale et doit donc y rester
8
Étapes lors de défaut de page
8
Gestion de la
Protection de l’espace
d’adressage des processus
Des bits de protection sont associés à
chaque page de l’espace d’adressage du
processus et permettent ainsi de définir
le type d’accès autorisés à la page
Ces bits de protection sont
mémorisés pour chaque page dans la
table des pages du processus
3 bits sont utilisés - l’autorisation d’accès en
Lecture – r
Écriture – w
Exécution - x
9
Translation d’adresse
9
Gestion de la
Pagination
Pagination multiniveaux
L’espace d’adressages logiques supporté
par les SE actuels est très grand (de 232 à
264 octets)
La table des pages d’un processus peut
devenir également de très grande taille et
comporter jusqu’à un million d’entrées
Il n’est dès lors plus envisageable de charger
de manière contiguë la table des pages d’un
processus
Solution: paginer la table des pages elle-même
9
Gestion de la
Pagination
Pagination multiniveaux
L’adresse paginée devient un triplet <hp, p, d>
hp – l’entrée d’une hypertable des pages
Chaque entrée correspond à une page contenant une
partie de la table des pages du processus
p – une entrée de cette partie de la table des pages
d – un déplacement dans la page p
L’hypertable des pages est placée en
mémoire centrale et son adresse
d’implantation en mémoire centrale est
repérée par un registre matériel de la MMU
3 accès à la mémoire
9
Gestion de la
Segmentation
La pagination constitue un découpage de
l’espace d’adressage du processus qui ne
correspond pas à l’image que le
programmeur a de son programme
Données
Programme principal
Procédures séparées
Pile d’exécution
La segmentation est un découpage de
l’espace d’adressage qui cherche à
conserver le vue du programmeur
9
Gestion de la
Segmentation
Lors de la compilation, le compilateur
associe un segment à chaque morceau du
programme compilé
Segment est un ensemble
d’emplacement mémoire consécutifs
non sécable
Les segments d’un même espace d’adressage
peuvent être de taille différente
Segment 1
données 50 Ko
Segment 4
Pile 25 Ko
Gestion de la 96
Vue Utilisateur Segmentation
Segmentatio
9
Gestion de la
Le principe de la mémoire virtuelle est
couramment implémenté avec la
pagination à la demande
Les pages des processus ne sont
chargées en mémoire centrale que
lorsque le processeur demande à y
accéder
9
Mémoire Virtuelle vs. Mémoire Cache
10
Machines virtuelles: le problème et la solution
10
Machines Virtuelles
Virtuel en informatique dénote quelque
chose qui n ’est pas réel, n ’est pas du
matériel: il est construit par le logiciel sur la
base des ressources fournies par le matériel
Une machine virtuelle est une machine
créée par des couche de logiciel
Elle peut avoir des caractéristiques
identiques à la machine physique du
système:
mêmes instructions, etc.
Ou elle peut ‘simuler’ une autre machine
physique
p.ex.pour exécuter Microsoft sur Apple
Plusieurs machines virtuelles peuvent être
créées
sur une machine physique 10
2
donnée!
(a) Une seule mach. réelle et un seul noyau
(b) Plus. mach. virtuelles et plus. noyaux
103
Fonctionnement
Le système VM laisse exécuter
normalement les instructions non
privilégiées
Les appels au système sont exécutés
par le système VM et les résultats sont
passés à la machine virtuelle sur
laquelle le processus exécute
104
Avantage
Chaque machine virtuelle peut sa
utiliser un SE différent! ns
En théorie, on peut bâtir des d
machines virtuelles sur des ér
machines virtuelles! a
Protection complète, car les n
machines virtuelles sont g
complètement isolées les unes er
des autres le
Un nouveau SE peut être s
développé sur une machine a
virtuelle ut
Avantage
res
105
Implémentation
10
Outils de
Les outils classiques utilisés
dans le développement d’un
programme sont
Éditeur de texte
Traducteur
Compilateur
Assembleur
Éditeur de liens
Débogueur
10
Outils de
idée
Éditeur de texte
Programme
Traducteur: compilateur,source
assembleur
Sous- Sous-
programmes de Programme objet programmes
librairie Traduits à part
Éditeur de liens
Programme objet
Chargeur
10
Compilateu
11
Compilateu
Le travail du compilateur se
divise en plusieurs phases:
L’analyse lexicale
Reconnaissance des mots du langage
L’analyse syntaxique
Vérification de la syntaxe
L’analyse sémantique
L’optimisation et la génération du
code objet
11
Compilateu
Analyse lexicale
Consiste à lire le programme
source et à produire une séquence
d’éléments syntaxiques (nombres,
variables, identificateurs,
opérateurs, etc.)
Permet d’identifier quelques erreurs
(éléments ≠ langage, nombres
illégaux, etc.)
11
Compilateu
Analyse syntaxique
Analyse la suite de symboles issus de
l’analyseur lexical et vérifie si cette
suite de symboles est conforme à la
syntaxe du langage (règles de la
grammaire)
Analyseur syntaxique essaye de
construire l’arbre syntaxique
correspondant au programme. Dans cet
arbre les feuilles correspondent aux
symboles issus de l’analyse lexicale et
11
Compilateu
les nœuds intermédiaires
correspondent aux objets
grammaticaux
11
Compilateu
Analyse sémantique
Associer un sens aux différentes
phrases du programme source
Reconnaître les objets manipulés et
analyser leurs propriétés
Type de l’objet, sa durée de vie, sa taille et son adresse
Contrôler que l’utilisation de ces objets se
fait de manière cohérente
Recherche les erreurs de typage, les
déclarations multiples, absentes ou
inutiles, les expressions incohérentes
11
Compilateu
L’optimisation et la génération du
code objet
Étape ultime de la compilation
Consiste à produire dans un fichier
objet le code machine équivalent au
code du langage de haut niveau, 3
étapes
Génération d’un code intermédiaire
Optimisation de ce code intermédiaire
11
Compilateu
Génération d’un code intermédiaire
Consiste à remplacer les phrases
reconnues par des macros plus
aisément manipulables qui ne font
pas de référence aux registres de la
machine cible
Optimisation du code intermédiaire
Vise à produire un code machine
plus performant
L’exécution plus rapide
Un code plus compact dont
11
Compilateu
l’encombrement mémoire est moindre
11
Compilateu
Optimisation du code intermédiaire
Diverses améliorations, exemples:
La réduction des expressions constantes
Simplification des boucles et prés-évaluation des
expressions constantes
11
Chargeu
Le programme objet après
édition de lien doit être chargé
en mémoire centrale pour être
exécuter
Fichier exécutable – fichier relogeable
Lorsque le chargeur copie le code
exécutable depuis le disque vers la
mémoire centrale, il implante le
code dans un espace libre de la
mémoire centrale avec une adresse
11
Chargeu
quelconque appelée adresse
d’implantation mémoire
11
Chargeu
m
Fichier exécutable – fichier m
relogeable t
d’u
Toutes les adresses calculées dans le ilis
programme exécutable doivent être tio
d’u
modifiées e
Opération de translation des adresses ad
Ajouter à chaque adresse la valeur de es
l’adresse d’implantation mémoire e
re
Deux types de chargement ge
Statique ble
au
L’opération de translation est effectuée au co
moment du chargement pour toutes adresses sd
Dynamique l’e
L’opération de translation est effectuée au éc
ion
Chargeu
par le processeur
119
Débogueu
120