Beruflich Dokumente
Kultur Dokumente
SRI_B
CHAPITRE 1
FOURNIR L'UTILISATEUR
UNE MACHINE VIRTUELLE
ET
UN ENVIRONNEMENT D'EXCUTION DE PROGRAMMES
Plan
ENVIRONNEMENT DE TRAVAIL ADAPT AU BESOIN DE L'UTILISATEUR
Manuel 1
Machine virtuelle et environnement utilisateur
1. Environnement de travail adapt au besoin de l'utilisateur
On attend du systme d'exploitation qu'il fournisse l'utilisateur de l'ordinateur un
cadre de travail adquat. En particulier lorsque l'utilisateur veut crire et excuter des
programmes, ce cadre doit comprendre une image simplifie de l'architecture matrielle, qu'on
appelle une architecture virtuelle, et un environnement d'excution qui lui apporte les principales
fonctionnalits complmentaires qui lui sont ncessaires.
Le rle du systme est de fournir chaque utilisateur une machine virtuelle.
1.1. Fonctions de l'environnement d'excution de la machine virtuelle
L'environnement de travail doit faciliter la mise en place et le contrle des informations
traiter, la communication et de l'excution.
Cela comprend au moins une interface de gestion de l'information, une interface de
gestion des communications et une interface de contrle d'excution.
1.1.1. Fonction de gestion de l'information
01 Manuel
mai 2002
Claude Kaiser
SRI_B
Il s'agit de fournir une aide pour la structuration des programmes, des donnes, des
objets de l'utilisateur et pour leur conservation dans des fichiers et pour la structuration de
catalogues. Cette fonction comporte la dsignation de ces objets pour les reprer lors de leur
appel, donc la cration et la gestion d'espaces d'adressage, de catalogues de fichiers ou de
serveurs de noms d'objets. Elle fournit les interfaces pour le partage et le contrle d'accs aux
objets partags.
1.1.2. Fonction de gestion des communications
Il s'agit de permettre l'accs d'autres utilisateurs ou plus exactement leurs machines
virtuelles, qu'elles soient locales, distantes ou mobiles, des supports externes, via des entressorties, des objets, des composants partageables, des services, des fichiers qu'ils soient
locaux, distants ou mobiles, des groupes de diffusion ou de coopration.
1.1.3. Fonction de contrle d'excution
Il faut permettre de lancer et de suivre des excutions de programmes en squence, en
parallle, en concurrence, de composer et d'enchaner des programmes, de synchroniser des
excutions. On doit y trouver des aides pour la mise au point, pour le traitement des
dfaillances, pour la pose et lexploitation de points de reprises, pour la mesure du temps.
1.2. Niveau d'abstraction et visibilit de l'environnement
L'environnement de travail dpend du niveau d'abstraction o se place ce travail.
Si l'utilisateur se situe dans une application particulire, c'est celle-ci qui dfinit
l'environnement utilisable et l'interface homme machine (IHM)
Si l'utilisateur se place au niveau des fichiers et du langage de commande, c'est le script
crit en ce langage qui manipule l'environnement. Les objets sont des fichiers de stockage ou
des fichiers excutables ou interprtables.
Un niveau important est celui du langage machine ou d'un langage, comme le C, qui
donne accs aux conventions de l'architecture et de la machine virtuelles.
Quand l'utilisateur crit des programmes dans un langage volu comme Ada, Java,
Modula, C++, il utilise l'environnement qui est dfini par le langage.
D'autres niveaux, comme ceux des plates-formes Corba, Java, Dcom, dfinissent aussi
des environnements pour grer des objets locaux ou distants (bus logiciel et appels de mthodes
standard)
La gestion de l'environnement peut tre explicitement faite par l'utilisateur ou son
programme. Cela passe par des appels aux primitives systmes.
La gestion de l'environnement peut tre implicite avec mise en place automatique par un
compilateur ou son moteur d'excution ("run time"), par un interprteur ou par le systme.
Cette gestion suit des conventions prdfinies au niveau du langage de programmation ou de
commande (appel de bibliothque standard dont les programmes contiennent les appels aux
primitives systme).
mai 2002
Claude Kaiser
SRI_B
01 Manuel
mai 2002
Claude Kaiser
SRI_B
Un processus attend la fin de son fils par une primitive wait qui lui permet de
rcuprer la variable dtat mise par exit. Si un pre se termine avant son fils, celui-ci devient
orphelin et est adopt par le processus permanent init.
2.5. La famille des processus de l'utilisateur et du systme
Ces primitives sont utilises par le systme pour vrifier le mot de passe dun utilisateur
et, en cas de succs, pour lancer linterprteur de commande (shell) particulier cet
utilisateur. Elles servent aussi crer un processus pour excuter une commande dans un
espace dadressage diffrent de celui de linterprteur de commande et pour procurer ainsi une
certaine isolation entre les codes des commandes successives.
2.6. Ordonnancement et commutation de processus
Comme ce systme encourage la cration de processus, il comprend plus de processus
que de processeurs et il faut ordonnancer lallocation du (ou des) processeur(s) aux processus.
Les processus qui attendent le processeurs sont des processus prts qui sont grs par priorits
et lanciennet quand plusieurs processus ont la mme priorit. Les processus utilisateurs ont
mme priorit, mais ils sont grs selon la mthode du tourniquet avec un quantum de temps de
service. Un processus qui est bloqu par une primitive dentre-sortie ou par un wait nest
pas mis dans les files des processus prts.
Les processus passent par divers tats que gre le systme : prt (ou ligible), lu,
bloqu, cr, zombie. Dans un systme qui dplace les processus par va et vient (swap
in, swap out) avec une mmoire secondaire, les tats prt et bloqu ont un double,
prt S et bloqu S.
La liste des processus et leurs caractristiques peuvent tre lus en mode utilisateur par la
commande ps.
Lallocation dynamique du processeur aux processus entrane des commutations de
contexte et un certain surcot de traitement.
mai 2002
Claude Kaiser
SRI_B
mai 2002