You are on page 1of 56

Cours IP janvier 2000

165

Architecture des systmes

Logi ci el

Lordinateur fournit 3 fonctions : calculer, mmoriser, communi-
quer.
Pour nous rendre ces fonctions de bas niveau utilisables, il faut
un certain nombre de programmes qui fournissent des fonctions
dun niveau plus lev, autour dobjets :
- ressource de calcul = processus ;
- ressource de mmorisation = chiers ;
- ressource de communication = messages ou mmoire parta-
ge.
Cet ensemble de programmes constitue une

interface utilisateur

appele un

systme dexploitation

.

Cours IP janvier 2000

166

Cours IP janvier 2000

167

Syst me d expl oi t at i on
ordinateur
systme d
exploitation
logiciels
- emballe , cache
le matriel ;
- fournit des fonctions
volues un, voire
plusieurs utilisateurs ;
- permet de construire
dautres logiciels.

Cours IP janvier 2000

168

Cours IP janvier 2000

169

Fonct i ons d un syst me d expl oi t at i on

- processus : cration, destruction ;
migration mmoire / chier ;
gestion mmoire
gestion de lunit centrale.
- chiers : cration, destruction ;
gestion des priphriques ;
contrle daccs processus / chiers.
- communication : cration, destruction de prises & tuyaux ;
contrle daccs inter-processus ;
gestion des interruptions.

Cours IP janvier 2000

170

Cours IP janvier 2000

171

Processus

Programme excutable = zone mmoire contenant du code ma-
chine excutable.
Gnse dun processus :
- traduction dun chier texte en langage dit volu pour
obtenir du langage machine : assembleur, compilateur,
interprteur ;
- transfert de ce chier dit excutable en mmoire ;
- excution par lunite centrale de linstruction pour sauter
au dbut du programme.

Cours IP janvier 2000

172

Cours IP janvier 2000

173

Ordonnancement

un instant donn, le registre PC contient une seule instruction.
Donc un seul processus est en cours dexcution.
Comment raliser plusieurs tches ?
- la queue leu leu : traitement par lot ;
- en multipliant les units centrales : architectures multi-
processeurs ;
- en partageant le temps : temps partag ou temps rel.
Les processus sont rangs dans des les dattente, et tous les


t,
le systme dexploitation les rorganise et attribue lunit centra-
le de faon quitable un seul processus.
Ce


t est le quantum de temps .

Cours IP janvier 2000

174

Cours IP janvier 2000

175

Ordonnancement

Ces les dattente sont : processus bloqus, prts, ou actif.
prts
bloqus
actif

Cours IP janvier 2000

176

Cours IP janvier 2000

177

Ordonnancement
t
a
b
c

Cours IP janvier 2000

178

Cours IP janvier 2000

179

Gest i on des i nt errupt i ons

Les priphriques peuvent signaler des vnements importants
lunit centrale via le bus. Ces signaux provoquent des interrup-
tions de fonctionnement de lunit centrale dont le scnario est :
- sauvegarde du contexte actuel : PC, registres ;
- enregistrement correct de linterruption dans la le des inter-
ruptions traiter ;
- restauration du contexte sauvegard, que ce soit celui dun
processus en cours dexcution, ou celui du systme.
Lors de lexpiration du quantum de temps en cours, le processus
qui tait destin cette interruption pourra sortir de la le des
processus bloqus.

Cours IP janvier 2000

180

Cours IP janvier 2000

181

Fi chi er

Structure de donnes permettant de manipuler la mmoire
long terme , techniquement sur disque.
Types de chiers dnis par leur mthode daccs :
- squentiel : on lit depuis le dbut tout le contenu la queue
leu leu ;
- index : on accde directement un enregistrement dont la
position est stocke dans lindex.
index enregistrements

Cours IP janvier 2000

182

Cours IP janvier 2000

183

Gest i on de pri phri que

Transforme des requtes utilisateur de lecture ou criture en op-
rations de contrle sur le bus permettant :
- positionnement correct du bras : cylindre, piste, secteur ;
- indication du nombre de secteurs lire ou crire ;
- indication de lopration : lecture ou criture ;
- en attente de la terminaison de lopration, le processus passe
de ltat actif dans la le des processus bloqus.

Cours IP janvier 2000

184

Cours IP janvier 2000

185

Gest i on de l a mmoi re

Pour grer plusieurs processus tout en vitant de les
promener de la mmoire vers un disque chaque fois quils
doivent librer lunit centrale, plusieurs processus peuvent
rsider simultanment en mmoire.




partitionnement

de la mmoire.
Chaque processus un espace dadressage propre : intervalle de
mmoire contigu.
Cel ncessite, au niveau de lunit de contrle de faire quelques
nouvelles oprations :
- traduction dadresse ;
- protection dadresses.
Ces oprations sont cones une unit ddie : la MMU.

Cours IP janvier 2000

186

Cours IP janvier 2000

187

Gest i on de l a mmoi re

Terminaison de processus


cration de trous !
P
0
t
000000
111111
P
0
P
1
P
1
P
2
O vais-je ?

Cours IP janvier 2000

188

Cours IP janvier 2000

189

Gest i on de l a mmoi re

2 solutions : segmentation, pagination.
Adresse = numro de segment + position relative.
Adresse = numro de page + position relative.
Tches du S.E. :
- grer les carences de mmoire ;
- tendre la mmoire sur un priphrique, vu comme de la m-
moire dite secondaire , par opposition la mmoire dite
principale ;
- promener les processus bloqus entre la mmoire principale et
la mmoire secondaire.

Cours IP janvier 2000

190

Cours IP janvier 2000

191

Langage de commande
Un des logiciels essentiels aux S.E. :
- assembler des logiciels : squence, rptition, paralllisme,
ex. : faire 10 fois la tche A
- faire communiquer des logiciels entre-eux, les synchroniser,

ex. : tche A rsultats tche B


Cours IP janvier 2000
192
Cours IP janvier 2000
193
Les syst mes d expl oi t at i on
- MS-DOS (Microsoft Disk Operating System) : pas un S.E..
Interface de gestion de disques & disquettes trs sommaire.
- Windows : (Fentres) pas un S.E.. Interface base de multi-
fentrage btie sur MS-DOS. Mono-utilisateur, mono-tche,
sans gestion correcte de la mmoire, peu performant.
Son succs : lier (vrouiller) le fonctionnement des applica-
tions Microsoft, de Windows, et larchitecture matrielle
(stratgie du march captif, marketing).
- MacOS : est un S. E., mono-utilisateur, multi-tche, intgrant
une interface base de multi-fentrage, mais avec une gestion
de la mmoire qui commence juste tre acceptable.
- VM, MVS, VMS, Unix, OS/2 : S.E., multi-U, multi-T.
Unix est une grande famille de S. E. actuellement en pleine
volution. Les autres sont des branches mortes.
Cours IP janvier 2000
194
Cours IP janvier 2000
195
Uni x
Systme dexploitation :
- temps partag ;
- multi-utilisateur ;
- architecture modulaire ;
- majoritairement crit en langage volu (le langage C) ;
- indpendant de larchitecture matrielle de lordinateur.
Ces 3 derniers points sont des caractristiques dUnix qui en ont
assur une large diffusion aussi bien chez tous les construc-
teurs dordinateurs que dans tous les centres de recherches en
informatique.
sa naissance il rvolutionnait une longue tradition dobscuran-
tisme des S. E. : darchitecture monolithique, crits en assem-
bleur, et troitement lis au matriel.
Cours IP janvier 2000
196
Cours IP janvier 2000
197
Syst me modul ai re
Noyau, bibliothques, shell, applications.
ordinateur
noyau
UNIX
bibliothques
commandes
Cours IP janvier 2000
198
Cours IP janvier 2000
199
Temps par t ag
Processus : Unix gre un ensemble de processus identis par un
entier PID (Process IDentier).
chaque processus est associe une structure dans laquelle sont
stockes des informations dtat et daction. On parle de contexte
du processus : PC, registres, mais aussi informations sur les -
chiers ouverts, sur les communications en cours.
Tout processus est cr par un processus pre : appel systme
fork(2). Ainsi volue au cours du fonctionnement dUnix un
arbre de processus. Le 1er processus est pondu au dmarrage.
Traitement dinterruption
- le contexte courant du processus actif , est sauvegard dans
une zone mmoire propre ce processus ;
- le noyau traite ses appels en cours et recalcule les priorits.
Cours IP janvier 2000
200
Cours IP janvier 2000
201
Mul t i - ut i l i sat eur
Les utilisateurs sont identis sur Unix par un couple : UID,
GID.
LUID est utilis dans le contrle daccs la mmoire, aux pro-
cessus, et aux chiers. Le GID ne sert que dans le contrle dac-
cs aux chiers.
La mmoire attribue chaque processus est protge : lorsquun
processus tente par erreur de franchir lune des limites de son es-
pace mmoire, une interruption systme est provoque, le pro-
cessus est interrompu, et un traitement prvu est appliqu.
Cours IP janvier 2000
202
Cours IP janvier 2000
203
Syst me de chi ers
Fichiers non typs, non structurs. Un chier est identi par un
numro de nud : i-node. Un nom de chier est un lien entre une
entre de rpertoire et cet i-node.
i-node
nom_fich. type
access modes
UID
GID
ref_count
last used time
last modif time
last inode mod t
size
12 direct blocks
1 indirect block
2 indirect block
3 indirect block
data
block
Cours IP janvier 2000
204
Cours IP janvier 2000
205
Syst me de chi ers
Les blocs de donnes dun rpertoire contiennent une suite de
couples : (i-node, nom_de _chier).
Les disques physiques sont diviss en partitions. Chacune de ces
partitions suporte un arbre du systme de chiers. Lensemble de
ces arbres sont bouturs les uns aux autres par : mount(8).
Un chier dcrit ces associations : fstab(4).
Chaque partition contient des blocs de donnes, des blocs rser-
vs aux i-nodes, ainsi quune structure en dcrivant lorganisa-
tion appele le superblock localis en dbut (physique) de
partition. Chaque partition contient une table des blocs disponi-
bles, une table des i-nodes disponibles.
Cours IP janvier 2000
206
Cours IP janvier 2000
207
Syst me de chi ers
Les oprations de lecture / criture sur disques sont dsynchroni-
ss des demandes provenant des processus.
entres / sorties : logiques physiques
- gestion dun cache par le systme ;
- synchronisation rgulire : update(8) ;
- ventuels incidents ;
- procdure de reconstruction de la structure du systme de
chiers : fsck(8).
Cours IP janvier 2000
208
Cours IP janvier 2000
209
Appel s syst me
open(2) : descripteur de fichier (entier)
int fd;
fd = open ("/etc/motd", O_RDONLY);
if (fd < 0) {
fprintf (stderr, "cannot open /etc/motd\n");
exit (1);
}
Tous les autres appels systmes relatifs au systme de chiers
utilisent ces descripteurs de chier.
read(2) : nombre doctets lus ;
write(2) : nombre doctets crits ;
lseek(2) : fixe la position dans un fichier (offset).
Cours IP janvier 2000
210
Cours IP janvier 2000
211
Envi ronnement Uni x
Shell : sh, bash ;
Langages de programmation : (souvent en standard) C, Fortran,
Lisp, Ada, Pascal ;
Utilitaires de manipulation de texte : grep, awk, sed ;
Langages de script : Tcl , Perl, Python comblent une lacune
entre les shells et les langages de programmation ;
Outils de gestion de logiciel :
- make : permet de dcrire les recettes de fabrication de logi-
ciels : compilation, dition de liens, excution ;
- RCS (Revision Control System) : permet de grer les diff-
rentes dun logiciel.
Cours IP janvier 2000
212
Tcl : Tool Command Language, se prononce tikeul. Ex.: calcul de factorielle n en Tcl :
proc fact n {
if {$n <= 1} {
return 1
}
return [expr $n * [fact [ expr $n-1]]]
}
Pour en savoir plus : <URL:http//www.smli.com/research/tcl/>
Python (daprs les Monthy Python) est un langage de script orient objet .
def fact(n):
if n <= 1:
return 1
return n * fact(n-1)
Voir : <URL:http://www.python.org>
Perl : Theres more than one way to do it.
Voir : <URL:http://www.perl.com>
Cours IP janvier 2000
213
Syst me de mul t i - fent rage X
X est constitu de :
- un serveur :
programme grant du matriel : un display,
et du logiciel : des fentres, des ressources, des vnements;
- des clients :
des programmes qui utilisent ce serveur;
- un protocole permettant de les faire communiquer,
- des bibliothques qui ralisent ce protocole, et linterface des
clients.
Cours IP janvier 2000
214
Cours IP janvier 2000
215
Prot ocol e X : cl i ent - serveur
X utilise le modle client-serveur, bas sur le protocole X.
Lui-mme bas sur un protocole de transport.
Systme
Rseau
tcp/ip
Xserver
Systme
tcp/ip
cl1 cl0
Xprotocol
Xlib Xlib
Cours IP janvier 2000
216
Cours IP janvier 2000
217
Cl i ent s
Tous les programmes bass sur la bibliothque X.
Utilisent le protocole X pour envoyer des requtes au serveur X,
qui ralisera leurs fonctions graphiques.
Ce sont ces clients X qui construisent linterface homme-machi-
ne du X Window System.
Quelques clients essentiels faisant partie de la distribution du X
Window System :
xterm : une mulation de terminal,
twm ; un gestionnaire de fentres,
xclock, xbiff, xcalc, xclipboard :
des accessoires de bureau,
xedit, emacs :des diteurs, .
Cours IP janvier 2000
218
Jusquen 1996, la distribution, lvolution du X Window System tait assure par le X Consortium, groupement but non lucratif,
dont taient membres presque tous les constructeurs informatiques. Cette responsabilit a t reprise par lOpen Group depuis
1997 : <URL:http://www.opengroup.org/desktop>.
Cours IP janvier 2000
219
Bi bl i ot hque( s) , appl i cat i ons
Le dveloppement dinterfaces graphiques ne peut se faire avec
la Xlib.
Widget = window gadget ! bibliothques de haut niveau.
Xlib
Xt
Xaw
libc
Unix
perl
Tk
GUI
Cours IP janvier 2000
220