Helsingin yliopisto - Tietojenkäsittelytieteen laitos
 Koti Yhteystiedot Laitos Henkilöt Opiskelu Hakeminen Tutkimus Uutiset ja tapahtumat

582303 Verkkosovellusten toteuttaminen (4 ov)
582303 Implementering av nätverksapplikationer (4 sv)
582303 Network Programming (4 cu)


Kurssin sisältö (alustava) / Course Content

Kurssi perustuu Stevensin kirjan Unix Network Programming, Volume 1, 3rd Edition (Addison-Wesley, 2004) lukuihin 1-17, 20-26 aj 30. Lisälukemistona Stevensin kirjan toinen osa Unix Network Programming, Volume 2, 2nd Edition (Prentice-Hall, 1999) on hyödyllinen, erityisesti kurssin osassa 2 (Unix sovellusalustana) ja 5.1 (Säikeet) käsiteltävien asioiden kohdalla.
Alla oleva asioiden käsittelyjärjestys on viitteellinen, mutta se kattaa kurssilla käsitellyt asiat.
Koealue: kurssin kokeeseen tulee luennoilla ja harjoituksissa käsitellyt asiat. Alue kattaa kirjan luvut 1-17, 20-26 ja 30 sekä liitteet A-D. SCTP-pistokkeisiin liittyviä asioita ei vaadita.
The course is based on the Stevens book (see below). In part 2 of the course, another book by Stevens: Unix Network Programming, Volume 2, 2nd Edition (Prentice-Hall, 1999) is very helpful. The exam area covers the chapters 1-17, 20-26 and 30 plus Appendixes A-D of the course book (Stevens: Unix Network Programming, Volume 1, 3rd Edition, Addison-Wesley, 2004).

  1. Johdanto / Introduction (Ch. 1-2)
    1. Unix-prosessit ja TCP/IP-tietoliikenne / Unix processes and TCP/IP Netwoking
    2. Asiakas-palvelija -malli / Client-Server Model

  2. Unix sovellusalustana / Unix Programming (UNP, Vol 2)
    1. Systeemikutsurajapinta / System Call Interface
    2. Prosessien hallinta / Process Control
    3. Prosessien välinen kommunikointi Unix-järjestelmissä / IPC in Unix

  3. Pistokkeiden käytön perusteet / Elementary Sockets (Ch. 3-11)
    1. Pistokerajapinta / Socket API
    2. Pistokkeet Internet-alueella / Sockets in Internet Domain
      TCP-pistokkeet (tavuvirtapistokkeet) / TCP Sockets (Stream Sockets) (Ch. 4-5, 2)
      UDP-pistokkeet (tietosähkepistokkeet) / UDP Sockets (Datagram Sockets) (Ch. 8, 2)
    3. Nimi- ja osoitemuunnokset / Name and Address Conversions (Ch. 11)
    4. Pistokeoptiot / Socket Options (Ch. 7)
    5. I/O lomitus:select() ja sen käyttö / Multiplexing: select() usage (Ch. 6)
    6. [ SCTP-pistokkeet / SCTP Sockets (Ch. 9-10, 2) ]

  4. Pistokkeiden monipuolisempi käyttö / Advanced Socket (Ch. 12-25)
    1. Monipuolisempi I/O / Advanced I/O Functions (Ch.14)
    2. Pistokkeet Unix-alueella / Sockets in Unix Domain (Ch. 15)
    3. Estymätön I/O / Nonblocking I/O (Ch. 16)
    4. Pistokkeiden käytön erityispiirteitä: lipukkeet, ioctl-operatioita, OOB-data, I/O signaalit / Sockets: Special Features (Ch. 17, 22-25)
    5. Yleislähetys, monilähetys / Broadcasting, Multicasting, Ch. 20-21)

  5. Palvelijoiden ja asiakkaiden suunnittelusta / Client/Server Designing
    1. Demoniprosessit, Internet-demoni (inetd) / Daemon Processes, inetd (Ch. 13)
    2. Säikeiden käyttö / Threads Ch. 26)
    3. Palvelijoiden toteutusnäkökohtia / Server Design Alternatives (Ch. 30)
    4. Pistokkeet ja IPv6 / Sockets and IPv6 (Ch.12)

Sivu luotu 30.11.2005, Markku.Kojo@cs.Helsinki.FI
Viimeksi päivitetty 31.1.2006