| Overview of CSE4001 | Makefile tutorial, Compiling C/C++ programs | |
| Introduction to operating systems | Chapter 2 (Arpaci-Dusseau): Introduction to OS, Chapter 6 (Arpaci-Dusseau):Limited Direct Execution | |
| System calls and limited directed execution | Chapter 2 (Arpaci-Dusseau): Introduction to OS, Chapter 6 (Arpaci-Dusseau):Limited Direct Execution | |
| System calls in OS/161 | | basic os161 kernel |
| Processes | Chapter 4 (Arpaci-Dusseau): Processes | |
| Process API | Chapter 5 (Arpaci-Dusseau): Process API | Using the process API |
| Inter-process communication | Shared storage, Message passing | ipc_code.zip, socket_forkhandlers.zip, Using signals |
| Threads | Dialogue, Concurrency and Threads, and Thread API. | pthreads and OpenMP |
| Synchronization | The Little Book of Semaphores | semaphore_class, producer_consumer |
| Scheduling | Introduction to scheduling, Multi-level feedback queue, CFS: Completely fair process scheduling in Linux | |
| Main memory and virtual memory | Address spaces, Memory API, Address translation, Intro. to paging, Swapping mechanisms, Swapping policies | |
| File-system interface, Files and directories | Chapter 39: Files and Directories | |
| File-system implementation | | |
| | | |