CONTINGUTS
1. Programació de Sistemes en C
1.1. Introducció a la programació de sistemes en
C
1.2. Introducció a la comunicació i sincronització
entre processos
1.3. Crides al nucli
1.4. Llibreries del Sistema
2. Programació Concurrent
2.1. Introducció a la programació concurrent
2.2. Mecanisme de cooperació entre processos
2.2.1. Introducció als mecanismes de cooperació
entre processos. Senyals
2.2.2. Introducció als mecanismes de cooperació
entre processos. Cua de missatges
2.2.3. Introducció als mecanismes de cooperació
entre processos. Memòria compartida
2.2.4. Introducció als mecanismes de cooperació
entre processos. Semàfors
2.3. Exclusiu mutu i sincronització
2.3.1. Algorisme de Dekker
2.3.2. Algorisme de Peterson
2.3.3. Sincronització en Hardware
2.4. Programació de Threads: Introducció als Threads
i Programació de Threads
3. Programació d'Entrada/Sortida
3.1. Programació de Pipes: Introducció a les Pipes;
Programació de Pipes
3.1.1. Pipes anònimes
3.1.2. Pipes amb nom (fifos)
3.2. Introducció al model Client/Servidor
3.3. Programació de Sockets: Introducció als Sockets;
Programació de Sockets
ORGANITZACIÓ
1) Pràctiques
Hi ha set (7) pràctiques (2h. per cada pràctica)
2) Seminaris
Hi ha tres (3) seminaris (2h. per cada seminari)
3) Classes
Hi ha set (7) classes (2h. per classe teòrica)
MÈTODE D'AVALUACIÓ
1) Pràctiques (laboratori): 25% de la nota final, d'obligatori
lliurament. Una nota per cada pràctica, la final és
la mitjana de les 7 amb un mínim de 5,0 per cada pràctica.
Això son set exercicis pràctics al laboratori. S'han
de completar i ser sotmesos pel començament del pròxim
laboratori.
2) Seminaris: 30% de la nota final, d'obligatori lliurament. Hi
ha tres seminaris. S'han de completar abans del començament
del seminari en una llibreta. Una nota per cada seminari, la final
és la mitjana dels 3 amb un mínim de 5,0 per cada
seminari.
3) Examen parcial 10% de la nota final
4) Examen final: 50% de la nota final. Examen teòric i
pràctic. Una nota de 4,5 per aprovar l'assignatura. Es
guarda la nota de les pràctiques aprovades i/o seminaris
fins al setembre.
BIBLIOGRAFIA BÀSICA
- Kay A. Robbins y Steven Robbins: UNIX programación
práctica: (guía para la concurrencia, la comunicación
y los multihilos). México: Prentice-Hall Hispanoamericana,
cop. 1997 Edició 1a ed.
- Stevens, W. Richard: Advanced programming in the UNIX enviornment
Reading. Addison-Wesley, cop. 1993
BIBLIOGRAFIA COMPLEMENTARIA
- A. S. Tanembaum, A. B. Woodhall, Sistemas Operativos: Diseño
e implementación. 2a Ed. Prentice Hall, 1998
- Silberschatz, J. Peterson, P. Galvin, Sistemas Operativos:
Conceptos fundamentales, Addison Wesley 3a edición
- Kernighan, Brian W. & Rob Pike, The UNIX programming
environment, Brian W. Kernighan, Brian W. & Rob Pike,
Englewood Cliffs: Prentice-Hall, cop. 1984
- R.C. Holt...[et al.] Structured concurrent programming with
operating systems applications, Reading: Addison-Wesley, cop.
1978
- Rodríguez, Claudia Salzberg, The Linux Kernel Primer:
a top-down approach for x86 and PowerPC architectures. Upper
Saddle River, NJ: Prentice Hall Professional Tecnical Referencie,
2006
- Pate, Steve D., UNIX internals: a practical approach,
Harloww: Addison-Wesley, 1996