Sie sind auf Seite 1von 38

Systmes centraliss

Philippe Quinnec 21 mai 2013

Dnition Concepts Ralisation Conclusion

Droulement de l'enseignement

Le systme en ligne de commande (Jesse Himmelstein) Le systme en C (Jesse Himmelstein) Conception interne d'un systme (Philippe Quinnec)
Contrle des processus Mmoire virtuelle Systme de chiers

2 / 38

Dnition Concepts Ralisation Conclusion

Notion d'interface Systme d'exploitation Appels systme

Plan
1

3 4

Dnition Notion d'interface Systme d'exploitation Appels systme Concepts Processus Mmoire : protection et isolation Fichiers vnements Ralisation Conclusion
3 / 38

Dnition Concepts Ralisation Conclusion

Notion d'interface Systme d'exploitation Appels systme

Interfaces
Un service est caractris par son interface
L'interface est l'ensemble des fonctions accessibles aux utilisateurs du service Chaque fonction est dnie par son format (la description de son mode d'utilisation) - sa syntaxe sa spcication (la description de son eet) - sa smantique Ces descriptions doivent tre prcises, compltes (y compris les cas d'erreur) et non ambigus Les descriptions de l'interface d'un service doivent tre totalement indpendantes du mode de ralisation du service Facilite la portabilit Permet de remplacer une ralisation du service par une autre, condition qu'elle ralise la mme interface
4 / 38

Principe de base : sparation entre interface et ralisation

Dnition Concepts Ralisation Conclusion

Notion d'interface Systme d'exploitation Appels systme

Dnition
Qu'est-ce qu'un systme d'exploitation ? Le systme d'exploitation est l'intermdiaire entre l'ordinateur matriel et les applications qui l'utilisent.
emacs
compilateur

navigateur
Interface

Systme d'exploitation
Matriel

5 / 38

Dnition Concepts Ralisation Conclusion

Notion d'interface Systme d'exploitation Appels systme

Rles
Adaptation d'interface Le systme fournit une interface plus commode utiliser que celle du matriel : plus haut niveau d'abstraction dissimulation des limitations physiques et du partage des ressources entre utilisateurs Gestion de ressources Gre les ressources matrielles : mmoire, processeurs, disques. . . Gestion = allocation, partage, protection
6 / 38

Dnition Concepts Ralisation Conclusion

Notion d'interface Systme d'exploitation Appels systme

Un mal ncessaire

Le systme d'exploitation est indispensable : pour grer ecacement l'excution des programmes pour assurer le connement des erreurs en cours d'excution pour grer ecacement les ressources : processeurs, mmoires. . . pour orir une interface d'utilisation  agrable  aux usagers pour garantir une protection des donnes entre usagers

7 / 38

Dnition Concepts Ralisation Conclusion

Notion d'interface Systme d'exploitation Appels systme

Un programme dicile dvelopper


Des programmes complexes qui ont eu un impact Sur le gnie logiciel :
Modularit Couches de logiciel Machine virtuelle Paralllisme

Sur les architectures matrielles

Notion de mode d'excution Mcanismes de protection mmoire Notion d'interruption, de droutement

8 / 38

Dnition Concepts Ralisation Conclusion

Notion d'interface Systme d'exploitation Appels systme

Histoire

Source : S. Krakowiak  Introduction aux systmes et rseaux informatiques .


9 / 38

Dnition Concepts Ralisation Conclusion

Notion d'interface Systme d'exploitation Appels systme

Interfaces d'un systme d'exploitation


Un systme d'exploitation prsente en gnral deux interfaces : interface de programmation (Application Programming Interface) interface utilisateur (interface de commande)

utilisable depuis des programmes s'excutant sur le systme ensemble d'appels systmes utilisable par un usager humain ensemble de commandes textuelles (exemple : rm foo.*) graphiques (exemple : dplacer l'icne d'un chier vers la corbeille)

l'interface utilisateur est programme au moyen de l'interface de programmation


10 / 38

Dnition Concepts Ralisation Conclusion

Notion d'interface Systme d'exploitation Appels systme

Exemples d'interfaces sur Unix


Interface de programmation en C
... while (nbbytes != 0) { int lu = read (from, buf, MSGSIZE); if (lu <= 0) return ERROR; nbbytes -= lu; char *p = buf; while (lu != 0) { int ecrit = write (to, p, lu); if (ecrit == -1) return ERROR; p += ecrit; lu -= ecrit; } }

Interface textuelle de commande


cp fic1 fic2

Interface graphique de commande Slectionner l'icne de fic1, appuyer sur la touche ctrl + dplacer l'icne vers le dossier destination

11 / 38

Dnition Concepts Ralisation Conclusion

Notion d'interface Systme d'exploitation Appels systme

Appels systme
Le systme d'exploitation implante une machine abstraite systme Tout programme excutable peut faire appel aux instructions du noyau durant son excution : appels systme ou primitives du noyau Ces primitives implantent une machine systme permettant d'utiliser des concepts de haut niveau : processus, exceptions, mmoire virtuelle, chiers, pipes, sockets, etc Ces primitives dnissent une machine abstraite indpendante de la conguration matrielle sous-jacente Portabilit des programmes Ces primitives sont du code partag par tout programme qui s'excute
12 / 38

Dnition Concepts Ralisation Conclusion

Notion d'interface Systme d'exploitation Appels systme

Appels systme

Application
open(...)

Mode utilisateur Mode noyau ou privilgi trap i

interface systme

open(...) { // implantation de // l'appel systme ... return }

13 / 38

Dnition Concepts Ralisation Conclusion

Notion d'interface Systme d'exploitation Appels systme

Appels systme
Eectuer des oprations contrles, qu'une application ne peut pas faire en mode utilisateur Droits dirents entre mode applicatif et mode privilgi Similaire un appel de procdure, mais vers du code noyau Interface noyau prdnie Support processeur pour basculer en mode privilgi (trap) Gnralisation : anneaux de protection Distinguer les appels systmes (open, write...) et les fonctions de plus haut niveau construites avec (en C : fopen, printf...)
14 / 38

Dnition Concepts Ralisation Conclusion

Processus Mmoire : protection et isolation Fichiers vnements

Plan
1

3 4

Dnition Notion d'interface Systme d'exploitation Appels systme Concepts Processus Mmoire : protection et isolation Fichiers vnements Ralisation Conclusion
15 / 38

Dnition Concepts Ralisation Conclusion

Processus Mmoire : protection et isolation Fichiers vnements

Concepts apports par l'OS


Gestion d'activits droulement de l'excution processeur processus Gestion d'information conservation de l'information partage de l'information mmoire principale + disque mmoire virtuelle disque chier Gestion des interactions interface avec l'utilisateur impression, connexion rseau, priphriques d'E/S cran, clavier, souris systme de fentrage imprimante, rseau,. . . ot de donnes
16 / 38

Dnition Concepts Ralisation Conclusion

Processus Mmoire : protection et isolation Fichiers vnements

Processus
Dnition Un processus est l'entit dynamique reprsentant l'excution d'un programme. Programme = description statique = processus = activit dynamique Intrt abstraction de la notion d'excution squentielle, indpendance de la disponibilit eective d'un processeur reprsentation des activits parallles unit d'allocation des ressources unit de protection et d'isolation unit comptable
17 / 38

Dnition Concepts Ralisation Conclusion

Processus Mmoire : protection et isolation Fichiers vnements

Forme d'un programme


Programme source
int main() { printf("coucou"); }
Fichier binaire excutable Section de code En-tte
Table des identificateurs et chanes Segment Pile - Tas

Section de donnes initialises

...
Segment de code

Image en mmoire
Segment de donnes non initialises Segment de donnes initialialises

Table des symboles

...

Table de relocation

18 / 38

Dnition Concepts Ralisation Conclusion

Processus Mmoire : protection et isolation Fichiers vnements

Paralllisme et pseudo paralllisme

P1

P2

excution squentielle excution parallle (2 processeurs) excution pseudo-parallle (1 processeur)

P1

P2

P1 P2 P1 P2

une autre excution pseudo-parallle

19 / 38

Dnition Concepts Ralisation Conclusion

Processus Mmoire : protection et isolation Fichiers vnements

(Pseudo-)paralllisme
Faire s'excuter plusieurs processus la fois Ne pas bloquer le systme quand un processus se bloque (entre/sortie) Se protger contre un processus qui boucle indniment sans librer le processeur Premption Communiquer avec l'environnement Flot de donnes Se protger contre un processus qui lit ou crit n'importe o en mmoire (donnes d'un autre processus ou donnes du systme) Protection mmoire Donner l'illusion que chaque processus a autant de mmoire qu'il le souhaite Mmoire virtuelle

20 / 38

Dnition Concepts Ralisation Conclusion

Processus Mmoire : protection et isolation Fichiers vnements

Premption
Ordonnanceur
admission cr slection prt en excution interruption ralisation de l'E/S bloqu E/S ou attente d'vnement fin termin

partage du temps processeur interruption force du processus en cours pour librer le processeur ncessit de sauvegarder le contexte d'excution du processus politique d'allocation / slection
21 / 38

Dnition Concepts Ralisation Conclusion

Processus Mmoire : protection et isolation Fichiers vnements

Communications avec l'environnement

Un processus communique avec son environnement : par interruptions ou droutements : signaux directement par ots de donnes entre processus (tube ou pipe) indirectement par ots de donnes lis des donnes rmanentes : chiers

22 / 38

Dnition Concepts Ralisation Conclusion

Processus Mmoire : protection et isolation Fichiers vnements

Protection mmoire : un exemple lmentaire


Verrou 11 Verrou 11 Verrou 11 Verrou 01 01 11 E tat processeur 01 Cl Verrou 01 Verrou 00 00 Verrou 00

Besoin d'une cl passe-partout Ncessit d'interdire la programmation des verrous et du registre cl : Modes d'excution Solution actuelle : les Units de Gestion Mmoire (MMU : Memory Management Unit)
23 / 38

Dnition Concepts Ralisation Conclusion

Processus Mmoire : protection et isolation Fichiers vnements

Mmoire virtuelle
Mmoire virtuelle d'un processus Ensemble des emplacements accessible ce processus, via une adresse dite virtuelle. Fentre sur l'ensemble des informations accessibles (le processeur ne peut adresser qu'un espace limit) Gestion conomique des ressources : l'espace disque est beaucoup moins cher que la mmoire RAM Indpendance et protection des processus : chaque processus a sa propre mmoire virtuelle
24 / 38

Dnition Concepts Ralisation Conclusion

Processus Mmoire : protection et isolation Fichiers vnements

Mmoire virtuelle

Source : S. Krakowiak  Introduction aux systmes et rseaux informatiques .


25 / 38

Dnition Concepts Ralisation Conclusion

Processus Mmoire : protection et isolation Fichiers vnements

Fichiers
Fichier Ensemble d'informations regroupes en vue de leur conservation et de leur utilisation ultrieure Systme de gestion de chiers (SGF/FS) Partie du systme d'exploitation qui conserve les chiers et permet d'y accder Conservation permanente des chiers = indpendamment de l'excution des programmes et de l'intgrit de la mmoire principale Organisation logique et dsignation Partage et protection des chiers
26 / 38

Dnition Concepts Ralisation Conclusion

Processus Mmoire : protection et isolation Fichiers vnements

Organisation du SGF
Dsignation Interfaces systme langage C

noms symboliques noms symboliques descripteurs de fichier inodes adresses sur disque

langage de commande Gestion logique Gestion Physique

commandes appels systme interface interne Entres-sorties physiques

libc

27 / 38

Dnition Concepts Ralisation Conclusion

Processus Mmoire : protection et isolation Fichiers vnements

Dsignation symbolique
Organisation hirarchique Les noms forment une arborescence Nuds intermdiaires = rpertoires/directories (ce sont aussi des chiers) Nuds terminaux = chiers simples (toto.c) Nom absolu = chemin d'accs depuis la racine (/home/queinnec/toto.c) Nom relatif = chemin relatif au rpertoire courant (../queinnec/toto.c)

28 / 38

Dnition Concepts Ralisation Conclusion

Processus Mmoire : protection et isolation Fichiers vnements

Flot de donnes
Tout accs l'information  chier  est faite exclusivement par des ots de donnes : squence d'octets non structurs lire = consomme dans le ot / crire = ajoute dans le ot s'oppose un accs mmoire (RAM = accs  alatoire ) ou un accs structur (base de donnes) exemple de ots = entre clavier / chier sur disque / lien rseau des bibliothques utilisateur peuvent fournir des interfaces plus adaptes (e.g. lignes de caractres)
29 / 38

Dnition Concepts Ralisation Conclusion

Processus Mmoire : protection et isolation Fichiers vnements

Flots de donnes
... proc.

Processus

cran fichier ?

Un processus peut ouvrir/fermer dynamiquement des connexions des sources ou puits de donnes, via la notion de canal de communication = descripteur de chier. Un processus hrite sa cration d'un environnement de communication standard
30 / 38

Dnition Concepts Ralisation Conclusion

Processus Mmoire : protection et isolation Fichiers vnements

vnements
Interruptions Interruptions externes : n d'E/S, horloge. . . Interruptions internes : division par zro, branchement illgal. . . droutement vers une routine Traitement interne au noyau : p.e. dfaut de page mmoire utilisateur synchrone : p.e. E/S bloquante utilisateur asynchrone : p.e. signal
31 / 38

Dnition Concepts Ralisation Conclusion

Plan
1

3 4

Dnition Notion d'interface Systme d'exploitation Appels systme Concepts Processus Mmoire : protection et isolation Fichiers vnements Ralisation Conclusion
32 / 38

Dnition Concepts Ralisation Conclusion

Dmarrage / boot
Si le systme d'exploitation est un programme qui permet le dmarrage et l'excution des programmes, qui dmarre le systme ? 1 la mise sous tension, un programme en ROM s'excute (le BIOS sur PC) ; 2 Ce programme consulte les priphriques permanents (disque dur en gnral), charge en mmoire le premier bloc (master boot record) du premier priphrique prsent et excute le code contenu dans ce bloc ( 400 octets) ; 3 Ce code contient l'emplacement + le code pour charger un second chargeur (de taille arbitraire) : aprs chargement, il transfre le contrle ce chargeur ; 4 Ce second chargeur peut prsenter un menu de slection entre plusieurs OS, charge en mmoire l'image de l'OS choisi (ou par dfaut), et lui transfre le contrle ; 5 L'OS rcupre la mmoire utilise par les chargeurs initiaux. 33 / 38

Dnition Concepts Ralisation Conclusion

Les processus
La machine processus 1 couche contexte d'excution 2 couche pseudo-parallle (coroutine = contexte indpendant du matriel) 3 couche parallle (processus) 4 ordonnanceur Mmoire virtuelle 1 principe 2 lien avec l'ordonnanceur
34 / 38

Dnition Concepts Ralisation Conclusion

Systme de chiers

Les couches 1 couche physique : accs blocs disque 2 couche gestion des blocs (allocation/libration) 3 couche buerisation des blocs en mmoire 4 couche inodes 5 couche accs chier : descripteur de chier 6 couche dsignation/nommage

35 / 38

Dnition Concepts Ralisation Conclusion

Plan
1

3 4

Dnition Notion d'interface Systme d'exploitation Appels systme Concepts Processus Mmoire : protection et isolation Fichiers vnements Ralisation Conclusion
36 / 38

Dnition Concepts Ralisation Conclusion

Conclusion

Un systme d'exploitation... est un (ensemble de) logiciels qui fournit : des units d'excution et d'allocation de ressources (processus) la gestion des donnes temporaires (mmoire virtuelle) la gestion des donnes rmanentes (chiers) en masquant le plus possible les dtails matriels.

37 / 38

Dnition Concepts Ralisation Conclusion

Un programme un peu particulier


Ractif : requte rponse Indispensable : sans lui, dicile de faire excuter un programme une machine Service commun utilisable par tous les autres programmes Cohabitation de programmes en mmoire centrale Robuste vis--vis des programmes excuts Parallle : entrelace l'excution de plusieurs programmes De taille respectable Discret (performance, adpatations ncessaires) Trs able
38 / 38

Das könnte Ihnen auch gefallen