CPS 445: Systems Programming II Lecture Notes

  1. Review of fundamentals ([USP] Preface, Ch1-7)
    1. poll ([USP] §4.4) and select ([USP] §4.5)
    2. terminal control ([USP] §§6.5-6.6)
    3. the token ring [Robbins & Robbins' Process Ring Simulator User's Guide] ([USP] Ch7)

  2. Asynchronous events ([USP] Ch8-9, 11)
    1. signals ([USP] Ch8)
    2. command shells ([USP] Ch11)
    3. times ([USP] §§9.1-9.2)
    4. timers ([USP] §§9.3-9.7)

  3. Concurrency ([USP] Ch12-14)
    1. POSIX threads ([USP] Ch12)
    2. thread synchronization ([USP] Ch13)
    3. critical sections and semaphores ([USP] Ch14)


    [CPL] B.W. Kernighan and D.M. Ritchie. The C Programming Language. Prentice Hall, Upper Saddle River, Second edition, 1988.
    [UPE] B.W. Kernighan and R. Pike. The UNIX Programming Environment. Prentice Hall, Upper Saddle River, NJ, Second edition, 1984.
    [USP] K.A. Robbins and S. Robbins. UNIX Systems Programming: Concurrency, Communication, and Threads. Prentice Hall, Upper Saddle River, NJ, 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.
Return Home