Vous êtes sur la page 1sur 14

Syst` emes temps r eel

Syst` emes dexploitation

Plan
Plan

Table des mati` eres


1 Introduction 1.1 Plan du cours . . . . . . . . . . . . . . 1.2 Bibliographie . . . . . . . . . . . . . . 1.3 D enition . . . . . . . . . . . . . . . . 1.4 Historique . . . . . . . . . . . . . . . . 1.5 Concepts de base . . . . . . . . . . . . 1.6 Architectures de syst` emes dexploitation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 2 2 2 5 7 8 8 10 13

Processus 2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Communication inter-processus (IPC) . . . . . . . . . . . . . . . . . 2.3 Ordonnancement (scheduling) . . . . . . . . . . . . . . . . . . . . .

1
1.1

Introduction
Plan du cours

Introduction D enition Historique Concepts de base Appels syst` eme Architectures Processus Introduction IPC Ordonnancement

Entr ees-sorties Acc` es au mat eriel Gestionnaire de p eriph erique Situations de blocage Gestion de la m emoire Notions de base M emoire virtuelle Segmentation Syst` eme de chiers Fichiers et r epertoires Architecture S ecurit e et protection

1.2

Bibliographie

A. Tannenbaum et A. Woodhull dition. Operating systems Design and implementation Prentice Hall 2006, troisi` eme e A. Tannenbaum dition. Modern operating systems Prentice Hall, deuxi` eme e

1.3

D enition

D enition Un syst` eme dexploitation (Operating System ou OS en anglais) est un programme l r ealisant les fonctions e ementaires suivantes : Gestion des ressources physiques de lordinateur (temps cpu, m emoire, p eriph eriques) Protection de lint egrit e des donn ees stock ees et ex ecut ees (en m emoire, sur les unit es de stockage) Assurer un niveau dabstraction du mat eriel pour lutilisateur

1.4

Historique

La pr ehistoire 1642 La Pascaline ` calculer m ` laide denBlaise Pascal invente en 1642 une machine a ecanique r ealis ee a grenages. Elle permettait de r ealiser des additions et des soustractions. Environ 50 ex chec commercial en raison dun prix de reemplaires furent fabriqu es mais ce fut un e lev ` lhistoire de linformatique, Pascal donna vient e e. En m emoire de sa contribution a ` un langage de programmation. son nom a

La pascaline mus ee des arts et m etiers Paris

1822 Babbage & Lovelace ` diff ` faire des calculs Charles Babbage invente la machine a erence destin ee a ` laide de diff polyn omiaux a erences nies, puis la machine analytique qui jette les bases de linformatique moderne. Il invente ainsi les concepts de machine s equentielle, de s eparation des donn ees et des codes dex ecution, de branchement conditionnel, de boucles dex ecution et de p eriph erique dimpression. Il collabore avec la crit pour sa machine ce qui est consid math ematicienne Ada Lovelace qui e er e comme le tout premier programme informatique : un algorithme de calcul des nombres de tait conBernoulli. Pour des raisons technologiques (elle devait peser 13 tonnes et e stitu ee de 25000 pi` eces), il ne pourra jamais terminer sa machine. Elle fut n eanmoins achev ee apr` es sa mort et permis de r ealiser des calculs avec une pr ecision de 31 chiffres signicatifs.

La machine de Babbage

Ada Lovelace

Lantiquit e ` vide 1945-1955 Relais et tubes a poque les ordinateurs sont constitu ` base A cette e es de relais et/ou damplicateurs a ` vide (par exemple lENIAC, 30 tonnes, 17500 tubes a ` vide, 1500 relais, de tubes a maximum 5 jours sans panne). Alan turing invente la machine qui porte son nom et ` larchitecture avec elle la notion dalgorithme. John Von Neumann donne son nom a moderne des ordinateurs : une unit e de contr ole, une unit e arithm etique et logique, une m emoire, des entr ees-sorties. La notion de syst` eme dexploitation est toujours inconnue ` cette e poque. a

ENIAC U.S. Armys Ballistic Research Laboratory

La renaissance 1955-1965 La r evolution du transistor

` partir de 1955 fut une v Lutilisation du transistor en informatique a eritable r evolution. Le prix et surtout la abilit e des ordinateurs sam eliora de mani` ere drastique. Les or poque se nommaient mainframes et e taient encore r dinateurs de cette e eserv es aux institutions (par exemple lIBM 7094 avec environ 128 Ko de m emoire et une fr equence ` 1 MHz). Ils n dhorloge inf erieure a ecessitaient un personnel pl ethorique pour sa maintenance. On assiste au d eveloppement dun embryon de syst` eme dexploitation : les syst` emes de batch.

Dual IBM 7090 NASA Projet mercury

L epoque moderne 1965-1980 La naissance des syst` emes dexploitation Apparition des circuits int egr es (IBM 360) Apparition de la notion de multiprogramming (OS/360) ` temps partag Apparition de lun des premiers syst` emes dexploitation a e : CTSS (Compatible Time-Sharing System). Invention du concept de shell.

IBM 360

emes dexploitation 1965-1980 La naissance des syst` Invention de lanc etre de tous les syst` emes dexploitation : MULTICS (MULTiplexed Information and Computing Service) par le MIT, les Laboratoires Bell et General Electrics. Apports de MULTICS : Multi-t aches, multi-utilisateurs ` la base du shell actuel Syst` eme dinvite de commande a Notion danneaux permettant disoler lex ecution du code entre utilisateurs Segmentation et m emoire virtuelle Syst` eme de chiers hi erarchis e, nom longs, liens symboliques, chiers p eriph eriques Apparition dUNIX : 2 principales versions, System V et BSD. Plus tard, IEEE a d evelopp e une norme pour rendre le d eveloppement sous UNIX compatible : POSIX. L epoque contemporaine 1980-nos jours La d emocratisation Miniaturisation des circuits int egr es

INTEL commercialise le 8086 en 1980 tandis que Motorola sort le 6502 quip Apparition de lIBM PC (Personal Computer) e e du syst` eme dexploitation MS/DOS et du langage de programmation Microsoft BASIC Apparition du Macintosh : interface graphique utilisant des fen etres et la souris comme pointeur Windows 1.0 : p ale tentative de copie de linterface dApple par Microsoft

IBM PC

1980-nos jours La d emocratisation Invention de Xwindows par le MIT en 1984 D eveloppement de Windows NT (partenariat Microsoft-IBM initi e en 1990) qui ` Windows XP (NT 5.1) et Windows Vista (NT 6.0). a conduit a Naissance de Linux en 1991, UNIX-like compatible POSIX, open-source, multiplateformes Apparition de MAC OSX d eriv e dun UNIX BSD 4.4 compatible POSIX Invention du concept de syst` emes dexploitation distribu es

Ordinateur XO du projet OLPC

1.5

Concepts de base

Concepts de base Le Noyau (Kernel) Programme r ealisant toutes les fonctions du syst` emes dexploitation En g en eral, le noyau a le degr e de privil` ege maximum pour lacc` es aux ressources mat erielles Le syst` eme dexploitation (Operating Systems ou OS) est constitu e du noyau et de diverses applications p eriph eriques Les processus (processes) Programme en ex ecution Contexte dun processus : Espace dadressage propre contenant le code ex ecutable, les donn ees, une pile Liste de zones m emoire accessibles

Registres : compteur dinstruction, compteur de pile, indexes, registres de calcul en virgule ottante (Floating Point Unit ou FPU), ... ` la gesDans la plupart des syst` emes dexploitation, les informations relatives a tion du processus sont stock ees dans la table des processus (process table) Les processus sont lanc es par exemple au moyen dun interpr eteur de commande (shell). Sous UNIX, le premier processus lanc e au moment du d emarrage est un script nomm e init Un processus peut cr eer un ou plusieurs processus enfant(s) (child process) Les processus peuvent communiquer ou se synchroniser entre eux : on parle de communication inter-processus (Inter-Process Communication ou IPC) Le syst` eme dexploitation peut envoyer des signaux aux processus (alarm signals)

Le mode utilisateur (user) et le mode noyau (kernel) Un processeur moderne a plusieurs modes de fonctionnement (rings) Dans le mode superviseur ou mode noyau ou mode kernel (ring 0) le processeur ` toutes les ressources sans restriction. Le code du noyau dun syst` a acc` es a eme dexploitation est ex ecut e dans ce mode. Dans le mode utilisateur ou user (ring > 0, d epend de lOS), le processeur teste en permanence les permissions de ce quil ex ecute et g en` ere des interruptions logicielles (exceptions) en cas dinfraction. Les processus utilisateur sont ex ecut es dans ce mode.

Les niveaux de protection dun processeur

Les chiers (les) Syst` eme de rangement et labelisation des donn ees ind ependant du mat eriel. Rangement dans une arborescence de r epertoires (directories) Association dun nom de chier et dattributs (type de chier, propri etaire, groupe dutilisateur, droits en lecture/ ecriture, attributs sp eciaux) Le syst` eme de chier (lesystem) g` ere le stockage physique des chiers en maximisant la robustesse et la performance Les chiers sp eciaux permettent un interfac age simple avec le syst` eme dexploitation ou le mat eriel Les tuyaux (pipes) sont des chiers sp eciaux permettant l echange dinformation entre processus Les appels syst` eme (system calls) Interface entre le noyau et les processus M ecanisme de tr` es bas niveau souvent en langage machine (assembly code) : int egr e dans une biblioth` eque de fonctions (library) Le m ecanisme des interruptions logicielles est utilis e pour passer le contr ole au noyau.

Les diff erentes cat egories dappels syst` eme (liste non exhaustive) : Gestion des processus (r eplication de processus (fork), attente passive de n dex ecution dun processus enfant (waitpid), lancement de nouveau processus (exec), ... Gestion des signaux (sigaction) criture Gestion du syst` eme de chier (cr eation de chier (creat), lecture (read), e (write), ... Gestion des volumes de stockage (association (mount), dissociation (unmount), ... Gestion des gestionnaires de p eriph erique (ioctl) ... Linterpr eteur de commandes (shell) Interface primaire entre un utilisateur et le syst` eme Lutilisateur saisit la commande au clavier apr` es linvite de commande (prompt) La sortie par d efault (stdout) de la commande se fait sous forme de texte dans la fen etre du shell tre redirig Les sorties peuvent e ees soit vers un chier ou en entr ee dun autre processus (stdin)

1.6

emes dexploitation Architectures de syst`

emes dexploitation Architectures de syst` Syst` emes monolithiques Tout le code du noyau tourne dans le ring 0, gestionnaires de p eriph eriques (drivers) compris Ces syst` emes nutilisent que 2 modes de fonctionnement (ring) du processeur : le ring 0 pour le noyau et le ring 1 pour les processus utilisateur. Le code du noyau est tr` es volumineux Robustesse moindre : plus de code tourne en mode superviseur R eactivit e meilleure : le protocole dacc` es au mat eriel est le plus simple possible tre charg Exemple : linux du type monolithique modulaire (les drivers peuvent e es ` la demande). a ` couches (layered systems) Syst` emes a ` Ce syst` eme est organis e en plusieurs niveaux imbriqu es qui correspondent a plusieurs rings du processuer Dans le sens du plus au moins privil egi e : distribution du temps processeur (Computer Processing Unit ou CPU), gestion de la m emoire, communication hommeprocessus, gestion des entr ees-sorties (Inputs/Outputs ou IOs), programmes utilisateurs Cette architecture logicielle est renforc ee par le mat eriel : le pentium supporte au moins 4 rings ` lheure actuelle MULTICS est la seule impl ementation de cette architecture a Machines virtuelles (virtual machines) Id ee : faire tourner plusieurs syst` emes dexploitation sur la m eme machine Un nano-noyau assure linterfac age entre le mat eriel et les syst` emes dexploitation h otes

On parle dexo-noyau (exokernel) lorsque seule une partie des ressources est partag ee. Un exo-kernel ne tourne pas forc ement en mode superviseur. Exemples de machines virtuelles Machine virtuelle MSDOS sous Windows (exokernel) : le partage des ressources est g er e au niveau du noyau de Windows tre charg VMWare (exokernel) : un module noyau doit e e pour g erer le partage des ressources Dosbox sous linux : on parle plut ot d emulation car le mat eriel est acc ed e au moyen des m ecanismes classiques disponibles dans lespace user. Xen (paravirtualiseur ou hyperviseur) : cest un nano-noyau qui permet doffrir aux syst` emes dexploitation h otes une interface avec le mat eriel qui est normalis ee. Adeos (nanokernel) : couche logicielle permettant le partage de ressources mat erielles par plusieurs syst` emes dexploitation concurrents, y compris plusieurs instances dun m eme syst` eme. Xenomai et RTAI, 2 syst` emes temps-r eel bas es sur linux sont des clients de adeos. Micro-noyau Id ee : mettre le moins de code possible dans le noyau et d eporter le maximum de code en mode prot eg e. Cette architecture est aussi appel ee micro-noyau (microkernel) Ce syst` eme est beaucoup plus robuste quun syst` eme monolithique car le nombre de ligne de code en mode supervisuer est tr` es r eduit Les drivers sont d eport es en mode utilisateur. Si ils commettent une action in tre tu terdite ils peuvent e es (killed) et relanc es. Ce syst` eme est donc tol erant aux fautes Les drivers acc` edent au mat eriel via un m ecanisme logiciel de protection do` u une perte de r eactivit e Exemple : Mach, Minix, Windows (de type micro-noyau enrichi car certaines fonctions tr` es sollicit ees sont mises dans le noyau) Syst` emes temps-r eel Le noyau permet de respecter des contraintes temporelles fortes R eactivit e par rapport aux interruptions mat erielles Cr eation de t aches p eriodiques avec une uctuation de la p eriode (jitter) minimale Exemples : VXWorks (micro-noyau temps-r eel), QNX (micro-noyau temps-r eel UNIX-like), Xenomai (monolithique modi e avec micro-noyau sous-jacent tournant sur une machine virtuelle nano-noyau adeos)

2 Processus
2.1 Introduction
Introduction D enitions Processus : s equence dinstructions ex ecut ees par le processeur.

Sur un syst` eme multit aches, lillusion du parall elisme est donn ee en r ealisant un multiplexage temporel de la ressource CPU et en la distribuant entre les diff erents processus suivant une loi appel ee ordonnancement (scheduling). gaux. Certains sont prioritaires et doivent e tre Les processus ne sont pas tous e trait es rapidement car ils servent par exemple au bon fonctionnement du syst` eme dexploitation. Chaque processus fonctionne de mani` ere cloisonn ee par rapport aux autres. Le contexte dun processus est l etat courant du mat eriel (processeur principalement) lorsque ce processus est en cours dex ecution. Le d ecoupage temporel du temps CPU entre les diff erents processus implique une commutation de contexte du mat eriel pour sauvegarder le contexte courant du processus en cours de suspension et la restauration du contexte du processus sur le point d etre r eveill e. Cr eation dun processus Les 3 situations de cr eation dun processus : Initialisation du syst` eme Cr eation dun processus enfant par un processus existant Cr eation dun processus par un utilisateur Lors du d emarrage dun syst` eme, un programme bien pr ecis est lanc e qui est charg e du lancement de tous les processus n ecessaires au bon fonctionnement du syst` eme. Sous UNIX, ce programme sappelle init. Certains processus actifs en permanence lorsque le syst` eme est en marche sap` effectuer des t pellent des d emons (daemons). Ils servent a aches de service telles que la gestion des t aches dimpression, la gestion des connexions externes, la gestion de la fen etre de login sous Xwindows, ... Fin dun processus Les 4 situations darr et dun processus : Sortie normale sans erreur (volontaire) Sortie normale avec erreur (volontaire) Le processus commet une erreur fatale (involontaire) Le processus est tu e par un autre processus (involontaire) Les 2 premi` eres situations de sortie volontaire sont provoqu ees par une instruction sp ecique du processus (exit sous UNIX) avec un code de sortie qui cor` une sortie normale soit a ` une sortie avec erreur. respond soit a Les 2 derni` eres situations sont provoqu ees par le syst` eme dexploitation qui arr ete imm ediatement le processus en cours soit parce quil a commis une in lev fraction soit parce quun autre utilisateur ayant des droits plus e es a envoy e un appel syst` eme de type kill. Hi erarchie des processus un ou plusieurs processus enfant(s), les enfants Lorsquun processus parent cr ee restent li es dune certaine mani` ere aux parents. ` des enfants, on peut Comme les enfants peuvent eux-m emes donner naissance a avoir toute une arborescence ou hi erarchie de processus li es entre eux. ` une hi Il est possible denvoyer un signal a erarchie de processus. Lorsquun processus enfant sarr ete, le parent en est inform e. Exemple : commande pstree sous UNIX.

Etat des processus ` cet instant En cours dex ecution (running) : le CPU ex ecute le processus a Pr et (ready) : le processus attend que le CPU ait nit dex ecuter dautres processus v Bloqu e (blocked) : le processus est en attente dun e enement externe Les processus l egers (threads) Les threads partagent le m eme espace dadressage, donc les m emes variables et le m eme code. Seuls les registres du processeur diff` erent. tre g Les threads peuvent e er ees dans lespace user ou par le kernel. Les threads impliquent de g erer certains nouveaux probl` emes : ` un m Acc` es simultan ea eme chier : que se passe til si un thread ferme le chier alors que lautre est en train de le lire ? Allocation dynamique : si un thread a besoin de plus de m emoire en m eme temps quun autre ? Si un thread commet une erreur, afche la valeur de errno et qu` a ce momentl` a un autre thread commet une erreur. ...

2.2

Communication inter-processus (IPC)

Communication inter-processus Introduction Comment communiquer des donn ees entre processus ? Comment synchroniser la transmission des donn ees ? viter les situations de blocage ? Comment e ` des ressources communes ? Comment g erer lacc` es concurrent a Situation de comp etition (race condition) crivent puis lisent des donn Deux processus ou plus e ees et le r esultat d epend de t quel processus a e e le premier. Exemple : competition entre 2 threads Section critique (critical section) viter les situations de comp Pour e etition, il faut d enir une section critique Les conditions pour r ealiser une section critique : Il ne peut y avoir plus dun processus dans sa section critique en m eme temps Un processus en dehors de sa section critique ne peut bloquer un autre processus Aucun processus ne peut bloquer en permanence pour entrer dans sa section critique Exclusion mutuelle avec attente active (mutual exclusion with busy waiting) Alternance stricte r esoulue avec un verrou rotatif (spin lock) Algorithme de Peterson (attente active) : r esolution de la comp etition entre 2 threads Instruction processeur Alternance stricte

10

while( 1 ) { while( turn != 0 ); /* section critique */ /* ... */ turn = 1; /* section non critique */ /* ... */ } while( 1 ) { while( turn != 1 ); /* section critique */ /* ... */ turn = 0; /* section non critique */ /* ... */ } Algorithme de Peterson flag[0] = flag[1] = turn = 0; P0: flag[0] = 1; turn = 1; while( flag[1] && turn == 1 ); // do nothing // critical section ... // end of critical section flag[0] = 0; P1: flag[1] = 1; turn = 0; while( flag[0] && turn == 0 ); // do nothing // critical section ... // end of critical section flag[1] = 0; Instruction processeur i86 : XCHG LOCK: ; mutex pointer is in EBX; clobbers EAX XOR EAX, EAX ; EAX = 0 XCHG EAX, [EBX] ; atomic exchange AND EAX, EAX ; test if EAX = 0 JZ LOCK ; if we got a zero, spin-wait RET

11

UNLOCK: ; mutex pointer is in EBX MOV [EBX], 1 ; release the lock RET Probl` eme dinversion de priorit e Consid erons 2 processus H de priorit e haute et B de priorit e basse qui partagent ` une ressource commune un acc` es a La strat egie dordonnancement fait que H est plac e en mode ((running)) d` es quil est ((ready)) Supposont que B soit dans une section critique et qu` a ce moment H passe du mode ((blocked)) au mode ((ready)). H est donc mis en mode ((running)) et B est mis en mode ((ready)). Or H veut ` la section critique et bloque donc sur le m acc eder a ecanisme dexclusion mutuelle sans aucun espoir que B passe en mode ((running)) et lib` ere le verrou. Sommeil et r eveil dun processus (Sleep and wakeup) viter les attentes actives, utilisation de sleep et wakeup. Pour e S emaphore ` une ressource commune Methode classique pour acc eder a ` la valeur du nombre de ressources Le s emaphore est un compteur qui est initialis ea ` prot partag ees a eger ` partager, on parle de s Lorsquil ny a quune seule ressource a emaphore binaire ou mutex S emaphores : exemple du producteur-consommateur BufferSize = 3; semaphore mutex = 1; // access to critical section semaphore empty = BufferSize; // number of empty slots semaphore full = 0; // number of full buffer slots Producer() { int widget; while (TRUE) { make_new(widget); down(empty); down(&mutex); put_item(widget); up(&mutex); up(&full); } } // // // // // // // loop forever create a new widge decrement the empty semaphore enter critical section put widget in buffer leave critical section increment the full semaphore

S emaphores : exemple du producteur-consommateur

12

Consumer() { int widget; while (TRUE) { // loop forever down(&full); // decrement the full semaphore down(&mutex); // enter critical section remove_item(widget);// take a widget up(&mutex); // leave critical section up(empty); // increment the empty semaphore consume_item(widget);// consume the item } } Mutex tats : 0 ou 1 Un mutex est un cas particulier dun s emaphore qui naurait que 2 e Un mutex est typiquement utilis e lorsquil faut prot eger une section critique Moniteurs (monitors) Ensemble de proc edure, variables, structures de donn ees regroup ees dans un objet sp ecial appel e moniteur Les processus externes au moniteur peuvent appeler les proc edures du moniteur tre active a ` la fois mais une seule proc edure du moniteur ne peut e La synchronisation est g er ee par le compilateur qui sait que le moniteur est une structure sp eciale. Cest le compilateur qui rajoute les m ecanismes de synchronisation ad equats. Transmission de message (message passing) Transmission de messages inter-processus Les fonction send et receive permettent de passer des messages en garantissant lint egrit e des donn ees

2.3

Ordonnancement (scheduling)

Ordonnancement Introduction ` un autre Partage du temps CPU entre les processus. Le passage dun processus a sappelle la commutation de processus. Cest lordonnanceur du noyau qui effectue cette commutation. La prise de d ecision des commutations seffectue de mani` ere p eriodique (tic du syst` eme) Deux principaux types de comportement des processus : processus d edi es aux entr ees-sorties et processus d edi es aux calculs Quand commuter les processus : quand un processus se termine, quand un processus bloque sur une entr ee/sortie, un s epaphore, ... Eventuellement : quand un , quand une interruption mat nouveau processus est cr ee erielle intervient. quit ` ce qui la politique dor Diff erents objectifs dordonnancement : e e, veiller a quilibre. Pour les syst` donnencement soit respect ee, e emes interactifs : temps de r eponse court, ergonomie adapt ee aux attentes des utilisateurs. Pour les syst` emes temps-r eel : respect strict des d elais, d eterminisme. 13

Ordonnancement FCFS ou FIFO First Come First Served : les processus sont d emarr es dans lordre o` u ils sont lanc es et tournent jusqu` a ce quils bloquent Inconv enient : pas adapt e aux syst` emes interactifs Ordonnancement round robin Chaque processus obtient un quantum de temps CPU. Lordonnanceur distribue de mani` ere cyclique ces quantums aux processus. Exemple de Pb : avec un quantum de 100ms, si 10 utilisateur appuient simul tre tan ement sur une touche du clavier, les 10 processus correspondants vont e r eveill es successivemnt et consommer leur quantum. Le dernier utilisateur servi devra attendre 1s. Ordonnancement par priorit e (priority scheduling) gaux : certains doivent e tre trait Tout les processus ne sont pas e es prioritairement ` la Avec un ordonnancement par priorit e, le syst` eme donne toujours la main a t ache de plus haute priorit e tre modi ` chaque periode de lordon La priorit e peut e ee dynamiquement a viter quun seul processus noccupe tout le temps CPU nanceur pour e Ordonnancement garanti (guaranteed scheduling) quitable du temps CPU entre utilisateur ayant une m Garanti un partage e eme priorit e Le syst` eme conserve un historique du temps CPU cumul e de tous les processus an de r ealiser l equilibre Ordonnancement par lotterie (lottery scheduling) ` impl Lordonnancement garanti est difcile a ementer. ` tirer au sort quel processus a droit au CPU Une des solutions consiste a Plus un processus est prioritaire, plus il dispose de tickets parmis lensemble des tickets soumis au tirage al eatoire Ordonnancement de processus l eger (thread scheduling) Lordonnancement des threads nest possible que pour les threads noyau Il est possible de d enir un politique dordonnancement des threads diff erente de celle des processus Ordonnancement temps-r eel (real-time scheduling) tre d Doit e eterministe en temps tre r Les t aches p eriodiques doivent e eveill ees avec une p eriodicit e parfaite (erreur < 100 micro-secondes) tre le plus court possible. Le temps de r eponse aux interruptions doit e

14

Vous aimerez peut-être aussi