1. Introduction to Linux User Space & System Calls (1.5 hours)
- System calls vs. library functions.
- Tracing system calls using strace.
Hands-on:
- Use strace for tracing system calls.
- Locking a file and file regions.
2. Processes in Linux (3 hours)
- Process creation using fork().
- Executing processes with exec().
- Zombie and orphan processes.
Hands-on:
- Creating processes using fork().
- Executing a process with exec().
- Managing zombie and orphan processes.
3. Inter-Process Communication (IPC) (2.5 hours)
- IPC mechanisms: Pipes, FIFOs, Shared Memory, Semaphores.
Hands-on:
- Create and manage pipes and FIFOs.
- Implement shared memory between processes.
- Use semaphores for synchronization.