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

Der er ingen formelle forudsætninger.


Anbefalede forudsætninger:
Programmeringserfaring, kendskab til sprog og
abstrakte maskiner.


Svarende til faget DigiKomm 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.


 
Læringsmål:

Studienævnet for Tværfaglig IT tager forbehold
overfor senere ændringer i kursusbeskrivelsen. Se
den seneste version på:
<a
href:"http://www.dat.ruc.dk/undervisning2/">http://www
.dat.ruc.dk/undervisning2/ under kurser
2001.


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 og/eller afvikles på
forskellige operativsystemer på samme eller
forskellige maskiner.



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.


 
Fagligt indhold:Første del af kurset handler om
processer og tråde på den enkelte
maskine:



Formålet er at uddybe proces- og
trådbegreberne, samt synkronisering og
kommunikation mellem processer (henholdsvis
tråde).


Det gør vi blandt andet ved at arbejde i
praksis med C-programmer, der bruger systemkald
til processkabelse og foretager operationer på
semaforer. Første del af kurset vil også
indeholde en introduktion til C.



Anden del er den egentlige,
distribuerede del:



Formålet er at give både en uddybet
forståelse og en praktisk erfaring med begreber
og teknikker til kommunikation (herunder sockets og
fjernprocedurekald) i distribuerede systemer, samt at
introducere sprog-uafhængige, distribuerede
objekter. Samtidig behandles en
rækketværgående temaer, f.eks.
design af distribuerede applikationer, design
patterns, skalerbarhed, fejl-tolerance og
tilgængelighed.


Det vil vi gøre:





  • ved at bruge sockets til at forbinde
    C-programmer med Java-programmer,

  • ved at afprøve Java's Remote Method
    Invocation (RMI), og

  • CORBA-standarden for at arbejde med objekter
    og fjernprocedurekald på tværs af
    forskellige sprog.

 
Læringsaktiviteter:

Forelæsninger og øvelser 

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

Afleveringsopgave med aflevering ved afslutning
af faget.

 
Litteratur udover forskningsartikler:Litteratur er ikke valgt, men følgende overvejes:

  • Richard Stones & Neil Matthew.
    Beginning Linux Programming. Wrox Press, 2/e,
    1999.

  • Robert Orfali & Dan Harkey.
    Client/Server Programming with Java and Corba.
    Wiley, 2/e, 1998.

  • Brian W. Kernighan & Dennis M.
    Ritchie.
    The C Programming Language. Prentice Hall, 2/e,
    1988.