CS 355 - Systems Programming:
Unix/Linux with C

The Big Picture

Reference: Molay, Understanding Unix/Linux Programming, Chapter 1

What is systems programming?

The operating system (the kernel) manages and protects all resources and provides services to connect various devices to various programs. The computer memory provides space to store program and data: system space for the kernel and user space for the user programs. Systems programming focuses on designing and developing software that takes direct advantage of the kernel's services in order to access system resources and create new services for the user.

System resources

Our approach to study

What does that do?
Look at a real program, try running it, see what it does
How does that work?
See what system calls are used
Can I try to do it?
Write your own version