Lectures: |
||||||
---|---|---|---|---|---|---|
MWF | 1:00PM | - | 1:50PM | Cudahy 137 | ||
Office Hours: |
||||||
Course instructor |
  Prof. Dennis Brylow   | Mon | 3:00PM | - | 4:00PM | Cudahy 380 |
Mon | 7:00PM | - | 8:00PM | Cudahy 380 | ||
Wed | 3:00PM | - | 4:00PM | Cudahy 380 | ||
Fri | 11:00AM | - | 12:00PM | Cudahy 380 | ||
| ||||||
Textbooks: |
||||||
The C Programming Language,
second edition. Brian Kernighan and Dennis Ritchie.
Prentice Hall. |
||||||
Operating Systems Concepts,
seventh edition. Abraham Silberschatz, Peter Galvin,
and Greg Gagne. Wiley. |
||||||
We will make our way quickly through The C Programming Language by Kernighan and Ritchie, (which is traditionally referred to simply as "K&R" by those in the know,) to get up to speed on C programming. The text is a remarkably elegant introduction to what remains the standard language of systems programming, written by the men who designed C and UNIX. We will move more slowly through Operating Systems Concepts.    It is a large book filled with copious examples of real-world operating system components; a second, advanced operating systems course would be able to make it the rest of the way through the book. Readings will be regularly assigned from the textbooks.    Lectures will assume that students have already read the assigned chapters.   In addition, some of the written homework problems may be assigned out of the book.   Some of these problems also make excellent exam questions. | ||||||
| ||||||
Course Outcomes: |
||||||
Upon completing this course, students will be able to: |
||||||
| ||||||
Grading Policy: |
||||||
Projects | 60% | |||||
Pop Quizzes | 5% | |||||
Exam #1 | 10% | |||||
Exam #2 | 10% | |||||
Exam #3 | 15% | |||||
|
Schedule: |
||||||
---|---|---|---|---|---|---|
Week | Topics | Readings | Demos | Assignments | ||
01 | Introduction, C basics | K&R Ch 1,2 | #1 C Basics | |||
02 | C functions, control flow | K&R Ch 3,4 | ||||
03 | C pointers, arrays, structs | K&R Ch 5,6; Dino Ch 1 |
#2 C Control Flow | |||
04 | C Input/Output, Libraries | K&R Ch 7,8; Dino Ch 2 |
#3 Driver | |||
05 | Processes, Threads | Dino Ch 3, 4 | Exam #1 | |||
06 | Scheduling | Dino Ch 5 | #4 Process Control | |||
07 | Synchronization | Dino Ch 6 | #5 Scheduling | |||
08 | Deadlock | Dino Ch 7 | #6 Synchronization | |||
Spring Break | ||||||
09 | Memory Management | Dino Ch 8 | #7 Memory Management | |||
10 | Virtual Memory | Dino Ch 9 | Exam #2 | |||
11 | File Systems | Dino Ch 10 | #8 Virtual Memory | |||
12 | File Systems Easter Break |
Dino Ch 11 | ||||
13 | Mass Storage | Dino Ch 12 | #9 File System | |||
14 | I/O Systems | Dino Ch 13 | ||||
15 | Advanced Topics | |||||
Final | Exam #3 |