CSCI 415/515 - Fall 2023
Systems Programming
Signals and Timers


Monday, Sept 25, 2022

Readings
The Linux Programming Interface:
- Ch 20: Signals: Fundamental Concepts (20.1 - 20.12, 20.14)
Materials

Wednesday, Sept 27, 2022

Readings
The Linux Programming Interface:
  • Ch 20: Signals: Fundamental Concepts
    • 20.13: Changing Signal Dispositions: sigaction()
  • Ch 21: Signals: Signal Handlers
    • 21.1: Designing Signal Handlers
    • 21.4: The SA_SIGINFO Flag
    • 21.5: Interruption and Restarting of System Calls
  • Ch 22: Signals: Advanced Features
    • 22.6: Timing and Order of Signal Delivery
    • 22.7: Implementation and Portability of signal()
    • 22.8: Realtime Signals
Materials

Friday, Sept 29, 2022

Readings
The Linux Programming Interface:
  • Ch 22: Signals: Advanced Features
    • 22.9: Waiting for a Signal Using a Mask: sigsuspend
    • 22.10: Synchronously Waiting for a Signal
    • 22.11: Fetching Signals via a File Descriptor
  • Ch 23: Signals: Timers and Sleeping
    • 23.1: Interval Timers
    • 23.4: Suspending Execution for a Fixed Interval (Sleeping)
    • 23.5: POSIX Clocks
    • 23.6: POSIX Interval Timers
Materials

Monday, Oct 2, 2023

Readings
The Linux Programming Interface:
  • Ch 10: Time
    • 10.1: Calendar Time
    • 10.2: Time-Conversion Functions
Shell Programming in Unix, Linux and OS X:
skim:
  • Ch 1: A Quick Review of the Basics
  • Ch 2: What is the Shell?
  • Ch 3: Tools of the Trade
Materials