- 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 | |||