Beskriva och förstå begreppen inbyggda system, process, parallella processer, delade resurser samt distribuerade system.
Förklara begreppen kritisk region, ömsesidig uteslutning, svält, låsning samt synkronisering av processer.
Beskriva och förstå den allmänna uppbyggnaden av, och funktionen hos, en realtidskärna för små inbyggda system.
Utveckla program bestående av flera processer för små applikationer med stöd av en realtidskärna.
Kunna använda pekare i samband med utveckling av C-program för hantering av datastrukturer som listor och köer.
Förklara innebörden av, och skillnaden mellan, begreppen tabellstyrd och prioritetsstyrd schemaläggning.
Tillämpa schemaläggningsanalys på enklare system bestående av ett flertal välspecificerade processer med tidskrav (period och deadline).
Beskriva grundläggande struktur och egenskaper hos CAN-protokollet.
Kursinnehåll
I kursen tas följande begrepp upp i olika fördjupningsgrad: process, processkommunikation, kritiska regioner, semaforer, ömsesidig uteslutning och synkronisering, låsning, tidskrav ("mjuka/hårda" system), schemaläggning, tids- och händelsestyrda system, schemaläggningsanalys för system med statiska och dynamiska processprioriteter, distribuerade realtidssystem samt datakommunikation för små inbyggda realtidssystem. En större laborationsuppgift och en avslutande laborationsrapport ger erfarenheter av programutveckling för inbyggda system. Kursen beskriver programmerarens gränssnitt för den realtidskärna som finns tillgänglig för att lösa laborationsuppgiften, och tar även upp hur av pekare, listor och köer i C-program används i det sammanhanget.
Förutsättningar
Grundläggande behörighet för grundnivå
Litteratur
Föreläsningsanteckningar. Utvalda texter från tidskrifter, konferenser och böcker. Exempelsamling.