From f7c5a5999405170f809ff6ee62c8274d61cfbb76 Mon Sep 17 00:00:00 2001
From: Julian T <julian@jtle.dk>
Date: Sun, 7 Jun 2020 12:42:49 +0200
Subject: Completed exercise M8 for embedded

---
 sem4/embedded/eksamnen/notes.adoc | 40 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)

(limited to 'sem4/embedded/eksamnen/notes.adoc')

diff --git a/sem4/embedded/eksamnen/notes.adoc b/sem4/embedded/eksamnen/notes.adoc
index de9b919..0b33bb7 100644
--- a/sem4/embedded/eksamnen/notes.adoc
+++ b/sem4/embedded/eksamnen/notes.adoc
@@ -181,6 +181,46 @@ ____
 Exercise 1-2
 ____
 
+Se ./M8opg.adoc
+
+TODO lav arduino ting
+
+=== Noter
+
+_Earliest Deadline First_ eller *EDF* er hvor man tager den med deadline der er
+tættest på _t_.
+
+Dette gør man dynamisk hvilket giver en højere runtime cost end en fixed priority såsom *DMA*.
+
+_Hvis man kan finde et feasable schedule er *EDF* også feasable._
+
+_Hvis deadlines er lig perioder er taskset schedulable med *EDF* hvis stem:[U \leq 1]._
+Dette kaldes også for *utilization criterion.
+
+*Priority Ceiling*, er hvis en task stem:[\tau] prøver at lock en locked task, arver stem:[\tau{}_l] prioriteten.
+Her er det først når en højere task prøver at lock at den lavere task arver.
+
+Dette har forskellige egenskaber, hvis man kan garantere at alle task laver nested locking.
+
+- No deadlocks possible
+- En task venter max duration af critical region for lavere task.
+
+*Immediate Ceiling* er mere leightweight, da man istedet siger at hvis en task
+locker en lock, vil den arve den højst mulige potentielle perioritet.
+Også selvom der ikke er nogen der venter på den.
+
+Denne har samme egenskaber men behøver ikke lige så meget overhead.
+
+I et non-preemtive system, vil dette ikke betyde så meget, da ressources bliver
+unlocked igen i execution perioden for en task.
+
+Hvis man har _round_robin_, _static_ eller _dynamic_ scheduling er der ikke nogle prioriteter man kan bruge.
+Derfor bruger man _Static Ressource Priority Ordering_ hvor man bruger priorities når der sker ressource locking.
+
+- Hvis man bruger _static priority_ bestemmer man STPO før.
+- Hvis man bruger _round robin_ her kigger man på worsk case analysis.
+- Hvis man bruger _EDF_ her det svært at lave analysis.
+
 == H5 module 9
 
 ____
-- 
cgit v1.2.3

