|
COP4610/CGS5765: Operating Systems
|
Course Information
| 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; 9:05am - 9:55am |
| Office Hour: | Monday 2:30-4:30 pm, or by appointment |
| TA: | Raiaan, Abdullah (ar11s@my.fsu.edu, MCH 100A) Tuesdays and Thursdays, 4:00 pm - 5:00 pm Venkatesan, Varun (vv11@my.fsu.edu, MCH 102F) Wednesday and Friday, 3:00 pm - 4:00 pm |
| Required Textbook: | Abraham Silberschatz, Peter Baer Galvin, and Greg Gagne Operating Systems Concepts Wiley, 8th edition update, 2009 |
Announcements
- 01/07/13: Project 1 posted
- 01/07/13: Welcome back!
Schedules
| 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 |
| Chapter 4 | Threads | slides 4 |
| Chapter 5 | CPU Scheduling | slides 5 |
| 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 | File System Interface | slides 10 |
| Chapter 11 | File System Implementation | slides 11 |
| Chapter 12 | Mass-Storage Structure | slides 12 |
| Chapter 13 | I/O Systems | slides 13 |
| Chapter 14 | Protection | slides 14 |
| Chapter 15 | Security | slides 15 |
| Chapter 21 | 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
| Homework | Topic | Due Date |
|---|---|---|
| Homework 1 | Processes and Threads | 2/8 |
| Homework 2 | CPU Scheduling and Process Synchronization | 3/8 |
| Homework 3 | TBD | |
| Homework 4 | TBD | |
| Homework 5 | TBD |
Homework will be posted here with announcements in class. You may find a Latex tutorial here.
Projects
| Project | Topic | Due Date |
|---|---|---|
| Project 1 | Adding a New System Call to the Linux Kernel | 1/25 |
| Project 2 | Process Creation and Communication | 2/1 |
| Project 3 | Producer and Consumer Problem | 3/1 |
| Project 4 | TBD | |
| Project 5 | TBD |
Recitations
| Recitation 1 |
Readings
| POSIX Threads Programming |
| Why Threads Are A Bad Idea (for most purposes) By John Ousterhout |
| Concurrency is not Parallelism By Rob Pike |
Useful Resources
| Books: | Robert Love, Linux Kernel Development (3rd Edition) |
| Kernighan, Ritchie, The C Programming Language (2nd Edition) | Corbet, Rubini, and Kroah-Hartman Linux Device Drivers (3rd Edition) | Tanenbaum and Woodhull, Operating Systems Design and Implementation (3rd Edition) | Bovet and Cesati, Understanding the Linux Kernel (3rd Edition) | Links: | Linux Cross Reference | LWN.net | Linux Changes | Intel Programmer's Manuals | AMD Programmer's Manuals | Raspberry Pi |
Syllabus
The course's syllabus can be found here.