CSCI 415/515 - Fall 2024
Systems Programming
Signals and Timers
Monday, Sept 23, 2024
Readings
The Linux Programming Interface
:
- Ch 20: Signals: Fundamental Concepts (20.1 - 20.12, 20.14)
Materials
-
Signals: Fundamental Concepts
-
catch-sigint
-
catch-two
-
raise
-
pending
Wednesday, Sept 25, 2024
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
-
sigaction
-
sa_siginfo
-
sig_atomic
-
{send,catch}_sigqueue
Friday, Sept 27, 2024
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
Materials
-
sigsuspend
-
sigwaitinfo
-
signalfd
Monday, Sep 30, 2024
Readings
The Linux Programming Interface
:
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
Ch 10: Time
10.1: Calendar Time
10.2: Time-Conversion Functions
Materials
-
posix_timers
-
time
-
gettimeofday
-
gmtime
,
localtime
-
mktime
-
asctime
-
strftime
Wednesday, Oct 2, 2024
Readings
Shell Programming in Unix, Linux and OS X
:
skim:
skim:
Ch 1: A Quick Review of the Basics
Ch 2: What is the Shell?
Ch 3: Tools of the Trade
Ch 4: And Away We Go
Ch 5: Can I Quote You on That?
Ch 6: Passing Arguments
Ch 7: Decisions, Decisions
Ch 8: 'Round and 'Round She Goes