Operativsystem och processorienterad programmering

15 hp

Kursplan, Grundnivå, 1DT096

Det finns en senare version av kursplanen.
Kod
1DT096
Utbildningsnivå
Grundnivå
Huvudområde(n) med fördjupning
Datavetenskap G2F, Teknik G2F
Betygsskala
Underkänd (U), godkänd (3), icke utan beröm godkänd (4), med beröm godkänd (5)
Fastställd av
Teknisk-naturvetenskapliga fakultetsnämnden, 24 oktober 2016
Ansvarig institution
Institutionen för informationsteknologi

Behörighetskrav

60 hp inklusive Datorarkitektur samt genomgången Imperativ och objektorienterad programmeringsmetodik.

Mål

Efter godkänd kurs ska studenten kunna:

  • redogöra för hur operativsystem och runtimesystem 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 hur synkroniseringstekniker kan användas för att hantera samtidighet i datorsystem, och bedöma deras lämplighet i olika situationer.
  • 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.
  • använda verktyg för versionshantering, felsökning och testning
  • genomföra ett strukturerat projektarbete tillsammans med andra studenter samt, under processen, reflektera över och utveckla gruppens samarbete.
  • planera ett projekt, inklusive användande av samarbetsverktyg, 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.

Innehåll

Programmeringsmodeller för flerkärniga system. Principer och tekniker för programmering och schemaläggning av parallella system av processer på enkelprocessorer, multicore och multiprocessorer. Problem som kan uppkomma i samband med samtidighet, t.ex. data race, dödläge, ömsesidigt uteslutande, Minneshantering i operativsystem och runtimesystem, inklusive minnesskydd, sidindelning och skräpsamling. Filsystem och grundläggande skyddsmekanismer. Praktisk användning av kunskaperna i genomförande av projektarbete i grupp. Programmering av parallella system i olika högnivåspråk, exempelvis Erlang, såväl som i olika lågnivåspråk, exempelvis C. Verktyg för dokumenthantering, versionshantering, debugging, testning, hantering av programbibliotek o dyl. Agila projektmetodiker.

Undervisning

Föreläsningar, laborationer, uppgifter och projektarbete i grupp.

Examination

Muntlig och skriftlig redovisning av uppgifter. Konstruktivt deltagande, muntlig och skriftlig redovisning av projekt. Skriftlig tentamen.

Övriga föreskrifter

Kan ej ingå i examen tillsammans med 1DT049 Processorienterad programmering eller 1DT044 Operativsystem I eller 1DT089 Operativsystem och multicoreprogrammering.

FÖLJ UPPSALA UNIVERSITET PÅ

facebook
instagram
twitter
youtube
linkedin