CS 241: System Programming Spring 2010 |
MWF 1404 Siebel Center |
||
Note: Slides are tentative before the lecture. These slides are not authoritative until marked as "(final)".
Week |
Dates |
Lecture |
Topic and Slides |
Readings |
MPs and HWs |
Comments |
Discussion |
1 |
1/18 |
Martin Luther King Day |
No discussion section this week.
|
||||
1/20 | 1 | Introduction to OS's | How to study guide | Survey Sheet (to be filled by you; not a test! Please find it among the assessments in Compass and submit it before next lecture) | |||
1/22 | 2 | Introduction
to
C (Updated Fri Jan 22) |
Chapter 1; Chapter 2. C Info Sheet here C Tutorial here. |
HW1 out (PDF version) | (zipped TXT version) | |||
2 |
1/25 |
3 | C No Evil |
|
|||
1/27 |
4 |
Operating Systems Orientation | |||||
1/29 |
5 |
System Calls |
I/O Syscall tutorial here. Use Chapter 3 for reference as needed. |
HW1 due (Solution PDF) |
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. MP1: Experiment and refresh your knowledge of C |
||
3 |
2/1 |
6 |
Processes |
Chapter 4 (Sec 3.1- Sec. 3.4), Chapter 7 (Sec 3.1- Sec 3.4) |
|
|
|
2/3 |
7 |
Processes (2) |
Chapter 5 (Sec 4.1), Chapter 7 (all), Chapter 8 (Sec 12.1 - Sec 12.4) |
|
|
||
2/5 |
8 |
Threads |
Chapter 8 (all) |
|
|
||
4 |
2/8 |
9 |
pThreads Tutorial |
|
MP1 due |
MP2: Basic Processes and I/O |
|
2/10 |
10 |
Threads Systems Concepts |
|
|
|
||
2/12 |
11 |
Scheduling Principles |
Chapter 14 (Sec 9.1, 9.2). |
|
|
||
5 |
2/15 |
12 |
Scheduling
continued (slides from previous lecture) Intro to synchronization |
|
MP2 due |
MP3: Scheduling |
|
2/17 |
13 |
Achieving synchronization |
Chapter 9 (Sec 5.1, 5.2), Chapter 11. |
HW2 out (PDF version) | (DOC version) |
|
||
2/19 |
14 |
Semaphores |
Chapter 9 (Sec 5.3) |
|
|
||
6 |
2/22 |
15 |
Semaphores and Mutexes |
Chapter 12 Chapter 13 (Sec 13.1-13.3) |
MP3 due |
MP4: Synchronization |
|
2/24 |
16 |
Classic Synchronization Problems |
|
|
|
||
2/26 |
17 |
Classic Synchronization Problems |
|
|
|
||
7 |
3/1 |
18 |
Deadlocks |
Chapter 10 (Sec 6.1 - Sec 6.6) |
HW 2 due (Solution PDF) |
|
Slides: |
3/3 |
19 |
Deadlocks |
|
|
|
||
3/5 |
20 |
Midterm Review |
Lectures 1-18 |
||||
8 |
3/8 | In Class Midterm Exam | Midterm Overview (slides won't be posted) | ||||
3/10 |
21 |
Interprocess Communication: Pipes and FIFOs | |||||
3/12 |
|
Class Cancelled for EOH |
|
|
|||
9 |
3/15 |
22 |
Pipes, FIFOs, and Memory Mapping and Klara on Mobile Learning |
MP4 due. |
MP5: IPC |
Slides: |
|
3/17 |
23 |
Memory
Mapping and Signals
|
Chapter 15 (Sec 8.1 - Sec. 8.4) |
||||
3/19 |
24 |
Signals
|
Chapter 15 (all), Chapter 16 |
|
|
||
10 |
3/22 |
Spring Break No Classes |
|||||
3/24 |
|||||||
3/26 |
|||||||
11 |
3/29 |
25 |
Introduction to Networking | Beej's Guide |
Slides: PPT |
||
3/31 |
26 |
Introduction to Network Programming |
|
|
|||
4/2 |
27 |
More Network Programming |
|
|
|||
12 |
4/5 |
28 |
Networked Applications |
MP5 due |
MP6: Networking and Sockets |
||
4/7 |
29 |
More Network Programming |
|
||||
4/9 |
30 |
|
|
|
|||
13 |
4/12 |
31 |
Networking Wrap up Intro to Memory |
Chapter 21 (7.1-7.2) |
|
|
|
4/14 |
32 |
Chapter 21 (7.1-7.2) |
|
|
|||
4/16 |
33 |
Chapter 21 (7.3) |
HW3 out |
|
|||
14 |
4/19 |
34 |
Chapter 22 (8.1,8.2) |
MP7: Files and I/O |
Slides: |
||
4/21 |
35 |
Page Allocation | MP6 due MP7 out |
||||
4/23 |
36 |
I/O | Chapter 18 (Sec 11.8) |
|
|
||
15 |
4/26 |
37 |
I/O, Disks | Chapter 1 (Sec 1.1, 1.4, 1.7), Chapter 18 (Sec 11.1-11.4) |
|
|
|
4/28 |
38 |
Disks and Filesystems |
Chapter 10 (Sec 6.7), Chapter 8 (Sec 12.1) |
|
|||
4/30 |
39 |
File systems: user-level view |
Chapter 18 (appendix 11a), Chapter 19, Chapter 20 |
HW3 due |
|
||
16 |
5/3 |
40 |
|
MP7 due |
|
|
|
5/5 |
41 |
|
|
||||
|
5/8 |
Final exam review session, 2-4pm, 1404 Siebel Center ( Topics (PDF) | Problems (PDF) ) | |||||
|
5/10 |
Final Exam: 7:00 - 10:00 p.m., EH-106B1, SIEBEL-1109, SIEBEL-1404 |
Updated: May 5, 2010 |