• Aucun résultat trouvé

Nicolas Sabouret

N/A
N/A
Protected

Academic year: 2022

Partager "Nicolas Sabouret"

Copied!
79
0
0

Texte intégral

(1)

Questions de cours Ordonnancement Processus Synchronisation Conclusion

Syst` emes d’Exploitation Cours 7/13 : Partiel 2016-2017

Nicolas Sabouret

Universit´e Paris-Sud Licence 3 - semestre S5

Info32b Syst`emes d’Exploitation Nicolas Sabouret 1/28

(2)

Questions de cours Ordonnancement Processus Synchronisation Conclusion

Plan

1 Questions de cours

2 Ordonnancement

3 Processus

4 Synchronisation

(3)

Questions de cours Ordonnancement Processus Synchronisation Conclusion

Plan

1 Questions de cours

2 Ordonnancement

3 Processus

4 Synchronisation

5 Conclusion

Info32b Syst`emes d’Exploitation Nicolas Sabouret 3/28

(4)

Questions de cours Ordonnancement Processus Synchronisation Conclusion

Cycle de vie

Quelles les principales ´etapes du cycle de vie d’un processus pour l’OS ?

Cr´eation du processus

Passage dans la file des processus prˆets Ex´ecution du processus

Interruption→ retour dans la file prˆets Mise en attente du processus (E/S)

Terminaison

Prˆet

Ex´ecution

En Attente

(5)

Questions de cours Ordonnancement Processus Synchronisation Conclusion

Cycle de vie

Quelles les principales ´etapes du cycle de vie d’un processus pour l’OS ?

Cr´eation du processus

Passage dans la file des processus prˆets Ex´ecution du processus

Interruption→ retour dans la file prˆets Mise en attente du processus (E/S)

Terminaison

Prˆet

Ex´ecution

En Attente

Info32b Syst`emes d’Exploitation Nicolas Sabouret 4/28

(6)

Questions de cours Ordonnancement Processus Synchronisation Conclusion

A propos du cycle de vie. . .`

Cr´eation de processus

Les processus sont cr´e´es par l’OS(qui est lui-mˆeme un processus)

L’OS munit le processus des informations n´ecessaires pour son ex´ecution → il construit un PCB

Les informations pour la m´emoire (pointeur de pile, table des pages, etc.)

Les informations de contrˆole (priorit´e, propri´et´e, droits, etc.) Les donn´ees des registres (interruption et reprise)

L’OS modifie le code (assembleur) stock´e en m´emoire

Edition de liens, stub. . .´

L’OS fournit des donn´ees au processus (l’environnement) L’OS alloue des ressources sur demande du processus en ex´ecution

Pour cela, il lance une routine... donc il interrompt le processus !

(7)

Questions de cours Ordonnancement Processus Synchronisation Conclusion

A propos du cycle de vie. . .`

Cr´eation de processus

Les processus sont cr´e´es par l’OS(qui est lui-mˆeme un processus)

L’OS munit le processus des informations n´ecessaires pour son ex´ecution → il construit un PCB

Les informations pour la m´emoire (pointeur de pile, table des pages, etc.)

Les informations de contrˆole (priorit´e, propri´et´e, droits, etc.) Les donn´ees des registres (interruption et reprise)

L’OS modifie le code (assembleur) stock´e en m´emoire

Edition de liens, stub. . .´

L’OS fournit des donn´ees au processus (l’environnement) L’OS alloue des ressources sur demande du processus en ex´ecution

Pour cela, il lance une routine... donc il interrompt le processus !

Info32b Syst`emes d’Exploitation Nicolas Sabouret 5/28

(8)

Questions de cours Ordonnancement Processus Synchronisation Conclusion

A propos du cycle de vie. . .`

Cr´eation de processus

Les processus sont cr´e´es par l’OS(qui est lui-mˆeme un processus)

L’OS munit le processus des informations n´ecessaires pour son ex´ecution → il construit un PCB

Les informations pour la m´emoire (pointeur de pile, table des pages, etc.)

Les informations de contrˆole (priorit´e, propri´et´e, droits, etc.) Les donn´ees des registres (interruption et reprise)

L’OS modifie le code (assembleur) stock´e en m´emoire

Edition de liens, stub. . .´

L’OS fournit des donn´ees au processus (l’environnement) L’OS alloue des ressources sur demande du processus en ex´ecution

Pour cela, il lance une routine... donc il interrompt le processus !

(9)

Questions de cours Ordonnancement Processus Synchronisation Conclusion

A propos du cycle de vie. . .`

Cr´eation de processus

Les processus sont cr´e´es par l’OS(qui est lui-mˆeme un processus)

L’OS munit le processus des informations n´ecessaires pour son ex´ecution → il construit un PCB

Les informations pour la m´emoire (pointeur de pile, table des pages, etc.)

Les informations de contrˆole (priorit´e, propri´et´e, droits, etc.) Les donn´ees des registres (interruption et reprise)

L’OS modifie le code (assembleur) stock´e en m´emoire

Edition de liens, stub. . .´

L’OS fournit des donn´ees au processus (l’environnement) L’OS alloue des ressources sur demande du processus en ex´ecution

Pour cela, il lance une routine... donc il interrompt le processus !

Info32b Syst`emes d’Exploitation Nicolas Sabouret 5/28

(10)

Questions de cours Ordonnancement Processus Synchronisation Conclusion

A propos du cycle de vie. . .`

Cr´eation de processus

Les processus sont cr´e´es par l’OS(qui est lui-mˆeme un processus)

L’OS munit le processus des informations n´ecessaires pour son ex´ecution → il construit un PCB

Les informations pour la m´emoire (pointeur de pile, table des pages, etc.)

Les informations de contrˆole (priorit´e, propri´et´e, droits, etc.) Les donn´ees des registres (interruption et reprise)

L’OS modifie le code (assembleur) stock´e en m´emoire

´Edition de liens, stub. . .

L’OS fournit des donn´ees au processus (l’environnement) L’OS alloue des ressources sur demande du processus en ex´ecution

Pour cela, il lance une routine... donc il interrompt le processus !

(11)

Questions de cours Ordonnancement Processus Synchronisation Conclusion

A propos du cycle de vie. . .`

Cr´eation de processus

Les processus sont cr´e´es par l’OS(qui est lui-mˆeme un processus)

L’OS munit le processus des informations n´ecessaires pour son ex´ecution → il construit un PCB

Les informations pour la m´emoire (pointeur de pile, table des pages, etc.)

Les informations de contrˆole (priorit´e, propri´et´e, droits, etc.) Les donn´ees des registres (interruption et reprise)

L’OS modifie le code (assembleur) stock´e en m´emoire

´Edition de liens, stub. . .

L’OS fournit des donn´ees au processus (l’environnement) L’OS alloue des ressources sur demande du processus en ex´ecution

Pour cela, il lance une routine... donc il interrompt le processus !

Info32b Syst`emes d’Exploitation Nicolas Sabouret 5/28

(12)

Questions de cours Ordonnancement Processus Synchronisation Conclusion

Ordonnancement

Quel est le meilleur algorithme d’ordonnancement ?

Aucun !

Cela d´epend descrit`eres choisis (temps d’attente moyen, rotation, etc.) et del’instance! En pratique, RR et SRT sont les plus utilis´es, g´en´eralement combin´es entre et avec des priorit´es. SRT garantit le meilleur temps d’attente moyen mais il peut provoquer des famines.

CPU HD1

0 1 2 3 4 5 6

P1 P2,P3

Proc.1

Proc.1

Proc.2 Proc.1

Proc.2 Proc.3

(13)

Questions de cours Ordonnancement Processus Synchronisation Conclusion

Ordonnancement

Quel est le meilleur algorithme d’ordonnancement ? Aucun !

Cela d´epend descrit`eres choisis (temps d’attente moyen, rotation, etc.) et del’instance! En pratique, RR et SRT sont les plus utilis´es, g´en´eralement combin´es entre et avec des priorit´es. SRT garantit le meilleur temps d’attente moyen mais il peut provoquer des famines.

CPU HD1

0 1 2 3 4 5 6

P1 P2,P3

Proc.1

Proc.1

Proc.2 Proc.1

Proc.2 Proc.3

Info32b Syst`emes d’Exploitation Nicolas Sabouret 6/28

(14)

Questions de cours Ordonnancement Processus Synchronisation Conclusion

M´emoire pagin´ee/segment´ee/virtuelle

L’adresse logique peut-elle contenir plus de bits que l’adresse physique ?

Oui !

C’est le principe de lam´emoire virtuelle o`u chaque processus se voit allou´e plus de m´emoire qu’il ne peut effectivement utiliser.

Espace de stockage (disque)

pagepage pagepage pagepage pagepage pagepage pagepage pagepage pagepage

emoire physique (RAM) emoire

virtuelle

= espace adressable

(par processus) page 0 page 1

page 4

pages utilis´ees

page 0 page 1

page 4

pages non utilis´ees

page 2 page 3

page 5 . . .

(15)

Questions de cours Ordonnancement Processus Synchronisation Conclusion

M´emoire pagin´ee/segment´ee/virtuelle

L’adresse logique peut-elle contenir plus de bits que l’adresse physique ?

Oui !

C’est le principe de lam´emoire virtuelle o`u chaque processus se voit allou´e plus de m´emoire qu’il ne peut effectivement utiliser.

Espace de stockage (disque)

pagepage pagepage pagepage pagepage pagepage pagepage pagepage pagepage

emoire physique (RAM) emoire

virtuelle

= espace adressable

(par processus) page 0 page 1

page 4

pages utilis´ees

page 0 page 1

page 4

pages non utilis´ees

page 2 page 3

page 5 . . .

Info32b Syst`emes d’Exploitation Nicolas Sabouret 7/28

(16)

Questions de cours Ordonnancement Processus Synchronisation Conclusion

Synchronisation

Quelle est la diff´erence entre un MUTEX et un s´emaphore ?

Le s´emaphore s’applique `a N processus(N quelconque et variable), le MUTEX est limit´e `a 2 (ou `a N fix´e `a l’avance) Les s´emaphores mal combin´es peuvent provoquer des interblocages, pas les MUTEX.

L’impl´ementation des s´emaphores contient des sections critiques, donc il faut utiliser des MUTEX.

P1

P2

Section Critique

Section Critique

Mutex

(17)

Questions de cours Ordonnancement Processus Synchronisation Conclusion

Synchronisation

Quelle est la diff´erence entre un MUTEX et un s´emaphore ? Le s´emaphore s’applique `a N processus(N quelconque et variable), le MUTEX est limit´e `a 2 (ou `a N fix´e `a l’avance) Les s´emaphores mal combin´es peuvent provoquer des interblocages, pas les MUTEX.

L’impl´ementation des s´emaphores contient des sections critiques, donc il faut utiliser des MUTEX.

P1

P2

Section Critique

Section Critique

Mutex

Info32b Syst`emes d’Exploitation Nicolas Sabouret 8/28

(18)

Questions de cours Ordonnancement Processus Synchronisation Conclusion

Plan

1 Questions de cours

2 Ordonnancement

3 Processus

4 Synchronisation

5 Conclusion

(19)

Questions de cours Ordonnancement Processus Synchronisation Conclusion

Ordonnancement

On consid`ere cinq processus. Nous indiquons la date d’arriv´ee dans l’ordonnanceur et la dur´ee estim´ee :

Proc. Arriv´ee Dur´ee

P1 0 7

P2 1 4

P3 1 2

P4 2 2

P5 3 1

Info32b Syst`emes d’Exploitation Nicolas Sabouret 10/28

(20)

Questions de cours Ordonnancement Processus Synchronisation Conclusion

Ordonnancement

On consid`ere cinq processus. Nous indiquons la date d’arriv´ee dans l’ordonnanceur et la dur´ee estim´ee :

Proc. Arriv´ee Dur´ee

P1 0 7

P2 1 4

P3 1 2

P4 2 2

P5 3 1

FIFO

Indiquez dans un diagramme de Gantt le r´esultat d’un

ordonnancement de typeFIFO et le temps d’attente moyena.

a. En supposant que le temps de commutation est n´egligeable

(21)

Questions de cours Ordonnancement Processus Synchronisation Conclusion

Ordonnancement

FIFO

Indiquez dans un diagramme de Gantt le r´esultat d’un ordonnancement de typeFIFO et le temps d’attente moyen.

Proc. Arriv´ee Dur´ee

P1 0 7

P2 1 4

P3 1 2

P4 2 2

P5 3 1

Date UC

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

P1 P2 P3 P4 P5

Temps d’attente moyen :

0 + (7−1) + (11−1) + (13−2) + (15−3)

5 = 39

5 = 7.8

Info32b Syst`emes d’Exploitation Nicolas Sabouret 10/28

(22)

Questions de cours Ordonnancement Processus Synchronisation Conclusion

Ordonnancement

FIFO

Indiquez dans un diagramme de Gantt le r´esultat d’un ordonnancement de typeFIFO et le temps d’attente moyen.

Proc. Arriv´ee Dur´ee

P1 0 7

P2 1 4

P3 1 2

P4 2 2

P5 3 1

Date UC

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

P1

P2 P3 P4 P5

Temps d’attente moyen :

0 + (7−1) + (11−1) + (13−2) + (15−3)

5 = 39

5 = 7.8

(23)

Questions de cours Ordonnancement Processus Synchronisation Conclusion

Ordonnancement

FIFO

Indiquez dans un diagramme de Gantt le r´esultat d’un ordonnancement de typeFIFO et le temps d’attente moyen.

Proc. Arriv´ee Dur´ee

P1 0 7

P2 1 4

P3 1 2

P4 2 2

P5 3 1

Date UC

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

P1 P2

P3 P4 P5

Temps d’attente moyen :

0 + (7−1) + (11−1) + (13−2) + (15−3)

5 = 39

5 = 7.8

Info32b Syst`emes d’Exploitation Nicolas Sabouret 10/28

(24)

Questions de cours Ordonnancement Processus Synchronisation Conclusion

Ordonnancement

FIFO

Indiquez dans un diagramme de Gantt le r´esultat d’un ordonnancement de typeFIFO et le temps d’attente moyen.

Proc. Arriv´ee Dur´ee

P1 0 7

P2 1 4

P3 1 2

P4 2 2

P5 3 1

Date UC

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

P1 P2 P3

P4 P5

Temps d’attente moyen :

0 + (7−1) + (11−1) + (13−2) + (15−3)

5 = 39

5 = 7.8

(25)

Questions de cours Ordonnancement Processus Synchronisation Conclusion

Ordonnancement

FIFO

Indiquez dans un diagramme de Gantt le r´esultat d’un ordonnancement de typeFIFO et le temps d’attente moyen.

Proc. Arriv´ee Dur´ee

P1 0 7

P2 1 4

P3 1 2

P4 2 2

P5 3 1

Date UC

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

P1 P2 P3 P4

P5

Temps d’attente moyen :

0 + (7−1) + (11−1) + (13−2) + (15−3)

5 = 39

5 = 7.8

Info32b Syst`emes d’Exploitation Nicolas Sabouret 10/28

(26)

Questions de cours Ordonnancement Processus Synchronisation Conclusion

Ordonnancement

FIFO

Indiquez dans un diagramme de Gantt le r´esultat d’un ordonnancement de typeFIFO et le temps d’attente moyen.

Proc. Arriv´ee Dur´ee

P1 0 7

P2 1 4

P3 1 2

P4 2 2

P5 3 1

Date UC

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

P1 P2 P3 P4 P5

Temps d’attente moyen :

0 + (7−1) + (11−1) + (13−2) + (15−3)

5 = 39

5 = 7.8

(27)

Questions de cours Ordonnancement Processus Synchronisation Conclusion

Ordonnancement

FIFO

Indiquez dans un diagramme de Gantt le r´esultat d’un ordonnancement de typeFIFO et le temps d’attente moyen.

Proc. Arriv´ee Dur´ee

P1 0 7

P2 1 4

P3 1 2

P4 2 2

P5 3 1

Date UC

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

P1 P2 P3 P4 P5

Temps d’attente moyen :

0 + (7−1) + (11−1) + (13−2) + (15−3)

5 = 39

5 = 7.8

Info32b Syst`emes d’Exploitation Nicolas Sabouret 10/28

(28)

Questions de cours Ordonnancement Processus Synchronisation Conclusion

Ordonnancement

Plus court d’abord

Indiquez le r´esultat d’un ordonnancement de typeplus court d’abordet le temps d’attente moyen.

Proc. Arriv´ee Dur´ee

P1 0 7

P2 1 4

P3 1 2

P4 2 2

P5 3 1

Date UC

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

P1 P3 P5 P4 P2 P1

Temps d’attente moyen :

9 + 5 + 0 + 2 + 0

5 = 16

5 = 3.2

(29)

Questions de cours Ordonnancement Processus Synchronisation Conclusion

Ordonnancement

Plus court d’abord

Indiquez le r´esultat d’un ordonnancement de typeplus court d’abordet le temps d’attente moyen.

Proc. Arriv´ee Dur´ee

P1 0 7

P2 1 4

P3 1 2

P4 2 2

P5 3 1

Date UC

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

P1

P3 P5 P4 P2 P1

Temps d’attente moyen :

9 + 5 + 0 + 2 + 0

5 = 16

5 = 3.2

Info32b Syst`emes d’Exploitation Nicolas Sabouret 11/28

(30)

Questions de cours Ordonnancement Processus Synchronisation Conclusion

Ordonnancement

Plus court d’abord

Indiquez le r´esultat d’un ordonnancement de typeplus court d’abordet le temps d’attente moyen.

Proc. Arriv´ee Dur´ee

P1 0 7

P2 1 4

P3 1 2

P4 2 2

P5 3 1

Date UC

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

P1 P3

P5 P4 P2 P1

Temps d’attente moyen :

9 + 5 + 0 + 2 + 0

5 = 16

5 = 3.2

(31)

Questions de cours Ordonnancement Processus Synchronisation Conclusion

Ordonnancement

Plus court d’abord

Indiquez le r´esultat d’un ordonnancement de typeplus court d’abordet le temps d’attente moyen.

Proc. Arriv´ee Dur´ee

P1 0 7

P2 1 4

P3 1 2

P4 2 2

P5 3 1

Date UC

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

P1 P3 P5

P4 P2 P1

Temps d’attente moyen :

9 + 5 + 0 + 2 + 0

5 = 16

5 = 3.2

Info32b Syst`emes d’Exploitation Nicolas Sabouret 11/28

(32)

Questions de cours Ordonnancement Processus Synchronisation Conclusion

Ordonnancement

Plus court d’abord

Indiquez le r´esultat d’un ordonnancement de typeplus court d’abordet le temps d’attente moyen.

Proc. Arriv´ee Dur´ee

P1 0 7

P2 1 4

P3 1 2

P4 2 2

P5 3 1

Date UC

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

P1 P3 P5 P4

P2 P1

Temps d’attente moyen :

9 + 5 + 0 + 2 + 0

5 = 16

5 = 3.2

(33)

Questions de cours Ordonnancement Processus Synchronisation Conclusion

Ordonnancement

Plus court d’abord

Indiquez le r´esultat d’un ordonnancement de typeplus court d’abordet le temps d’attente moyen.

Proc. Arriv´ee Dur´ee

P1 0 7

P2 1 4

P3 1 2

P4 2 2

P5 3 1

Date UC

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

P1 P3 P5 P4 P2

P1

Temps d’attente moyen :

9 + 5 + 0 + 2 + 0

5 = 16

5 = 3.2

Info32b Syst`emes d’Exploitation Nicolas Sabouret 11/28

(34)

Questions de cours Ordonnancement Processus Synchronisation Conclusion

Ordonnancement

Plus court d’abord

Indiquez le r´esultat d’un ordonnancement de typeplus court d’abordet le temps d’attente moyen.

Proc. Arriv´ee Dur´ee

P1 0 7

P2 1 4

P3 1 2

P4 2 2

P5 3 1

Date UC

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

P1 P3 P5 P4 P2 P1

Temps d’attente moyen :

9 + 5 + 0 + 2 + 0

5 = 16

5 = 3.2

(35)

Questions de cours Ordonnancement Processus Synchronisation Conclusion

Ordonnancement

Plus court d’abord

Indiquez le r´esultat d’un ordonnancement de typeplus court d’abordet le temps d’attente moyen.

Proc. Arriv´ee Dur´ee

P1 0 7

P2 1 4

P3 1 2

P4 2 2

P5 3 1

Date UC

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

P1 P3 P5 P4 P2 P1

Temps d’attente moyen :

9 + 5 + 0 + 2 + 0

5 = 16

5 = 3.2

Info32b Syst`emes d’Exploitation Nicolas Sabouret 11/28

(36)

Questions de cours Ordonnancement Processus Synchronisation Conclusion

Ordonnancement

Round Robin

Indiquez le r´esultat d’un ordonnancement de typeRound Robin avec un quantum de 3 et le temps d’attente moyen.

Proc. Arriv´ee Dur´ee

P1 0 7

P2 1 4

P3 1 2

P4 2 2

P5 3 1

Date UC

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

P1 P2 P3 P4 P5 P1 P2 P1

Temps d’attente moyen :

(0 + 8 + 1) + (2 + 8) + 5 + 6 + 7)

5 = 37

5 = 7.4

(37)

Questions de cours Ordonnancement Processus Synchronisation Conclusion

Ordonnancement

Round Robin

Indiquez le r´esultat d’un ordonnancement de typeRound Robin avec un quantum de 3 et le temps d’attente moyen.

Proc. Arriv´ee Dur´ee

P1 0 7

P2 1 4

P3 1 2

P4 2 2

P5 3 1

Date UC

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

P1

P2 P3 P4 P5 P1 P2 P1

Temps d’attente moyen :

(0 + 8 + 1) + (2 + 8) + 5 + 6 + 7)

5 = 37

5 = 7.4

Info32b Syst`emes d’Exploitation Nicolas Sabouret 12/28

(38)

Questions de cours Ordonnancement Processus Synchronisation Conclusion

Ordonnancement

Round Robin

Indiquez le r´esultat d’un ordonnancement de typeRound Robin avec un quantum de 3 et le temps d’attente moyen.

Proc. Arriv´ee Dur´ee

P1 0 7

P2 1 4

P3 1 2

P4 2 2

P5 3 1

Date UC

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

P1 P2

P3 P4 P5 P1 P2 P1

Temps d’attente moyen :

(0 + 8 + 1) + (2 + 8) + 5 + 6 + 7)

5 = 37

5 = 7.4

(39)

Questions de cours Ordonnancement Processus Synchronisation Conclusion

Ordonnancement

Round Robin

Indiquez le r´esultat d’un ordonnancement de typeRound Robin avec un quantum de 3 et le temps d’attente moyen.

Proc. Arriv´ee Dur´ee

P1 0 7

P2 1 4

P3 1 2

P4 2 2

P5 3 1

Date UC

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

P1 P2 P3

P4 P5 P1 P2 P1

Temps d’attente moyen :

(0 + 8 + 1) + (2 + 8) + 5 + 6 + 7)

5 = 37

5 = 7.4

Info32b Syst`emes d’Exploitation Nicolas Sabouret 12/28

(40)

Questions de cours Ordonnancement Processus Synchronisation Conclusion

Ordonnancement

Round Robin

Indiquez le r´esultat d’un ordonnancement de typeRound Robin avec un quantum de 3 et le temps d’attente moyen.

Proc. Arriv´ee Dur´ee

P1 0 7

P2 1 4

P3 1 2

P4 2 2

P5 3 1

Date UC

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

P1 P2 P3 P4

P5 P1 P2 P1

Temps d’attente moyen :

(0 + 8 + 1) + (2 + 8) + 5 + 6 + 7)

5 = 37

5 = 7.4

(41)

Questions de cours Ordonnancement Processus Synchronisation Conclusion

Ordonnancement

Round Robin

Indiquez le r´esultat d’un ordonnancement de typeRound Robin avec un quantum de 3 et le temps d’attente moyen.

Proc. Arriv´ee Dur´ee

P1 0 7

P2 1 4

P3 1 2

P4 2 2

P5 3 1

Date UC

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

P1 P2 P3 P4 P5

P1 P2 P1

Temps d’attente moyen :

(0 + 8 + 1) + (2 + 8) + 5 + 6 + 7)

5 = 37

5 = 7.4

Info32b Syst`emes d’Exploitation Nicolas Sabouret 12/28

(42)

Questions de cours Ordonnancement Processus Synchronisation Conclusion

Ordonnancement

Round Robin

Indiquez le r´esultat d’un ordonnancement de typeRound Robin avec un quantum de 3 et le temps d’attente moyen.

Proc. Arriv´ee Dur´ee

P1 0 7

P2 1 4

P3 1 2

P4 2 2

P5 3 1

Date UC

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

P1 P2 P3 P4 P5 P1

P2 P1

Temps d’attente moyen :

(0 + 8 + 1) + (2 + 8) + 5 + 6 + 7)

5 = 37

5 = 7.4

(43)

Questions de cours Ordonnancement Processus Synchronisation Conclusion

Ordonnancement

Round Robin

Indiquez le r´esultat d’un ordonnancement de typeRound Robin avec un quantum de 3 et le temps d’attente moyen.

Proc. Arriv´ee Dur´ee

P1 0 7

P2 1 4

P3 1 2

P4 2 2

P5 3 1

Date UC

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

P1 P2 P3 P4 P5 P1 P2

P1

Temps d’attente moyen :

(0 + 8 + 1) + (2 + 8) + 5 + 6 + 7)

5 = 37

5 = 7.4

Info32b Syst`emes d’Exploitation Nicolas Sabouret 12/28

(44)

Questions de cours Ordonnancement Processus Synchronisation Conclusion

Ordonnancement

Round Robin

Indiquez le r´esultat d’un ordonnancement de typeRound Robin avec un quantum de 3 et le temps d’attente moyen.

Proc. Arriv´ee Dur´ee

P1 0 7

P2 1 4

P3 1 2

P4 2 2

P5 3 1

Date UC

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

P1 P2 P3 P4 P5 P1 P2 P1

Temps d’attente moyen :

(0 + 8 + 1) + (2 + 8) + 5 + 6 + 7)

5 = 37

5 = 7.4

(45)

Questions de cours Ordonnancement Processus Synchronisation Conclusion

Ordonnancement

Round Robin

Indiquez le r´esultat d’un ordonnancement de typeRound Robin avec un quantum de 3 et le temps d’attente moyen.

Proc. Arriv´ee Dur´ee

P1 0 7

P2 1 4

P3 1 2

P4 2 2

P5 3 1

Date UC

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

P1 P2 P3 P4 P5 P1 P2 P1

Temps d’attente moyen :

(0 + 8 + 1) + (2 + 8) + 5 + 6 + 7)

5 = 37

5 = 7.4

Info32b Syst`emes d’Exploitation Nicolas Sabouret 12/28

(46)

Questions de cours Ordonnancement Processus Synchronisation Conclusion

Ordonnancement

Comparaison

Quel est le meilleur algorithme suivant le crit`ere du temps d’attente moyen ? Et suivant le crit`ere du temps d’attente min-max ?

Temps d’attente par processus et par algorithme :

Algo P1 P2 P3 P4 P5 Moyenne Max

FIFO 0 6 10 11 12 7.8 12 (P5)

SRT 9 5 0 2 0 3.2 9 (P1)

RR3 9 10 5 6 7 7.4 10 (P2)

Ü Sur les deux crit`eres, c’estSRTqui l’emporte !

(47)

Questions de cours Ordonnancement Processus Synchronisation Conclusion

Ordonnancement

Comparaison

Quel est le meilleur algorithme suivant le crit`ere du temps d’attente moyen ? Et suivant le crit`ere du temps d’attente min-max ?

Temps d’attente par processus et par algorithme :

Algo P1 P2 P3 P4 P5 Moyenne Max

FIFO 0 6 10 11 12 7.8 12 (P5)

SRT 9 5 0 2 0 3.2 9 (P1)

RR3 9 10 5 6 7 7.4 10 (P2)

Ü Sur les deux crit`eres, c’estSRTqui l’emporte !

Info32b Syst`emes d’Exploitation Nicolas Sabouret 13/28

(48)

Questions de cours Ordonnancement Processus Synchronisation Conclusion

Ordonnancement

Commutation

Si le temps de commutation est de 0,5 unit´es de temps, quel est le temps total d’ex´ecution des algorithmes ?

Il faut ajouter 0,5×nombre de commutations.

Pour FIFO, 4 commutations → 18 au lieu de 16 Pour SRT, 5 commutations→ 18,5 au lieu de 16 Pour RR3, 7 commutations → 19,5au lieu de 16

Le d´ebit et la rotation moyenne ne sont donc pas la mˆeme pour ces 3 algorithmes !

(49)

Questions de cours Ordonnancement Processus Synchronisation Conclusion

Ordonnancement

Commutation

Si le temps de commutation est de 0,5 unit´es de temps, quel est le temps total d’ex´ecution des algorithmes ?

Il faut ajouter 0,5×nombre de commutations.

Pour FIFO, 4 commutations → 18 au lieu de 16 Pour SRT, 5 commutations→ 18,5 au lieu de 16 Pour RR3, 7 commutations → 19,5au lieu de 16

Le d´ebit et la rotation moyenne ne sont donc pas la mˆeme pour ces 3 algorithmes !

Info32b Syst`emes d’Exploitation Nicolas Sabouret 14/28

(50)

Questions de cours Ordonnancement Processus Synchronisation Conclusion

Ordonnancement

Avec des E/S

On se place dans le contexte d’une ex´ecution plus longue :

Proc. Arriv´ee Dur´ee 1 E/S 1 Dur´ee 2 E/S 2 Dur´ee 3

P1 0 7 3 8 fin

P2 1 4 fin

P3 1 2 5 3 4 5

P4 2 2 fin

P5 3 1 4 4 fin

Quel algorithme choisir, parmi tous ceux vus en cours ?

A discuter. . .`

Dilemme famine (SRT) vs r´eactivit´e (RR) vs performance Algorithmes avecpriorit´e Linux/Windows

Temps total de chaque processus ?

(51)

Questions de cours Ordonnancement Processus Synchronisation Conclusion

Ordonnancement

Avec des E/S

On se place dans le contexte d’une ex´ecution plus longue :

Proc. Arriv´ee Dur´ee 1 E/S 1 Dur´ee 2 E/S 2 Dur´ee 3

P1 0 7 3 8 fin

P2 1 4 fin

P3 1 2 5 3 4 5

P4 2 2 fin

P5 3 1 4 4 fin

Quel algorithme choisir, parmi tous ceux vus en cours ? A discuter. . .`

Dilemme famine (SRT) vs r´eactivit´e (RR) vs performance Algorithmes avecpriorit´e Linux/Windows

Temps total de chaque processus ?

Info32b Syst`emes d’Exploitation Nicolas Sabouret 15/28

(52)

Questions de cours Ordonnancement Processus Synchronisation Conclusion

Plan

1 Questions de cours

2 Ordonnancement

3 Processus

4 Synchronisation

5 Conclusion

(53)

Questions de cours Ordonnancement Processus Synchronisation Conclusion

Code C

# i n c l u d e ...

# d e f i n e N 100 int k = 1;

int m a i n () { int t [ N ];

int i ;

for ( i =0; i < N ; i ++) t [ i ] = r a n d ()% N ; p i d _ t f i l s = f o r k ();

if ( f i l s = = 0 ) { k =0;

for ( i =0; i < N ; i ++) if ( t [0] < t [ i ]) t [ 0 ] = t [ i ];

} e l s e {

for ( i =1; i < N ; i ++) t [ 0 ] + = t [ i ];

w a i t p i d ( fils , NULL , 0 ) ; }

p r i n t f ( " p r o c e s s u s % d : % d \ n " ,k , t [ 0 ] ) ; r e t u r n 0;

}

Processus 1

Que fait le processus 1 ?

Attention : c’est celui pour lequel fils6=0!

Ü Initialise al´eatoirement le tableau

Ü Calcule la sommedes

´

el´ements danst[0] Ü Affiche le r´esultat

Info32b Syst`emes d’Exploitation Nicolas Sabouret 17/28

(54)

Questions de cours Ordonnancement Processus Synchronisation Conclusion

Code C

# i n c l u d e ...

# d e f i n e N 100 int k = 1;

int m a i n () { int t [ N ];

int i ;

for ( i =0; i < N ; i ++) t [ i ] = r a n d ()% N ; p i d _ t f i l s = f o r k ();

if ( f i l s = = 0 ) { k =0;

for ( i =0; i < N ; i ++) if ( t [0] < t [ i ]) t [ 0 ] = t [ i ];

} e l s e {

for ( i =1; i < N ; i ++) t [ 0 ] + = t [ i ];

w a i t p i d ( fils , NULL , 0 ) ; }

p r i n t f ( " p r o c e s s u s % d : % d \ n " ,k , t [ 0 ] ) ; r e t u r n 0;

}

Processus 1

Que fait le processus 1 ?

Attention : c’est celui pour lequel fils6=0!

Ü Initialise al´eatoirement le tableau

Ü Calcule la sommedes

´

el´ements danst[0] Ü Affiche le r´esultat

(55)

Questions de cours Ordonnancement Processus Synchronisation Conclusion

Code C

# i n c l u d e ...

# d e f i n e N 100 int k = 1;

int m a i n () { int t [ N ];

int i ;

for ( i =0; i < N ; i ++) t [ i ] = r a n d ()% N ; p i d _ t f i l s = f o r k ();

if ( f i l s = = 0 ) { k =0;

for ( i =0; i < N ; i ++) if ( t [0] < t [ i ]) t [ 0 ] = t [ i ];

} e l s e {

for ( i =1; i < N ; i ++) t [ 0 ] + = t [ i ];

w a i t p i d ( fils , NULL , 0 ) ; }

p r i n t f ( " p r o c e s s u s % d : % d \ n " ,k , t [ 0 ] ) ; r e t u r n 0;

}

Processus 1

Que fait le processus 1 ?

Attention : c’est celui pour lequel fils6=0!

Ü Initialise al´eatoirement le tableau

Ü Calcule la sommedes

´

el´ements danst[0]

Ü Affiche le r´esultat

Info32b Syst`emes d’Exploitation Nicolas Sabouret 17/28

(56)

Questions de cours Ordonnancement Processus Synchronisation Conclusion

Code C

# i n c l u d e ...

# d e f i n e N 100 int k = 1;

int m a i n () { int t [ N ];

int i ;

for ( i =0; i < N ; i ++) t [ i ] = r a n d ()% N ; p i d _ t f i l s = f o r k ();

if ( f i l s = = 0 ) { k =0;

for ( i =0; i < N ; i ++) if ( t [0] < t [ i ]) t [ 0 ] = t [ i ];

} e l s e {

for ( i =1; i < N ; i ++) t [ 0 ] + = t [ i ];

w a i t p i d ( fils , NULL , 0 ) ; }

p r i n t f ( " p r o c e s s u s % d : % d \ n " ,k , t [ 0 ] ) ; r e t u r n 0;

}

Processus 0

Que fait le processus 0 ?

Attention : c’est lefils!

Ü Le tableau a ´et´e initialis´e par le p`ere

Ü Calcule le maximumdes

´

el´ements danst[0] Ü Affiche le r´esultat

(57)

Questions de cours Ordonnancement Processus Synchronisation Conclusion

Code C

# i n c l u d e ...

# d e f i n e N 100 int k = 1;

int m a i n () { int t [ N ];

int i ;

for ( i =0; i < N ; i ++) t [ i ] = r a n d ()% N ; p i d _ t f i l s = f o r k ();

if ( f i l s = = 0 ) { k =0;

for ( i =0; i < N ; i ++) if ( t [0] < t [ i ]) t [ 0 ] = t [ i ];

} e l s e {

for ( i =1; i < N ; i ++) t [ 0 ] + = t [ i ];

w a i t p i d ( fils , NULL , 0 ) ; }

p r i n t f ( " p r o c e s s u s % d : % d \ n " ,k , t [ 0 ] ) ; r e t u r n 0;

}

Processus 0

Que fait le processus 0 ? Attention : c’est lefils!

Ü Le tableau a ´et´e initialis´e par le p`ere

Ü Calcule le maximumdes

´

el´ements danst[0]

Ü Affiche le r´esultat

Info32b Syst`emes d’Exploitation Nicolas Sabouret 18/28

(58)

Questions de cours Ordonnancement Processus Synchronisation Conclusion

Concurrence

Erreur

Y a-t-il un risque pour que les deux processus ne fournissent pas le r´esultat souhait´e ?

Ce qui est `a craindre, c’est que chacun bousille le tableau de l’autre. . .

Ü Non, car les deuxprocessus ont des espaces de donn´ees diff´erents (pas de variable partag´ee, y compris le tableau).

(59)

Questions de cours Ordonnancement Processus Synchronisation Conclusion

Concurrence

Erreur

Y a-t-il un risque pour que les deux processus ne fournissent pas le r´esultat souhait´e ?

Ce qui est `a craindre, c’est que chacun bousille le tableau de l’autre. . .

Ü Non, car les deuxprocessus ont des espaces de donn´ees diff´erents (pas de variable partag´ee, y compris le tableau).

Info32b Syst`emes d’Exploitation Nicolas Sabouret 19/28

(60)

Questions de cours Ordonnancement Processus Synchronisation Conclusion

Concurrence

Erreur

Y a-t-il un risque pour que les deux processus ne fournissent pas le r´esultat souhait´e ?

Ce qui est `a craindre, c’est que chacun bousille le tableau de l’autre. . .

Ü Non, car les deux processus ont des espaces de donn´ees diff´erents (pas de variable partag´ee, y compris le tableau).

(61)

Questions de cours Ordonnancement Processus Synchronisation Conclusion

Concurrence

Communication

Comment faire pour que les processus puissent utiliser le r´esultat de l’autre processus ?

Ce qui ne marche pas, c’est d’utiliser le code retour du fils : ¸ca ne passe que dans un sens !

Ü Passer par desthreads et utiliser desvariables partag´ees (variables globales dans le tas) pour les r´esultats ;

Ü Cr´eer deux variables partag´ees entre les processus `a l’aide de shmget

Ü Utiliser une communication par TCP/IPentre les deux processus (on s’´eloigne du cours. . . )

...

Info32b Syst`emes d’Exploitation Nicolas Sabouret 20/28

(62)

Questions de cours Ordonnancement Processus Synchronisation Conclusion

Concurrence

Communication

Comment faire pour que les processus puissent utiliser le r´esultat de l’autre processus ?

Ce qui ne marche pas, c’est d’utiliser le code retour du fils : ¸ca ne passe que dans un sens !

Ü Passer par desthreads et utiliser desvariables partag´ees (variables globales dans le tas) pour les r´esultats ;

Ü Cr´eer deux variables partag´ees entre les processus `a l’aide de shmget

Ü Utiliser une communication par TCP/IPentre les deux processus (on s’´eloigne du cours. . . )

...

(63)

Questions de cours Ordonnancement Processus Synchronisation Conclusion

Concurrence

Communication

Comment faire pour que les processus puissent utiliser le r´esultat de l’autre processus ?

Ce qui ne marche pas, c’est d’utiliser le code retour du fils : ¸ca ne passe que dans un sens !

Ü Passer par desthreads et utiliser desvariables partag´ees (variables globales dans le tas) pour les r´esultats ;

Ü Cr´eer deux variables partag´ees entre les processus `a l’aide de shmget

Ü Utiliser une communication par TCP/IPentre les deux processus (on s’´eloigne du cours. . . )

...

Info32b Syst`emes d’Exploitation Nicolas Sabouret 20/28

(64)

Questions de cours Ordonnancement Processus Synchronisation Conclusion

Plan

1 Questions de cours

2 Ordonnancement

3 Processus

4 Synchronisation

5 Conclusion

(65)

Questions de cours Ordonnancement Processus Synchronisation Conclusion

Donn´ees du probl`eme

Une route reliant Paris et l’Universit´e Paris-Sud. La particularit´e de cette route est d’ˆetre `a circulation altern´ee : des voitures peuvent y circuler ensemble dans le sens Orsay→ Paris ou dans le sens Paris

→Orsay, mais elles ne doivent jamais pouvoir se croiser.

Nous avons donc deux classe d’utilisateurs :VP→O (voitures de Paris vers Orsay) etVO→P.

Info32b Syst`emes d’Exploitation Nicolas Sabouret 22/28

(66)

Questions de cours Ordonnancement Processus Synchronisation Conclusion

Analyse du probl`eme

Section critique

Rappeler la d´efinition d’une section critique ainsi que les trois crit`eres qui y sont associ´es.

Ü Une section critique est une portion de code qu’on ne peut pas interrompre car elle contient desvariables partag´ees. Ü On souhaite garantir l’exclusion mutuelle, led´eroulement et

l’attente born´ee (ou vivacit´e). Probl`eme similaire

Expliquez l’analogie avec le probl`eme des lecteurs-´ecrivains (TD4). Ü C’est un probl`eme de lecteurs-´ecrivains, sauf qu’il peut y avoir

plusieurs ´ecrivains en mˆeme temps.

(67)

Questions de cours Ordonnancement Processus Synchronisation Conclusion

Analyse du probl`eme

Section critique

Rappeler la d´efinition d’une section critique ainsi que les trois crit`eres qui y sont associ´es.

Ü Une section critique est une portion de code qu’on ne peut pas interrompre car elle contient desvariables partag´ees.

Ü On souhaite garantir l’exclusion mutuelle, led´eroulement et l’attente born´ee (ou vivacit´e).

Probl`eme similaire

Expliquez l’analogie avec le probl`eme des lecteurs-´ecrivains (TD4). Ü C’est un probl`eme de lecteurs-´ecrivains, sauf qu’il peut y avoir

plusieurs ´ecrivains en mˆeme temps.

Info32b Syst`emes d’Exploitation Nicolas Sabouret 23/28

(68)

Questions de cours Ordonnancement Processus Synchronisation Conclusion

Analyse du probl`eme

Section critique

Rappeler la d´efinition d’une section critique ainsi que les trois crit`eres qui y sont associ´es.

Ü Une section critique est une portion de code qu’on ne peut pas interrompre car elle contient desvariables partag´ees.

Ü On souhaite garantir l’exclusion mutuelle, led´eroulement et l’attente born´ee (ou vivacit´e).

Probl`eme similaire

Expliquez l’analogie avec le probl`eme des lecteurs-´ecrivains (TD4).

Ü C’est un probl`eme de lecteurs-´ecrivains, sauf qu’il peut y avoir plusieurs ´ecrivains en mˆeme temps.

(69)

Questions de cours Ordonnancement Processus Synchronisation Conclusion

Analyse du probl`eme

Section critique

Rappeler la d´efinition d’une section critique ainsi que les trois crit`eres qui y sont associ´es.

Ü Une section critique est une portion de code qu’on ne peut pas interrompre car elle contient desvariables partag´ees.

Ü On souhaite garantir l’exclusion mutuelle, led´eroulement et l’attente born´ee (ou vivacit´e).

Probl`eme similaire

Expliquez l’analogie avec le probl`eme des lecteurs-´ecrivains (TD4).

Ü C’est un probl`eme de lecteurs-´ecrivains, sauf qu’il peut y avoir plusieurs ´ecrivains en mˆeme temps.

Info32b Syst`emes d’Exploitation Nicolas Sabouret 23/28

Références

Documents relatifs

Mathias est dans sa maison et décide de rendre visite à quatre de ses amis (Julie, Léo, Fabien et Kevin) en VTT?. Dans quel ordre doit-il rencontrer ses amis pour effectuer le

Nous montrons dans [6] l’int´erˆet pratique, pour certains types de donn´ees, d’utiliser des SVM (Support Vector Machine, voir [9]) sur les d´eriv´ees des fonctions initiales ;

En alg` ebre lin´ eaire, une matrice de Vandermonde est une matrice avec une progression g´ eom´ etrique dans

• Le problème du plus court chemin consiste à déterminer le chemin de coût minimum reliant un nœud a à un nœud b.. • On peut le voir comme un problème

Soit le triangle ABC inscrit dans Γ 0 , et dont les cot´ es sont, dans l’ordre des longueurs croissantes : AC, BC et AB.. ICJB est inscrit dans le cercle \

D627 - Plus court,

Pour d´emontrer la conjecture de q-Dyson propos´ee par A NDREWS [1], B RESSOUD et Z EILBERGER [2] ont introduit la Z -statistique d´efinie pour les mots et d´emontr´e d’une

Mais l’ourson s’est échappé; il court, court le plus vite qu’il peut... Que cherche