|
COP4610: Introduction to Operating Systems
|
| Instructor: | Zhi Wang |
| Email: | zwang at cs dot fsu dot edu (preferred way to communicate) |
| Office: | 172 LOVE Bldg |
| Phone: | (850) 645-0476 |
| Class Meeting: | HCB 216; Monday, Wednesday, and Friday; 12:20PM - 1:10PM |
| Office Hour: | Monday 1:30PM - 3:30PM, or by appointment |
| TA: | Brandon Stephens, 12:30PM-2:00PM, Tuesday and Thursday, LOV 105E Wenqi Wang, 1:30PM - 3:00 PM Wednesday, 9:30AM-11:00AM Friday, MCH102C |
| Required Textbook: | Abraham Silberschatz, Peter Baer Galvin, and Greg Gagne Operating Systems Concepts Wiley, 9th edition, 2013 |
| Xv6: | Book and commentary ( source code for the book), Source code for projects |
| Chapter/Reading | Topic | Slides |
|---|---|---|
| Chapter 1 | Class Information and Introduction | slides 0, slides 1 |
| Chapter 2 | Operating System Structure | slides 2 |
| Chapter 3 | Process | slides 3, Process in Xv6 |
| Chapter 4 | Threads | slides 4 |
| Chapter 5 | CPU Scheduling | slides 5, Scheduling in Xv6 |
| Chapter 6 | Process Synchronization | slides 6 |
| Chapter 7 | Deadlock | slides 7 |
| Chapter 8 | Main Memory | slides 8 |
| Chapter 9 | Virtual Memory | slides 9 |
| Chapter 10 | Mass-Storage Structure | slides 10 |
| Chapter 11 | File System Interface | slides 11 |
| Chapter 12 | File System Implementation | slides 12 |
| Chapter 13 | I/O Systems | slides 13 |
| Chapter 14 | Protection | slides 14 |
| Chapter 15 | Security | slides 15 |
| Chapter 18 | The Linux System | slides 16 |
The schedule is tentative and subject to change with announcements in class. Please check back at least once a weekly.
Homework will be posted on the blackboard. Please check the blackboard regularly.
Projects will be posted on the blackboard. Please check the blackboard regularly.
| Books: | Kernighan, Ritchie, The C Programming Language (2nd Edition) |
| Maurice J. Bach, The Design of the UNIX Operating System (1st Edition) | |
| Marshall Kirk McKusick, George V. Neville-Neil, and Robert N.M. Watson, The Design and Implementation of the FreeBSD Operating System (2nd Edition) | |
| Tanenbaum and Woodhull, Operating Systems Design and Implementation (3rd Edition) | |
| Douglas Comer, Operating System Design: The Xinu Approach (2nd Edition) | |
| Bovet and Cesati, Understanding the Linux Kernel (3rd Edition) | |
| Robert Love, Linux Kernel Development (3rd Edition) | |
| Corbet, Rubini, and Kroah-Hartman Linux Device Drivers (3rd Edition) | |
| Links: | Architecture of the Windows Kernel By Dave Probert |
| Linux Cross Reference | |
| An Introduction to Linux IPC | |
| POSIX Threads Programming | |
| Why Threads Are A Bad Idea (for most purposes) By John Ousterhout | |
| LWN.net | |
| Linux Changes | |
| Intel Programmer's Manuals | |
| AMD Programmer's Manuals | |
| Raspberry Pi |
The course's syllabus can be found here.