redogöra för hur operativsystem växelverkar med maskin- och programvara.
förklara och använda algoritmer och tekniker för schemaläggning och synkronisering i olika system.
redogöra för principerna för olika programmeringsmodeller av flerkärniga system, till exempel processer, trådar, meddelandeöverföring och "software transactional memory", och konstruera program som använder dessa.
genomföra ett strukturerat projektarbete tillsammans med andra studenter samt, under processen, reflektera över och utveckla gruppens samarbete.
Planera ett projekt som är kopplat till globala hållbarhetsmål så att det kan genomföras inom givna ramar.
presentera och diskutera kursens innehåll muntligt och skriftligt med för utbildningsnivån lämplig färdighet.
förklara övergripande hur Internet är konstruerat och fungerar.
använda grundläggande verktyg för att undersöka ett nätverk och arbeta på ett distribuerat sätt.
redogöra för grunderna inom data- och nätverkssäkerhet.
Reflektera kring etiska konsekvenser av en egen systemdesign
Kursinnehåll
Processer, minnesmodeller och middleware. Synkronisering mellan processer inom samma dator samt på olika datorer. Namnhantering inom datorer samt i ett nätverk. In- och utmatningssystem. Filsystem. Olika typer av informationsskydd. Problem som kan uppkomma vid samtidighet, exempelvis data race, dödlägen, ömsesidigt uteslutande. Avbrottshantering. Pålitlig informationsöverföring. Routing och Forwarding. TCP/IP. DNS. Några fysiska teknologier, exempelvis Ethernet och WiFi. Säkerhetsaspekter, grundläggande kryptologi och nätverkssäkerhet. Etiska konsekvenser av designval. IT-systems relation till globala hållbarhetsmål. Programmering av system som inbegriper kommunikation i olika former såväl inom en dator som mellan olika kärnor i en dator eller mellan olika datorer över ett nätverk. Praktisk användning av kunskaperna i genomförande av projektarbete i grupp. Verktyg för dokumenthantering, versionshantering, felsökning, testning, hantering av programbibliotek och dylikt. Agila arbetssätt och gruppdynamik.
Förutsättningar
60 hp inklusive genomgången Datorarkitektur varav minst 5 hp ska vara avklarade, samt genomgången Imperativ och objektorienterad programmeringsmetodik. Systemdesign med ett användarperspektiv genomgången eller läses parallellt.