- Syllabus with requirements and grading policies
- Handin instructions for MPs and homeworks
- Recordings of lectures
- Honors section information
- Lectures: https://wiki.engr.illinois.edu/display/engrcoursevideos/CS241+Fall+2012
Systems Programming
cs 241 Fall 2012
Course materials
Getting help
- Having problems registering?
- Staff hours
- Piazza discussion board for all technical and class-related questions. You need the access code to register on Piazza.
- For private questions only, email cs241help-fa12@cs.illinois.edu. Please use Piazza if at all possible.
Schedule
Date | Event | Assignments | Readings and Notes | |
---|---|---|---|---|
Mon Aug 27 |
Course introduction | Homework 1 | How to study: a brief guide | |
Wed Aug 29 |
Introduction to C | Chapters 1, 2 C tutorial |
||
Fri Aug 31 |
C
No Evil |
|
||
Mon Sep 3 |
Labor Day |
|||
Wed Sep 5 |
Operating systems | Homework 1 due MP1: C basics (zip) |
|
|
Thu Sep 6 |
Discussion section (Solution) | Files | |
|
Fri Sep 7 |
System calls | I/O
Syscall
tutorial Chapter 3: UNIX survival skills for reference as needed |
||
Mon Sep 10 |
Memory intro | MP1 due MP2: malloc (zip) |
Chapter 21 (7.1-7.2) | |
Wed Sep 12 |
Memory
Allocation |
Chapter 21 (7.1-7.3) | ||
Thu Sep 13 |
Discussion section | |
||
Fri Sep 14 |
Memory:malloc | Understanding fragmentation: 08-fragtest.c |
||
Mon Sep 17 |
Memory: Heap Allocation | |
||
Wed Sep 19 |
Memory: Paging | Chapter 22 (8.1,8.2) | ||
Thu Sep 20 |
Discussion section | |
||
Fri Sep 21 |
Memory:
Page Tables |
|||
Mon Sep 24 |
Processes | MP2 due MP3: shell (zip) |
Many examples of fork(): 12-forks.c |
|
Wed Sep 26 |
Processes: System view | |||
Thu Sep 27 |
Discussion section (zip) | |||
Fri Sep 28 |
Processes: System view and Threads intro | Simple pthreads examples: 14-threads.c 14-join.c |
||
Mon Oct 1 |
Threads: pthreads | MP3 due MP4: Multi-threaded Merge Sort (zip) |
More pthreads examples: 15-hello_arg1.c 15-hello_arg2.c |
|
Wed Oct 3 |
Threads: systems view | |||
Thu Oct 4 |
Discussion section (zip) | |||
Fri Oct 5 |
Scheduling | |||
Mon Oct 8 |
Scheduling |
Understanding time quanta: 18-quanta.c |
||
Wed Oct 10 |
Synchronization | Simple synchronization problems: 18-counter.c |
||
Thu Oct 11 |
Discussion section | |||
Fri Oct 12 |
Synchronization
Mechanisms |
MP4 due | ||
Mon Oct 15 |
Lecture: Midterm review Midterm Exam 7:00pm - 9:00pm Location: (by last name) A-L: 1404 SC M-Z: 1320 DCL |
MP5: scheduling |
Midterm Study Guide: pdf,docx | |
Wed Oct 17 |
Semaphores, Mutexes and Condition Variables | |||
Thu Oct 18 |
Discussion
Section |
|||
Fri Oct 19 |
Semaphores,
Mutexes and Condition Variables Classic Synchronization Problems |
Producer-consumer solution with condition variables: 22-pc.c Readers-writers solution with reader priority 22-rw1.c Readers-writers solution with condition variables 22-rw2.c Readers-writers solution with condition variables and no starvation 22-rw3.c |
||
Mon Oct 22 |
Classic Synchronization Problems | MP5 due MP6: parmake (zip) MPx: extra credit MP (zip) |
||
Wed Oct 24 |
Classic
Synchronization Problems II |
|||
Thu Oct 25 |
Discussion Section | |||
Fri Oct 26 |
Deadlock | |||
Mon Oct 29 |
Deadlock | |||
Wed Oct 31 |
Deadlock solutions | |||
Thu Nov 1 |
Discussion Section | |||
Fri Nov 2 |
Deadlock solutions | |||
Mon Nov 5 |
Interprocess communication | MP6 due MP7: MapReduce (zip) |
Shared memory example: 26-shm.c Reader/writer using memory mapped files: 26-mmap.c Memory mapping pages: 26-mmap-test.c |
|
Wed Nov 7 |
IPC: Pipes, FIFOs | Pipe example: 27-pipe.c Piped commands: 27-ls_wc.c |
||
Thu Nov 8 |
Discussion section | |||
Fri Nov 9 |
Select, poll, signals | |||
Mon Nov 12 |
Signals, Introduction
to Networking |
|
||
Wed Nov 14 |
Networking, Network
Programming |
For a good tutorial and sample code, see http://beej.us/guide/bgnet/output/html/multipage/index.html |
||
Thu Nov 15 |
Discussion section | |
||
Fri Nov 16 |
Network programming | Final Study Guide: pdf,docx Final Practice Exam: pdf, docx |
||
Mon Nov 19 |
Thanksgiving Break |
|||
Wed Nov 21 |
||||
Fri Nov 23 |
||||
Mon Nov 26 |
More network
programming |
MP7 due MP8: WebServer (zip) |
|
|
Wed Nov 28 |
Network applications | |
||
Thu Nov 29 |
Discussion section | |||
Fri Nov 30 |
HTTP example, DNS and more | Sample code for push
server |
||
Mon Dec 3 |
Security |
MPx Due |
||
Wed Dec 5 |
Disks | |||
Thu Dec 6 |
Discussion section | |||
Fri Dec 7 |
File systems | |||
Mon Dec 10 |
Filesystems | MP8 due |
|
|
Wed Dec 12 |
Wrap up and Beyond CS241 | |
||
Mon Dec 17 | Final Exam 8:00am - 11:00am Location: Last names A - K: RAL 116 Last names L - Z: SC 1404 |