Systems Programming

Course materials

Getting help

Schedule

DateEventAssignmentsReadings and Notes
Mon Jun 11 Course introduction
Introduction to C
Homework 1 Released
MP1 Released (zip)
C Tutorial
Textbook: Chapter 1, 2
Tue Jun 12 Introduction to C
Operating systems

Discussion Section: MiniMP (zip)
Textbook: Chapter 1, 2
Wed Jun 13 System calls
Processes

Discussion Section: Office Hours
11:59pm: Homework Due Textbook: Chapter 3
Sun Jun 17   11:59pm: MP1 Due  
Mon Jun 18 Memory intro
Memory: heap allocation
MP2 Released (zip) Textbook: Chapter 21
Tue Jun 19 Memory: buddy system / segmentation
Memory: paging
Annotation: combined file

Discussion: MiniMP (zip)
  Textbook: Chapter 22
Wed Jun 20 Memory: paging
Memory: wrap up

Annotation: combined file

Discussion: Office Hours
 
Sun Jun 24   MP2 Results Page
11:59pm: MP2 Due
 
Mon Jun 25 Processes
Processes: System view
MP3 Released (zip) Chapter 3, 4 and 7
Tue Jun 26 Threads: pthreads
Threads: systems view

Annotation: combined file

Discussion: MiniMP (zip)
  Textbook: Chapter 8
Wed Jun 27 Threads wrap-up
Scheduling

Annotation: combined file

Discussion: Office Hours
Textbook: Chapter 14
Sun Jul 1    
Mon Jul 2 Synchronization intro
Synchronization
Practice Midterm
MP4 Released (zip)
11:59pm: MP3 Due
Textbook: Chapter 9
Tue Jul 3 Topics wrapup
Midterm review


Discussion: MiniMP (zip)
Wed Jul 4 No Class -- University Holiday  
Sun Jul 8   11:59pm: MP4 Due  
Mon Jul 9 Midterm Exam
11:00am - 12:50pm (during class, all 110 minutes)
1109 SC (in our usual classroom)
Closed books, closed notes
Bring only an i-Card, #2 pencil
MP5 Released ( zip )
Tue Jul 10 Code: Race Condition
Code: ...fix with mutex
Code: ...fix with cond vars
Code: ...fix with semaphore
Code: Producer-Consumer

Discussion: MiniMP (zip)
Textbook: Chapters 12, 13
Mutual exclusion
Semaphore
Conditional variables
Producer-consumer problem
Buffer underflow
Buffer overflow
Wed Jul 11 Code: Readers-Writers Problem
Code: Dining philosophers

Discussion: Office Hours
  Textbook: Chapter 10
Dining philosophers problem
Readers-writers problem
Deadlocks
Sun Jul 15   11:59pm: MP5 Due  
Mon Jul 16 Deadlock solutions
Banker's algorithm
MP6 Released (zip) Deadlock
Deadlock Detection
Deadlock Prevention
Deadlock Avoidance
Banker's algorithm

Good overview of deadlock stuffs from Temple Univ.
Tue Jul 17 Interprocess communication
IPC: Pipes, FIFOs

Discussion: MiniMP
Textbook: Chapter 15
Wed Jul 18 No class, yayy!

Discussion: Office Hours
 
Sun Jul 22   11:59pm: MP6 Due  
Mon Jul 23 Select, poll (on whiteboard)
Signals
MP7 Released (zip) Textbook: Chapter 16
Tue Jul 24 Networking
Network programming

Discussion: MiniMP (zip)
  Textbook: Chapter 18
Wed Jul 26 Network applications
Network applications
MP8 Released (zip)
Sun Jul 29   11:59pm: MP7 Due  
Mon Jul 30 DNS and more
Disks, i-Nodes, and RAID
  Textbook: Chapters 1, 8, 10, 18-20
Tue Jul 31 I/O
I/O
 
Wed Aug 1 Filesystems
Wrap up and Beyond CS241
11:59pm: MP8 Due
(This is a Wednesday!)

Extension: MP8 may be submitted until Friday, August 3rd at 11:59pm without late penalty; however, there is no submissions after 11:59pm (not even late submissions).
 
Saturday, Aug 4 CS 241 Final Exam
Saturday, August 4, 2012
1:00pm - 3:00pm
Location 1404 SC
Closed books, closed notes
Only bring #2 pencil and i-Card
Study Guide: pdf, docx
Practice Exam: pdf, docx