582303 Verkkosovellusten toteuttaminen (7 op)
582303 Implementering av nätverksapplikationer (7 sp)
582303 Network Programming (7cp)
Kurssin sisältö (alustava) / Course Content (tentative)
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 text book Stevens: Unix Network Programming,
Volume 1, 3rd Edition, Addison-Wesley, 2004). In part 2 of
the course, another book by Stevens: Unix Network Programming, Volume 2,
2nd Edition (Prentice-Hall, 1999) is very helpful, especially to
coverPart 2 (Unix Programming) and Part 5.1 (Threads) of the course.
Also man pages of various system/socket calls are important.
The exam area covers the chapters 1-17, 20-26 and 30 plus Appendixes
A-D of the course book.
- Johdanto / Introduction (Ch. 1-2), Week 1
- Unix-prosessit ja TCP/IP-tietoliikenne / Unix processes and TCP/IP Netwoking
- Asiakas-palvelija -malli / Client-Server Model
- Unix sovellusalustana / Unix Programming (Ch. 4.7, 5.8-5.10 and UNP,
Vol 2: Ch. 1, 4 and Unix man pages)
- Systeemikutsurajapinta / System Call Interface, Week 1
- Prosessien hallinta / Process Control (Ch. 4.7, 5.8-10
and UNP, Vol 2: Ch. 1), Week 1
- Prosessien välinen kommunikointi Unix-järjestelmissä / Unix IPC
Basics, Week 2
- Pistokkeiden käytön perusteet / Elementary Sockets (Ch. 3-11), Week 2-3
- Pistokerajapinta / Socket API, Week 2
- Pistokkeet Internet-alueella / Sockets in Internet Domain, Week 2-3
TCP-pistokkeet (tavuvirtapistokkeet) / TCP Sockets (Stream Sockets) (Ch. 4-5, 2)
UDP-pistokkeet (tietosähkepistokkeet) / UDP Sockets (Datagram
Sockets) (Ch. 8, 2)
- Nimi- ja osoitemuunnokset / Name and Address Conversions (Ch. 11.1-5), Week 3
- Pistokevirhetilanteiden käsittelystä / Sockets and errors (Ch. 4-5), Week 3
- Pistokeoptiot / Socket Options (Ch. 7), Week 4
- I/O lomitus:select() ja sen käyttö / Multiplexing: select() usage
(Ch. 6), Week 4
- Pistokkeiden monipuolisempi käyttö / Advanced Socket (Ch. 12-25)
- Monipuolisempi I/O / Advanced I/O Functions (Ch.14), Week 4
- Pistokkeet Unix-alueella / Sockets in Unix Domain (Ch. 15), Week 4
- Estymätön I/O / Nonblocking I/O (Ch. 16), Week 5
- Pistokkeiden käytön erityispiirteitä: lipukkeet, ioctl-operatioita,
OOB-data, I/O signaalit / Sockets: Special Features (Ch. 17, 22-25), Week 5
- Pistokkeet ja IPv6 / Sockets and IPv6 (Ch. 1.3, 4.1-4, 11.6-22, 12), Week 5
- Yleislähetys, monilähetys / Broadcasting, Multicasting, Ch. 20-21), Week 6
- Palvelijoiden ja asiakkaiden suunnittelusta / Client/Server Designing
- Demoniprosessit, Internet-demoni (inetd) / Daemon Processes, inetd (Ch. 13), Week 6
- Säikeiden käyttö / Threads Ch. 26), Week 6
- Palvelijoiden toteutusnäkökohtia / Server Design Alternatives (Ch. 30), Week 6-7
Sivu luotu 17.1.2011,
Markku.Kojo@cs.Helsinki.FI
|