CS 241 Spring 2013: Systems Programming

Systems Programming

cs 241 Spring 2013

Course materials

Getting help

Schedule

Date Event Assignments Readings and Notes
Mon Jan 14 Course introduction Homework 1 How to study: a brief guide
Wed Jan 16 Introduction to C

Fri Jan 18 C No Evil

Mon Jan 21 MLK Day
Wed Jan 23 Operating systems Homework 1 due
MP1: C basics (zip)

Thu Jan 24 Discussion section (zip)

Fri Jan 25 System calls

Mon Jan 28 Memory intro MP1 due
MP2: malloc (zip)

Wed Jan 30 Memory allocation

Thu Jan 31 Discussion section (zip)

Fri Feb 1 Memory:malloc

Mon Feb 4 Memory: Paging

Wed Feb 6 Memory: Paging

Thu Feb 7 Discussion section (gdb Tutorial)

Fri Feb 8 Memory: Page Tables

Mon Feb 11 Processes MP2 due
MP3: Minimal Shell (zip)

Wed Feb 13 Processes: System view

Thu Feb 14 Discussion section (zip)

Fri Feb 15 Processes: System view

Mon Feb 18 Threads: pthreads MP3 due
MP4: Multi-threaded Merge Sort (zip)
(General instructions)

Wed Feb 20 Threads: systems view

Thu Feb 21 Discussion section (zip)

Fri Feb 22 Scheduling

Mon Feb 25 Scheduling

Wed Feb 27 Synchronization

Thu Feb 28 Discussion section

Fri Mar 1 Synchronization Mechanisms MP4 due
Mon Mar 4 Lecture: Midterm review

Midterm Exam
7:00pm - 9:00pm
Location (based on your last name):
A - Lh: 180 BEV
Li - Z: 1404 SC
MP5: scheduling (zip)

Wed Mar 6 Semaphores and Mutexes


Thu Mar 7 Discussion section (zip)

Fri Mar 8 Condition Variables


Mon Mar 11 Classic Synchronization Problems I
>> Annotated Version
MP5 due
MP6: Parmake (zip)
(General instructions)
Code: Building a semaphore with CVs
Code: Producer-Consumer

Related Wikipedia Links:
Synchronization
Producer-consumer problem
Readers-Writers Problem
Wed Mar 13 Midterm Exam Discussion &
Classic Synchronization Problems II
>> Annotated Version

Code: Readers-Writers Solution #1

Related Wikipedia Links:
Readers-Writers Problem
Thu Mar 14 Discussion Section
(Your chance to view your exam!)


Fri Mar 15 Classic Synchronization Problems III & Deadlock
>> Annotated Version

Code: Readers-Writers Solution #2
Code: Sleeping Barber Solution

Related Wikipedia Links:
Readers-Writers Solution
Sleeping Barber Problem
Dining Philosophers
Deadlock Conditions
Mon Mar 18 Spring Break
Wed Mar 20
Fri Mar 22
Mon Mar 25 Snow Day!
Wed Mar 27 Deadlock
>> Annotated Version

Wikipedia: Deadlock
Thu Mar 28 Discussion Section (Sample Solution)

Fri Mar 29 Deadlock solutions
>> Annotated Version


  Week #10 Review Questions: pdf / docx
Mon Apr 1 Inter-process communications (IPC)
>> Annotated Version
MP6 due
MP7: MapReduce (zip) (General Instructions)
C Code: mmap() to count (has race condition!)
Wed Apr 3 IPC: Pipes, FIFOs
>> Annotated Version


Thu Apr 4 Discussion section (ds9c solution)

Fri Apr 5 Signals
>> Annotated Version


  Week #11 Review Questions: pdf / docx
Mon Apr 8 Signals and Message Queues
>> Annotated Version


Wed Apr 10 Networking Intro
>> Annotated Version


Thu Apr 11 Discussion section

Fri Apr 12 Networking II and Sockets
>> Annotated Version


  Week #12 Review Questions: pdf / docx
Mon Apr 15 HTTP
>> Annotated Version
MP7 due
MP8: Web Server (zip)

Wed Apr 17 HTTP and DNS
>> Annotated Version
MPx: NoSQL (Extra Credit) zip
Thu Apr 18 Discussion section (zip)

Fri Apr 19 DNS and NAT
>> (No annotations, see video)


Week #13 Review Questions: pdf / docx
Mon Apr 22 File systems
>> Annotated Version
MPh due Final Study Guide: pdf / docx
Wed Apr 24 File systems
>> Annotated Version


Thu Apr 25 Discussion section (zip)

Fri Apr 26 Security
>> Annotated Version

Practice Final Exam: pdf / docx
  Week #14 Review Questions: pdf / docx
Mon Apr 29 Wrap up and Beyond CS 241 MP8 due
Wed May 1 In-class Review MPx due
Thu May 2 Reading Day
TA Review Sesssion: 12:00noon - 2:00pm, 2405 SC
Mon May 6 Final Exam
7:00pm - 10:00pm
Location (based on your last name):
A - Lh: 1404 SC
Li - Z: 1320 DCL