http://www.cs.uiuc.edu/class/sp07/cs241/icons/info.gif

CS 241 Spring 2009
System Programming

 

 

9-9:50am MWF

1404 Siebel Center for Computer Science

 

 

Schedule and Lecture/Discussion Notes

Important: The table below is an approximate timeline and content. It may change slightly from time to time to accommodate the pace of the class. Note that all lecture slides are linked-in until the end of the semester. Slides are only an aid and should not be thought of as a comprehensive study source. Slides given in class may differ slightly from those online. Your attendance is kindly requested. For details and background on topics covered in class please refer to the reading list.  

Note on Mapping: If you have Stallings 5th edition and RR 2nd edition, here is a mapping of the current textbook chapters to Stallings and RR chapters:

1 (S1), 2(RR1), 3(RR-appendix A), 4(S3), 5(S4), 6(RR2), 7(RR3), 8(RR12), 9(S5), 10(S6), 12(RR13), 13(RR14), 14(S9), 15(RR8), 16(RR9), 17(RR-appendix B), 18(S11), 19(S12), 20(RR5), 21(S7), 22(S8).

Week

Date

 

Lecture

Topic

Readings

 MPs and HWs

  Comments

Discussion

1

01/21-01/23

 

1

Introduction and Course Overview (ppt, pdf)


How to study guide

 

 

None

 

2

Introduction to an OS ( ppt, pdf )

 

 

 

 

2

01/26-01/30

 

3

Chapter 1

 

SMP0 Out.

SMP0: Experiment with the POSIX programming environment, C and refresh your knowledge from cs225

C Programs
( ppt, pdf)

 

4

Brief Introduction to C (ppt, pdf)

 

(SP07 (ppt, pdf))

Chapter 2

C tutorial here.

 

5

System Calls (ppt, pdf)

I/O Syscall tutorial here.

Use Chapter 3 for reference as needed.

 

Note: Chapter 3 gives a really good overview of UNIX survival skills: man pages, compilation, header files, libraries, macros, makefiles, debugging, etc -  all you need to know before you start using UNIX.

3

02/02-02/06

 

6

Processes and Programs

(ppt, pdf)

Chapter 4 (Sec 3.1 – Sec. 3.4),

Chapter 7 (Sec 3.1 –Sec 3.4),

Debugging Debugging (ppt, pdf)

SMP0 Due.

SMP1 Out.

 

SMP1: Learn the basics of system calls for creating and managing processes.

Processes
( ppt, pdf, code)

7

Processes and Threads

(ppt , pdf )

Chapter 5 (Sec 4.1), Chapter 7 (all), Chapter 8 (Sec 12.1 – Sec 12.4)

8

Threads ( ppt , pdf )

Chapter 8 (all)

 

 

4

02/9-02/13

9

pThreads (ppt, pdf)

New: (ppt)

SMP1 Due.

SMP2 Out.

SMP2: POSIX Threads

Pthreads
( ppt, pdf, code)

10

Synchronization ( ppt, pdf)

Chapter 9 (Sec 5.1, 5.2), Chapter 11.

11

Semaphores ( ppt, pdf)

Chapter 9 (Sec 5.3)

 

 

5

02/16-02/20

 

12

Semaphores and Mutex (ppt, pdf)

New: (ppt)

Chapter 12 (Sec 13.1-13.3),

Chapter 13

SMP2 Due.

SMP3 Out.

SMP3: Synchronization

Semaphores
( ppt, pdf, code)

 

13

Scheduling Principles ( ppt, pdf)

Chapter 14 (Sec 9.1, 9.2).

 

14

Scheduling Policies and Introduction to Signals (ppt, pdf)

 

 

6

02/23-02/27

 

15

Signals, Signal Mask and Modification of Signal Masks ( ppt , pdf)

Chapter 15 (Sec 8.1 – Sec. 8.4)

SMP3 Due.

SMP4 Out.

SMP4: Scheduling

Scheduling & Signals ( ppt, pdf)

 

16

Signals, Signal Handlers, Waiting for Signals, Signals and Threads ( ppt , pdf)

Chapter 15 (all)

 

17

Introduction to Timers And Clocks (ppt, pdf)

Chapter 16 (Sec 9.1 – Sec 9.3)

 

 

7

03/02-03/06

 

18

Classic Synchronization Problems( ppt , pdf)

SMP4 Due.

HW1 Out (DOC, PDF).

 

 

Signals & Timers ( ppt, pdf, code (zip) )

 

19

Introduction to Deadlock ( ppt , pdf)

Chapter 10 (Sec 6.1 – Sec 6.6)

 

 

 

20

Deadlock Handling

 

 

8

03/09-03/13

21

Queueing Theory (ppt, pdf)

 

HW1 Due.

 

HW #1 Review & Synchronization ( ppt, pdf, code)

22

Queueing Theory II.

 

 

 

23

Review for Midterm (ppt, pdf)

 

 

 

9

03/16-03/20

 

24

Midterm

 

LMP1 Out.

LMP1: Synchronizations, Deadlocks, and RAGs

LMP1 + Midterm Review

 

25

I/0 Devices and Files( ppt, pdf )

 

 

 

 

26

File system introduction( ppt, pdf )

 

10

03/30-04/03

27

File system abstraction and allocation (ppt, pdf)

 

 

 

File I/O( ppt, pdf)

28

inodes and space management( ppt, pdf )

 

 

 

 

29

Access and Special Files( ppt, pdf )

 

 

 

11

 

04/06-04/10

 

30

Introduction to Virtual Memory( ppt, pdf )

 

LMP1 Due.

LMP2 Out.

LPM2: Memory Management

Memory Management ( ppt, pdf)

 

31

Introduction to Virtual Memory( ppt, pdf )

 

 

 

 

30

Introduction to Virtual Memory (ppt, pdf)

 

Paging Example (pdf)Effective Access Time Example (pdf)

Two-Level Page Table Examples(pdf),  

12

04/13-04/17

 

31

Virtual Memory Design Issues(ppt, pdf)

 

 

Memory Management
Problem Set: ( ppt, pdf)
Solution: ( doc, pdf)

 

 

32

Virtual Memory Design Issues (ppt, pdf)

 

 

 

 

33

Virtual Memory Design Issues (ppt, pdf)

 

 

 

13

04/20-04/24

 

34

Introduction to Networking (ppt, pdf)

 

LMP2 Due.

SMP5: Networking

Networking & Sockets
(ppt, pdf, code)

 

35

Socket Programming (ppt, pdf)

 

HW2 Out

 

 

36

TCP Internals (ppt, pdf)

 

 

14

04/27-05/01

37

TCP Internals II

 

HW2 Due

SMP5 Out

 

HW2 & SMP5
(ppt, pdf)

38

HTTP (ppt, pdf)

 

39

Applications

 

 

 

15

05/04-05/06

 

40

Applications

 

SMP5 Due.

 

 

41

Final Q&A (ppt)

 

 

 

Reading Day

 

 

 

Updated: January 20th, 2009