IT-Universitetet i København
 
  Tilbage Kursusoversigt
Kursusbeskrivelse
Kursusnavn (dansk):Distribuerede Systemer 
Kursusnavn (engelsk):Distributed Systems 
Semester:Forår 2002 
Udbydes under:cand.it., tværfaglig it-udvikling (tit) 
Omfang i ECTS:7,50 
Kursussprog:Dansk 
Kursushjemmeside:https://learnit.itu.dk 
Min. antal deltagere:10 
Forventet antal deltagere:26 
Maks. antal deltagere:200 
Formelle forudsætninger:Der er ingen formelle forudsætninger.


Kurset er videregående.
Svarende
til kurset DigiKomm (Digital kommunikation)
forudsættes:
Kendskab til maskinarkitetktur,
netværksarkitektur
og netværksprotokoller;
et indledende kendskab til proces- og
trådbegrebet,
synkronisering af og kommunikation mellem
processer/tråde (herunder
semaforer), fjernprocedurekald og sockets.
Svarende til kurset OOP (objektorienteret
programmering)
forudsættes kendskab til objektorientering samt
programmeringserfaring,
herunder et vist kendskab til og erfaring i at arbejde
med
flertrådet programmering.
 

Læringsmål:

At de studerende opnår kendskab til
distribuerede systemer og til
praktisk konstruktion af distribuerede systemer.



Distribuerede systemer
er systemer, der består af flere programmer,
som arbejder sammen om
at løse en opgave, og som er fordelt på
forskellige maskiner.
De enkelte dele kan evt. være skrevet i
forskellige programmeringssprog
(fx. C, C++, Java) og/eller afvikles på forskellige
operativsystemer
(fx. Unix, Linux, Windows, MacOS) på samme
eller
forskellige maskintype.
Det kan være løsere forbundne systemer
som f.eks. en webserver
og en webbrowser, eller den indre struktur af en
kompleks website med database,
søgemaskine, e-handel, m.m. 



Det er også et formål med kurset at udbygge
de studerendes kendskab til operativsystemer,
herunder til procesbegrebet,
hvilket er en vigtig forudsætning for at
opnå indsigt i distribuerede systemer. 

Fagligt indhold:Centrale begreber vil være:



  • Processer og tråde på den enkelte
    maskine;
    herunder synkronisering og kommunikation mellem
    processer (henholdsvis tråde).


  • Kommunikation mellem processer på forskellige
    maskiner:
    sockets og fjernprocedurekald.


  • Design af distribuerede applikationer,
    herunder design patterns, og designmålsætninger
    som
    sikkerhed, skalerbarhed,
    fejl-tolerance og tilgængelighed.



I den praktiske del af kurset, herunder øvelserne,
vil følgende emner være centrale:



  • Som et praktisk indfaldsvinkel til arbejdet med
    processer
    vil vi
    arbejde med C-programmer, der bruger systemkald
    til processkabelse
    og inter-proces synkronisering og kommunikation.
    Der vil være en kort introduktion til C.


  • Vi skal arbejde med sockets til at etablere
    kommunikation mellem
    f.eks. et Java-program på en maskine og et
    C-program
    på en anden maskine.


  • Vi skal også arbejde med Javas fjernprocedurekald
    mekanisme:
    Remote Method Invocation (RMI),


 
Læringsaktiviteter:

Forelæsninger og øvelser 

Eksamensform og -beskrivelse:X. experimental examination form (7-scale; external exam), 13-skala, Intern censur

Skriftlig afleveringsopgave
med aflevering ved afslutning af faget
(inden projektperioden), som danner udgangspunkt
for
en kort mundtlig eksamen.
Opgaven kan laves i grupper af 1 eller 2 studerende.
 

Litteratur udover forskningsartikler: