CS 241 Fall 2007
System Programming

 

 

10-10:50am MWF

1404 Siebel Center for Computer Science

 

Home

Schedule and Lectures

Compass

News

 

Schedule and Lecture/Discussion Notes

Important: The table below is an approximate timeline. 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. Those linked from the shaded area are last year’s slides. The ones not shaded are slides we actually covered in class this year. As the semester progresses, last year’s slides will be replaced with this year’s slides. Slides are only an aid and should not be thought of as a comprehensive study source. For details on these topics please refer to the textbook.  

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

08/22-08/24

1

Introduction and Course Overview (ppt, pdf)


How to study guide

 

 

None

2

Introduction to an OS ( ppt, pdf )

 

 

 

 

2

08/27-08/31

3

Chapter 1

 

 

 

C Programs

Slides: ppt

Code: zip

Solutions: zip

4

Brief Introduction to C (ppt, pdf)

 

(SP07 (ppt, pdf))

Chapter 2

C tutorial here.

SMP0 Out. smp0.zip

New: Solutions.

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

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

09/05-09/07

 

Labor Day

 

 

 

Processes

Old Slides: ppt

Instructions: zip

Solutions: zip

6

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

smp1 Solutions

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

7

Processes ( ppt , pdf )

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

 

 

4

09/10-09/14

8

Threads ( ppt , pdf )

Chapter 8 (all)

 

 

Pthreads

Slides: ppt

Code: zip

Solutions: zip

9

pThreads (ppt, pdf)

 

SMP1 Due.

SMP2 Out.

smp2.zip

SMP2: POSIX Threads

10

Synchronization ( ppt, pdf)

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

 

 

5

09/17-09/21

11

Semaphores ( ppt, pdf)

Chapter 9 (Sec 5.3)

 

 

Semaphores

Slides: ppt

Code: zip

Solutions: zip

12

Semaphores and Mutex (ppt, pdf)

Chapter 12 (Sec 13.1-13.3),

Chapter 13

SMP2 Due (tomorrow).

SMP3 Out.

smp3.zip

SMP3: Synchronization

13

Scheduling Principles ( ppt, pdf)

Chapter 14 (Sec 9.1, 9.2).

 

 

6

09/24-09/28

14

Scheduling Policies and Introduction to Signals (ppt, pdf)

 

 

 

Scheduling & Signals

Slides: ppt

Code: zip

Solutions: zip

15

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

Chapter 15 (Sec 8.1 – Sec. 8.4)

SMP3 Due.

SMP4 Out.

smp4.zip

SMP4: Scheduling

16

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

Chapter 15 (all)

 

 

7

10/01-10/05

17

Introduction to Timers And Clocks (ppt, pdf)

Chapter 16 (Sec 9.1 – Sec 9.3)

 

 

Signals & Timers

Slides: ppt

Code: zip

Solutions: zip

18

Classic Synchronization Problems( ppt , pdf)

 

SMP4 Due.

HW1 Out.

Solutions: HW1.pdf

 

 

19

Introduction to Deadlock ( ppt , pdf)

Chapter 10 (Sec 6.1 – Sec 6.6)

 

 

8

10/08-10/12

20

Deadlock Handling

 

 

 

Synchronization & Queueing

Slides: ppt

Code: zip

Solutions: zip

21

Queueing Theory (ppt, pdf)

 

HW1 Due.

 

22

Queueing Theory II.

 

 

 

9

10/15-10/19

23

Review for Midterm (ppt, pdf)

 

 

 

None

24

Midterm

 

 

 

25

I/0 Devices and Files( ppt, pdf )

 

LMP1 Out.

LMP1: I/O and Filesystems

10

10/22-10/26

26

File system introduction( ppt, pdf )

 

 

 

File I/O

Slides: ppt

Code: zip

Solutions: zip

27

File system abstraction and allocation (ppt, pdf)

 

 

 

28

inodes and space management( ppt, pdf )

 

 

LMP1-A Due.

 

11

 

10/29-11/02

29

Access and Special Files( ppt, pdf )

 

 

 

Navigating File Systems

Slides: ppt

Code: zip

Solutions: zip

30

Allocation & VM( ppt, pdf )

 

 

 

31

Paging Memory Hardware ( ppt, pdf )

 

LMP1-B Due.

LMP2 Out.

LPM2: Memory Management

12

11/05-11/09

30

Memory Paging and Introduction to Demand Paging (ppt, pdf)

 

 

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

Two-Level Page Table Examples(pdf),  

Memory Management

Slides: ppt

Solutions: zip

 

31

Memory Replacement Policies (ppt, pdf)

 

 

 

32

Memory Implementation Issues (ppt, pdf)

 

 

 

13

11/12-11/16

33

Binding, Fixed Partitions and Overlays(ppt, pdf)

 

 

 

More Memory Management

Slides: ppt

Solutions: zip

34

Introduction to Networking (ppt, pdf)

 

 

 

35

Socket Programming (ppt, pdf)

 

LMP2-B Due.

 

14

11/19-11/23

 

Thanksgiving Break

 

 

 

 

15

11/26-11/30

36

Emergency cancellation!

 

SMP5 Out

smp5.zip

SMP5: Networking

Networking & Sockets

Slides: ppt

Code: zip

Solutions: zip

37

TCP Internals (ppt, pdf)

 

 

 

38

TCP Internals II

 

 

 

16

12/03-12/07

39

HTTP

 

SMP5 Due. HW2 Out (PDF)

 

Q & A

40

Guest Lecture

 

 

 

41

Final Q&A (ppt)

 

HW2 Due

 

 

Updated: August 20, 2007