Notes
Welcome & Tour of Computer Systems
- #0 - Welcome
- #1 - Tour of Computer System
- #2 - Processes
- Slides
- 2a. Processes and Sleep
- 2b. fork() and exec()
- 2c. wait() and errno()
- Notes
- Suggested C Tutorials
- Tutorial on C for C++ Programmers
- Tutorial on Pointers
- Double pointers to functions such as
int **p;
- Slides
- #3 - Signals
- #4 - Scheduling
- Scheduling slides: TODO
- #5 - Memory Management
- Memory Management & Heap slides: TODO
- Video: Writing a Linked List in C
- Midterm.
- #6 - Virtual Memory
- Virtual Memory slides: TODO
- #7 - Threads
- Threads slides: TODO
- #8 - Synchronization
- Part 1: Synchronization with Mutexes slides: TODO
- Part 2: Synchronization Patterns slides: TODO
- #9 - Files
- Part 1: File syscalls & functions calls slides: TODO
- Part 2: File IO & file systems slides: TODO
- #10 - Networking
- Part 1: Sockets Intro slides: TODO
- Part 2: AF_INET - IPv4 Sockets slides: TODO
- Part 3: Multiple Clients slides: TODO
- #11 - Inter-process Communication (IPC)
- Part 1: Pipes, FIFO, Message Queue slides: TODO
- Part 2: Shared Memory slides: TODO
- #12 - Cryptography
- Part 1: Very basics & Algorithms slides: TODO
- Part 2: Applications slides: TODO
- Final Exam
- For final exam info, see section-specific pages.
General Lecture Notes and rough Schedule
The Lecture Notes repo contains the recent lecture notes text (markdown). It is not exactly what is being presented in this class, but is a good base.