CPS 445: Systems Programming II Lecture notes
- Fundamentals ([USP] Preface, Ch1-7):
- introduction,
course outline, programs, processes,
and threads ([USP] Preface, Ch1-2)
- processes
in UNIX (fork, wait, and exec;
[USP] Ch3)
- UNIX I/O
(read, write, poll,
and select; [USP] Ch4)
- files
and directories
(inodes; hard and symbolic links; [USP] Ch5)
- UNIX special files
(pipes & FIFOs; [USP] §§6.1-6.5)
- terminals ([USP] §6.5)
and terminal control
([USP] §6.6)
- the token ring [Robbins & Robbins'
Process
Ring Simulator User's Guide] ([USP] Ch7)
- Asynchronous events ([USP] Ch8-9,11):
- signals ([USP] Ch8)
- command shells ([USP] Ch11)
- times ([USP] §§9.1-9.2)
- timers ([USP] §§9.3-9.7)
- Concurrency ([USP] Ch12-14)
- POSIX threads ([USP] Ch12)
- thread synchronization ([USP] Ch13)
- critical sections and semaphores ([USP] Ch14)
References
| [CPL] |
B.W. Kernighan and D.M. Ritchie. The C Programming Language.
Prentice Hall, Second edition, 1988. |
| [UPE] |
B.W. Kernighan and R. Pike. The UNIX Programming Environment.
Prentice Hall, Second edition, 1984.
|
| [USP] |
K.A. Robbins and S. Robbins.
UNIX
Systems Programming: Concurrency, Communication, and Threads.
Prentice Hall, Second edition, 2003. |
© S. Perugini, Winter 2006, University of Dayton.
Permission to use ideas about
the organization of topics and any notes or material is granted,
provided suitable acknowledgments and citations are made.
|