Upload
phamdat
View
234
Download
5
Embed Size (px)
Citation preview
Cours IP janvier 2000
165
Architecture des systèmes
Logic iel
L’ordinateur fournit 3 fonctions : calculer, mémoriser, communi-quer.
Pour nous rendre ces fonctions de bas niveau utilisables, il fautun certain nombre de programmes qui fournissent des fonctionsd’un niveau plus élevé, autour d’objets :
- ressource de calcul = processus ;- ressource de mémorisation = fichiers ;- ressource de communication = messages ou mémoire parta-
gée.
Cet ensemble de programmes constitue une
interface utilisateur
appelée un
système d’exploitation
.
Cours IP janvier 2000
166
Cours IP janvier 2000
167
Système d’exploi tat ion
ordinateur
système d’
exploitation
logiciels- « emballe », « cache »
le matériel ;- fournit des fonctions
évoluées à un, voireplusieurs utilisateurs ;
- permet de construired’autres logiciels.
Cours IP janvier 2000
168
Cours IP janvier 2000
169
Fonct ions d’un système d’exploi tat ion
- processus : création, destruction ;migration mémoire / fichier ;gestion mémoire …gestion de l’unité centrale.
- fichiers : création, destruction ;gestion des périphériques ;contrôle d’accès processus / fichiers.
- communication : création, destruction de prises & tuyaux ;contrôle d’accès inter-processus ;gestion des interruptions.
Cours IP janvier 2000
170
Cours IP janvier 2000
171
Processus
Programme exécutable = zone mémoire contenant du code ma-chine exécutable.
Génèse d’un processus :
- « traduction » d’un fichier texte en langage dit « évolué » pourobtenir du langage « machine » : assembleur, compilateur,interpréteur ;
- transfert de ce fichier dit « exécutable » en mémoire ;- exécution par l’unite centrale de l’instruction pour « sauter »
au début 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 d’exécution.
Comment réaliser plusieurs tâches ?
- à la queue leu leu : traitement par lot ;- en multipliant les unités centrales : architectures multi-
processeurs ;- en partageant le temps : temps partagé ou temps réel.
Les processus sont rangés dans des files d’attente, et tous les
∆
t,le système d’exploitation les réorganise et attribue l’unité centra-le de façon « équitable » à un seul processus.
Ce
∆
t est le « quantum de temps ».
Cours IP janvier 2000
174
Cours IP janvier 2000
175
Ordonnancement
Ces files d’attente sont : processus bloqués, prêts, ou actif.
prêts
bloqués
actif
Cours IP janvier 2000
176
Cours IP janvier 2000
177
Ordonnancement
t
abc
Cours IP janvier 2000
178
Cours IP janvier 2000
179
Gest ion des interrupt ions
Les périphériques peuvent signaler des événements importants àl’unité centrale via le bus. Ces signaux provoquent des interrup-tions de fonctionnement de l’unité centrale dont le scénario est :
- sauvegarde du contexte actuel : PC, registres ;- enregistrement correct de l’interruption dans la file des inter-
ruptions à traiter ;- restauration du contexte sauvegardé, que ce soit celui d’un
processus en cours d’exécution, ou celui du système.
Lors de l’expiration du quantum de temps en cours, le processusà qui était destiné cette interruption pourra sortir de la file desprocessus bloqués.
Cours IP janvier 2000
180
Cours IP janvier 2000
181
F ichier
Structure de données permettant de manipuler la mémoire « àlong terme », techniquement sur disque.
Types de fichiers définis par leur méthode d’accès :
- séquentiel : on lit depuis le début tout le contenu à la queueleu leu ;
- indexé : on accède directement à un « enregistrement » dont laposition est stockée dans l’index.
index enregistrements
Cours IP janvier 2000
182
Cours IP janvier 2000
183
Gest ion de pér iphér ique
Transforme des requêtes utilisateur de lecture ou écriture en opé-rations de contrôle sur le bus permettant :
- positionnement correct du bras : cylindre, piste, secteur ;- indication du nombre de secteurs à lire ou écrire ;- indication de l’opération : lecture ou écriture ;- en attente de la terminaison de l’opération, le processus passe
de l’état actif dans la file des processus bloqués.
Cours IP janvier 2000
184
Cours IP janvier 2000
185
Gest ion de la mémoire
Pour gérer plusieurs processus tout en évitant de les« promener » de la mémoire vers un disque chaque fois qu’ilsdoivent libérer l’unité centrale, plusieurs processus peuvent« résider » simultanément en mémoire.
⇒
partitionnement
de la mémoire.
Chaque processus à un espace d’adressage propre : intervalle demémoire contigu.
Celà nécessite, au niveau de l’unité de contrôle de faire quelquesnouvelles opérations :
- traduction d’adresse ;- protection d’adresses.
Ces opérations sont confiées à une unité dédiée : la MMU.
Cours IP janvier 2000
186
Cours IP janvier 2000
187
Gest ion de la mémoire
Terminaison de processus
⇒
création de trous !
P0
t
000000
111111
P0
P1 P1
P2
Où vais-je ?
Cours IP janvier 2000
188
Cours IP janvier 2000
189
Gest ion de la mémoire
2 solutions : segmentation, pagination.
Adresse = numéro de segment + position relative.
Adresse = numéro de page + position relative.
Tâches du S.E. :
- gérer les carences de mémoire ;- étendre la mémoire sur un périphérique, vu comme de la mé-
moire dite « secondaire », par opposition à la mémoire dite« principale » ;
- promener les processus bloqués entre la mémoire principale etla mémoire secondaire.
Cours IP janvier 2000
190
Cours IP janvier 2000
191
Langage de commande
Un des logiciels essentiels aux S.E. :
- assembler des logiciels : séquence, répétition, parallèlisme, …ex. : faire 10 fois la tâche A
- faire communiquer des logiciels entre-eux, les synchroniser,…ex. : tâche A → résultats → tâche B
Cours IP janvier 2000
192
Cours IP janvier 2000
193
Les systèmes d’exploi tat ion
- MS-DOS (Microsoft Disk Operating System) : pas un S.E..Interface de gestion de disques & disquettes très sommaire.
- Windows : (Fenêtres) pas un S.E.. Interface à base de multi-fenêtrage bâtie sur MS-DOS. Mono-utilisateur, mono-tâche,sans gestion correcte de la mémoire, peu performant.Son succès : lier (vérouiller) le fonctionnement des applica-tions Microsoft, de Windows, et l’architecture matérielle(stratégie du marché captif, marketing).
- MacOS : est un S. E., mono-utilisateur, multi-tâche, intégrantune interface à base de multi-fenêtrage, mais avec une gestionde la mémoire 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
Unix
Système d’exploitation :
- temps partagé ;- multi-utilisateur ;- à architecture modulaire ;- majoritairement écrit en langage évolué (le langage C) ;- indépendant de l’architecture matérielle de l’ordinateur.
Ces 3 derniers points sont des caractéristiques d’Unix qui en ontassuré une large diffusion aussi bien chez « tous » les construc-teurs d’ordinateurs que dans « tous » les centres de recherches eninformatique.
À sa naissance il révolutionnait une longue tradition d’obscuran-tisme des S. E. : d’architecture monolithique, écrits en assem-bleur, et étroitement liés au matériel.
Cours IP janvier 2000
196
Cours IP janvier 2000
197
Système modulaire
Noyau, bibliothèques, shell, applications.
ordinateur
noyau
UNIX
bibliothèquescommandes
Cours IP janvier 2000
198
Cours IP janvier 2000
199
Temps par tagé
Processus : Unix gère un ensemble de processus identifiés par unentier PID (Process IDentifier).
À chaque processus est associée une structure dans laquelle sontstockées des informations d’état et d’action. On parle de contextedu processus : PC, registres, mais aussi informations sur les fi-chiers ouverts, sur les communications en cours.
Tout processus est créé par un processus père : appel systèmefork(2) . Ainsi évolue au cours du fonctionnement d’Unix unarbre de processus. Le 1er processus est « pondu » au démarrage.
Traitement d’interruption
- le contexte courant du processus « actif », est sauvegardé dansune zone mémoire propre à ce processus ;
- le noyau traite ses appels en cours et recalcule les priorités.
Cours IP janvier 2000
200
Cours IP janvier 2000
201
Mult i -ut i l isateur
Les utilisateurs sont identifiés sur Unix par un couple : UID,GID.
L’UID est utilisé dans le contrôle d’accès à la mémoire, aux pro-cessus, et aux fichiers. Le GID ne sert que dans le contrôle d’ac-cès aux fichiers.
La mémoire attribuée à chaque processus est protégée : lorsqu’unprocessus tente par erreur de franchir l’une des limites de son es-pace mémoire, une interruption système est provoquée, le pro-cessus est interrompu, et un traitement prévu est appliqué.
Cours IP janvier 2000
202
Cours IP janvier 2000
203
Système de fichiers
Fichiers non typés, non structurés. Un fichier est identifié par unnuméro de nœud : i-node. Un nom de fichier est un lien entre uneentrée de répertoire 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
datablock
Cours IP janvier 2000
204
Cours IP janvier 2000
205
Système de fichiers
Les blocs de données d’un répertoire contiennent une suite decouples : (i-node, nom_de _fichier).
Les disques physiques sont divisés en partitions . Chacune de cespartitions suporte un arbre du système de fichiers. L’ensemble deces arbres sont « bouturés » les uns aux autres par : mount(8).
Un fichier décrit ces associations : fstab(4).
Chaque partition contient des blocs de données, des blocs réser-vés aux i-nodes, ainsi qu’une structure en décrivant l’organisa-tion appelée le superblock localisé en début (physique) departition. 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 fichiers
Les opérations de lecture / écriture sur disques sont désynchroni-sés des demandes provenant des processus.
entrées / sorties : logiques ≠ physiques ⇒
- gestion d’un cache par le système ;- synchronisation régulière : update(8) ;- éventuels incidents ;- procédure de reconstruction de la structure du système de
fichiers : fsck(8).
Cours IP janvier 2000
208
Cours IP janvier 2000
209
Appels 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 systèmes relatifs au système de fichiersutilisent ces descripteurs de fichier.
read(2) : → nombre d’octets lus ;
write(2) : → nombre d’octets écrits ;
lseek(2) : fixe la position dans un fichier (offset).
Cours IP janvier 2000
210
Cours IP janvier 2000
211
Environnement Unix
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 lacuneentre les shells et les langages de programmation ;
Outils de gestion de logiciel :
- make : permet de décrire les recettes de fabrication de logi-ciels : compilation, édition de liens, exécution ;
- RCS (Revision Control System) : permet de gérer les diffé-rentes d’un 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 (d’après 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 : « There’s more than one way to do it. »
Voir : <URL:http://www.perl.com>
Cours IP janvier 2000
213
Système de mult i - fenêtrage X
X est constitué de :
- un serveur :programme gérant du matériel : un display,et du logiciel : des fenêtres, des ressources, des événements;
- des clients :des programmes qui utilisent ce serveur;
- un protocole permettant de les faire communiquer,- des bibliothèques qui réalisent ce protocole, et l’interface des
clients.
Cours IP janvier 2000
214
Cours IP janvier 2000
215
Protocole X : cl ient - serveur
X utilise le modèle client-serveur, basé sur le protocole X.
Lui-même basé sur un protocole de transport.
Système
Réseau
tcp/ip
Xserver
Système
tcp/ip
cl1cl0
Xprotocol
XlibXlib
Cours IP janvier 2000
216
Cours IP janvier 2000
217
Clients
Tous les programmes basés sur la bibliothèque X.
Utilisent le protocole X pour envoyer des requêtes au serveur X,qui réalisera leurs fonctions graphiques.
Ce sont ces clients X qui construisent l’interface homme-machi-ne du X Window System.
Quelques clients essentiels faisant partie de la distribution du XWindow System :
xterm : une émulation de terminal,twm ; un gestionnaire de fenêtres,xclock , xbiff , xcalc , xclipboard :
des accessoires de bureau,xedit , emacs :des éditeurs, ….
Cours IP janvier 2000
218
Jusqu’en 1996, la distribution, l’évolution du X Window System était assurée par le X Consortium, groupement à but non lucratif,dont étaient membres presque tous les constructeurs informatiques. Cette responsabilité a été reprise par l’Open Group depuis1997 : <URL:http://www.opengroup.org/desktop> .
Cours IP janvier 2000
219
Bibl iothèque(s), appl icat ions
Le développement d’interfaces graphiques ne peut se faire avecla Xlib.
Widget = window gadget ! ⇒ bibliothèques de haut niveau.
XlibXt
Xaw
libcUnix
perlTk
GUI
Cours IP janvier 2000
220