lu.se

Forskar­utbildnings­kurser

Lunds tekniska högskola | Lunds universitet

Detaljer för kursplan för kurs EDAP10F giltig från och med HT 2020

Utskriftsvänlig visning

Allmänt
Syfte
  • I flertrådade program hanteras parallella, asynkrona förlopp, ofta i interaktion med en fysisk omvärld. Bland de många tillämpningarna återfinns styrsystem, nätverkskommunikation, samt interaktiva system. Kursen syftar till att ge förmåga att konstruera robusta, resurseffektiva och välstrukturerade flertrådade program.
Innehåll
  • Grundläggande begrepp: jämlöpande aktiviteter, busy-wait och polling, synkronisering och kommunikation, odelbara operationer som test-and-set, ömsesidig uteslutning.
    Synkronisering och signalering i system med delat minne: lås, monitorer.
    Synkronisering och signalering i meddelandebaserade system.
    Trådning i interaktiva system med callbacks.
    Uppkomst och analys av dödläge (deadlock och livelock).
    Användning av några centrala delar av Javas concurrent-paket, såsom lås, semaforer, trådpooler, atomära värden och blockerande köer.
    Orientering om realtidsoperativsystem, schemaläggning, multicore-maskiner, låsfria algoritmer. Utblick mot mer avancerade ramverk i Javas concurrent-paket.
Kunskap och förståelse
  • För godkänd kurs skall doktoranden
  • känna till och kunna redogöra för hur trådar exekveras och synkroniseras i ett program,
    veta hur kapplöpningssituationer uppstår och hur man undviker sådana, samt
    veta hur dödlägen uppstår och hur man undviker sådana
Färdighet och förmåga
  • För godkänd kurs skall doktoranden
  • kunna utforma reaktiv programvara med jämlöpande aktiviteter utifrån tillämpningskrav och föreskrivna gränssnitt mot omgivningen,
    kunna implementera och felsöka flertrådad programvara, samt
    kunna genomföra enklare dödlägesanalys för ett mindre system av trådar och delade resurser.
Värderingsförmåga och förhållningssätt
  • För godkänd kurs skall doktoranden
  • kunna jämföra och diskutera design- och implementationsalternativ för flertrådade program, samt
    kunna göra avvägningar mellan prestanda och implementationskomplexitet i flertrådade program
Undervisningsformer
  • Föreläsningar
  • Laborationer
Examinationsformer
  • Skriftlig tentamen
  • Inlämningsuppgifter
  • Obligatoriska laborationer och skriftlig tentamen. Slutbetyg på kursen grundar sig på resultatet av den skriftliga tentamen.
  • Underkänd, godkänd
Förkunskapskrav
  • EDAA01 Programmeringsteknik - fördjupningskurs eller EDAA30 Programmering i Java - fortsättningskurs
Förutsatta förkunskaper
Urvalskriterier
Litteratur
  • Goetz, B.: Java Concurrency in Practice. Addison-Wesley, 2006. ISBN 0321349601.
  • Ytterligare material tillhandahålls av institutionen.
Övrig information
Kurskod
  • EDAP10F
Administrativ information
  • 2020-09-24
  • Professor Thomas Johansson

Alla publicerade kurstillfällen för kursplanen

Inga matchande kurstillfällen hittades.

0 kurstillfällen.


Utskriftsvänlig visning