Help Instructor Mirela Damian, Mendel 167A. Office hours are Tuesdays and Thursdays 1:30pm - 2:30pm.
  CSC helpdesk and peer tutors are available to help you with programming and basic system issues.
 
Jan. 12
14
Lecture #1
  • Goals and Introduction (pdf, updated 01/13/16)
  • Memory Allocation for Unix Processes (pdf, review). More on memory management in C
  • Quick Overview of C versus Java (pdf, use for reference)

Reading

Homework

  • Command Line Arguments (available under Assignments). Due on Thursday, .
Jan. 19
21
Lecture #2

Code we wrote in class

Homework

  • Manipulating Arrays of Strings (available under Assignments). Due on Thursday, .
Jan. 26
28
Lecture #3

Handout

  • Creating and Destroying Unix Processes (pdf)

Reading

Homework

  • Smart Shell, Part One (available under Assignments). Due on Thursday, .
Feb.   2
  4
Lecture #4

Handout

  • Creating and Executing Unix Processes (html)

Reading

Feb.   9
11
Lecture #5
  • Continued from last week ...
  • CPU Scheduling (pdf)
Handout
  • CPU Scheduling Practice (pdf)

Reading

Feb. 16
18
Lecture #6: Communication between Processes on the Same Machine
  • Signals or Software Interrupts (html)
  • Anonymous Pipes (pdf, html)
  • Named Pipes or FIFOs (html)
  • Message Queues (html)

Code

  • Solution to the factorial program (factorial.c, try it on your own first)

Reading

Feb. 23 Lecture #7: Communication between Processes on Different Machines
  • Remote Procedure Calls (pdf)
  • Sockets (to be covered later)

HandsOn

  • RPC Implementation (html)
Feb. 25 Lecture #8
  • Introduction to Threads (pdf)

HandsOn

Reading

Feb. 29 - Mar. 6:   Spring Break
Mar.   8
10
No lecture
Mar. 15
17
Lecture #9
  • Synchronizing Threads with Semaphores (pdf)

HandsOn

  • Programming with POSIX semaphores (html)

Midterm review

Mar. 22 Midterm exam.
Mar. 23 - 28:   Easter Break
Mar. 29
31
Catching up
  • Programming with POSIX Threads (html). Code badcnt.c
  • Programming with POSIX semaphores (html)
Lecture #10
  • Classical Synchronization Problems (pdf)
  • The Readers-Writers Problem (pdf)

Reading

Apr.   5
  7
Lecture #11
  • Socket Programming (pdf)
Apr. 12
14
Lecture
  • Socket Programming (contd.)
HandsOn Reference News
Apr. 19
21
Lecture #12
  • Memory Management and Protection. Virtual Memory (pdf)

Reading

Apr. 28 Note that Apr. 26 follows a Friday schedule.
    
Final Exam: Section 002 on Monday, May 2, 2:30 pm - 5:00 pm
Section 001 on Friday, May 6, 8:30 am - 11:00 am