diff --git a/os/tp2/README.md b/os/tp2/README.md new file mode 100644 index 0000000..c376456 --- /dev/null +++ b/os/tp2/README.md @@ -0,0 +1,11 @@ +# Devoir de SEPT + +## Illustration + +La première partie se comporte comme suit : + +![semaphore](./doc/semaphore.png) + +La seconde partie se comporte comme suit : + +![queue](./doc/queue.png) \ No newline at end of file diff --git a/os/tp2/doc/queue.plantuml b/os/tp2/doc/queue.plantuml new file mode 100644 index 0000000..092a0d0 --- /dev/null +++ b/os/tp2/doc/queue.plantuml @@ -0,0 +1,77 @@ +@startuml queue +title Queue + +binary "Tâche 1" as t1 +concise "Queue" as s +binary "Tâche 2" as t2 +binary "Tâche 3" as t3 + +scale 1000 as 100 pixels + +@0 +t1 is low +t2 is low +t3 is low +s is {-} + + +@+3000 +t1 is high + +@+200 +t1 is low +s is "msg" +t1 -> s : tx + +@+400 +t2 is high +s is {-} +s -> t2 : rx +note top of s : T.1 écrit un message\nT.2 est réveillé et prends le message + +@+200 +t2 is low + +@+2200 +t1 is high + +@+200 +t1 is low +s is "msg" +t1 -> s : tx + +@+400 +t2 is high +s is {-} +s -> t2 : rx + +@+200 +t2 is low + + +@1000 +t3 is high +@+100 +t3 is low +@+900 +t3 is high +@+100 +t3 is low +@+900 +t3 is high +@+100 +t3 is low +@+900 +t3 is high +@+100 +t3 is low +@+900 +t3 is high +@+100 +t3 is low +@+900 +t3 is high +@+100 +t3 is low + +@enduml diff --git a/os/tp2/doc/queue.png b/os/tp2/doc/queue.png new file mode 100644 index 0000000..7e2ccad Binary files /dev/null and b/os/tp2/doc/queue.png differ diff --git a/os/tp2/doc/render.sh b/os/tp2/doc/render.sh new file mode 100755 index 0000000..5d6fbef --- /dev/null +++ b/os/tp2/doc/render.sh @@ -0,0 +1,6 @@ +#!/bin/sh +set -e +cd "$(dirname "$(realpath "$0")")" + + +plantuml *.plantuml diff --git a/os/tp2/doc/semaphore.plantuml b/os/tp2/doc/semaphore.plantuml new file mode 100644 index 0000000..5a53ed0 --- /dev/null +++ b/os/tp2/doc/semaphore.plantuml @@ -0,0 +1,75 @@ +@startuml semaphore +title Sémaphore + +binary "Tâche 1" as t1 +concise "Sémaphore" as s +binary "Tâche 2" as t2 +binary "Tâche 3" as t3 + +scale 1000 as 100 pixels + +@0 +t1 is low +t2 is low +t3 is low +s is "Verrouillé" + + +@+3000 +t1 is high + +@+400 +t1 is low +t2 is high +s is {-} +t1 -> s : lib. +s -> t2 : rév. +note top of s : T.1 libère la sémaphore\nT.2 est réveillé et verrouille la sémaphore + +@+400 +t2 is low +s is "Verrouillé" +t2 -> s : verr. + +@+2200 +t1 is high + +@+400 +t1 is low +t2 is high +s is {-} +t1 -> s : lib. +s -> t2 : rév. + +@+400 +t2 is low +s is "Verrouillé" +t2 -> s : verr. + + +@1000 +t3 is high +@+100 +t3 is low +@+900 +t3 is high +@+100 +t3 is low +@+900 +t3 is high +@+100 +t3 is low +@+900 +t3 is high +@+100 +t3 is low +@+900 +t3 is high +@+100 +t3 is low +@+900 +t3 is high +@+100 +t3 is low + +@enduml diff --git a/os/tp2/doc/semaphore.png b/os/tp2/doc/semaphore.png new file mode 100644 index 0000000..06705b6 Binary files /dev/null and b/os/tp2/doc/semaphore.png differ diff --git a/os/tp2/doc/sujet.pdf b/os/tp2/doc/sujet.pdf new file mode 100644 index 0000000..3fe7e0a Binary files /dev/null and b/os/tp2/doc/sujet.pdf differ