Skip to main content

Section outline

  • Differentiating system calls and library functions
    Tracing system calls using tools like strace
    Exercise: Locking file regions, tracing system calls

  • Process creation, operations, and handling zombie processes
    Exercise: Creating and managing processes with fork() and exec()

  • Pipes, FIFOs, shared memory, and semaphores
    Exercise: Demonstrating IPC using pipes and shared memory

  • POSIX threads: creation, joining, and synchronization
    Exercise: Creating threads with pthread_create() and managing them

  • Mechanisms like mutexes and semaphores
    Exercise: Solving the producer/consumer problem with synchronization tools

  • Design a multitasking application integrating processes, IPC, threads, and synchronization
    Exercise: Implement resource sharing and thread/process cleanup
    Discussion: Key takeaways, challenges, and feedback