Notes
Lecture Recordings of Dr. Brian's lectures. May be accessed by students in any section of the course.
-
#0 - Welcome
-
#1 - Tour of Computer System
- Further notes for reference.
-
#2 - Processes
- Part 1: Processes and Sleep
- Part 2:
fork()andexec() - Part 3:
wait()anderrno() - Suggested C Tutorials
- Tutorial on C for C++ Programmers
- Tutorial on Pointers
- Double pointers to functions such as
int **p;
- Further notes for reference.
-
#3 - Signals
- Further notes for reference.
-
#4 - Scheduling
- Further notes for reference.
-
#5 - Memory Management & Heap notes
- Exercise: C Linked List
- This highly recommended exercise is a step towards writing more C code.
- Video: Writing a Linked List in C
- Further notes for reference.
- Exercise: C Linked List
-
#6 - Virtual Memory
- Further notes for reference.
-
#7 - Threads
- Further notes for reference.
-
#8 - Synchronization
- Part 1: Synchronization with Mutexes
- Part 2: Synchronization Patterns
- Further notes for reference.
-
#9 - Files
- Part 1: File syscalls & functions calls
- Part 2: File IO & file systems
- Further notes for reference.
-
#10 - Networking
- Part 1: Sockets Intro
- Part 2:
AF_INET- IPv4 Sockets - Part 3: Multiple Clients
- Sample code from lecture
- Further notes for reference.
-
#11 - Inter-process Communication (IPC)
- Part 1: Pipes, FIFO, Message Queue
- Part 2: Shared Memory
- Further notes for reference.
-
#12 - Cryptography
- Part 1: Very basics & Algorithms
- Part 2: Applications
- Further notes for reference.
-
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.