lu.se

Forskar­utbildnings­kurser

Lunds tekniska högskola | Lunds universitet

Detaljer för kurs EDAP10F Flertrådad programmering

Utskriftsvänlig visning

Allmänt
  • EDAP10F
  • Tillfällig
Kursnamn
  • Flertrådad programmering
Kursomfattning
  • 7.5
Undervisningsform
  • Gemensam kurs, avancerad nivå och forskarnivå
Administrativ information
  • 7121 (Datavetenskap (LTH))
  • 2020-09-24
  • Professor Thomas Johansson

Aktuell fastställd kursplan

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 fastställda kursplaner

1 kursplan.

Gäller från och med Första inlämning Andra inlämning Fastställd
HT 2020 2020‑09‑04 13:00:44 2020‑09‑04 16:57:52 2020‑09‑24

Aktuellt eller kommande publicerat kurstillfälle

Inget matchande kurstillfälle hittades.

Alla publicerade kurstillfällen

Inga matchande kurstillfällen hittades.

0 kurstillfällen.


Utskriftsvänlig visning