Operativsystem och multicoreprogrammering

15 hp

Kursplan, Grundnivå, 1DT089

Kod
1DT089
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 april 2013
Ansvarig institution
Institutionen för informationsteknologi

Behörighetskrav

60 hp inklusive Datorarkitektur och digitalteknik 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.
  • 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 9 hp. Aktivt deltagande, muntlig och skriftlig redovisning av projekt 6 hp. Fördjupningsuppgifter och skriftlig tentamen för högre betyg.

Icke slutförda projektarbeten kan återupptas för bedömning först vid nästa kurstillfälle.

Övriga föreskrifter

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

FÖLJ UPPSALA UNIVERSITET PÅ

facebook
instagram
twitter
youtube
linkedin