120 likes | 280 Views
This course, taught by Assistant Professor J.H. Wang at NTUT, offers an in-depth introduction to operating systems, focusing on key components such as process management, memory management, and advanced topics like distributed systems. Designed for students with a background in data structures and computer organization, this course combines theoretical lectures with practical assignments, mid-term exams, and a final project. Resources include major textbooks and recent academic papers. Classes are on Wednesdays and Thursdays, with office hours available for additional support.
E N D
Introduction to Operating Systems J. H. Wang Sep. 16, 2009
Instructor and TA • Instructor • J. H. Wang (王正豪) • Assistant Professor, CSIE, NTUT • Office: R1534, Technology Building • E-mail: jhwang@csie.ntut.edu.tw • Homepage: http://www.ntut.edu.tw/~jhwang/ • Tel: ext. 4238 • Office Hour: 15:00-17:00pm on Tuesday, 10:00-12:00am on Wednesday • TA • N/A
Course Overview • Course: Operating Systems • Time: 16:10-18:00pm on Wednesdays, 11:10-12:00am on Thursdays • Classroom: R332/R334, Technology Building • Prerequisite: Data Structures, Computer Organization • Course webpage: http://www.ntut.edu.tw/~jhwang/OS/
Target Students • For those who • Might not major in CSIE during undergraduate studies, but are interested in operating systems, and • Are familiar with basic data structures, computer organization, and a high-level programming language, and • Are preparing to investigate more details in selected topics and recent developments
Resources • Textbook: Operating System Concepts, 8th ed., by Abraham Silberschatz, Peter Baer Galvin, and Greg Gagne, John Wiley & Sons, Inc. (International Student Edition, 新月) • http://codex.cs.yale.edu/avi/os-book/ • (Both 7th edition and Java edition are also acceptable) • References: • Understanding the Linux Kernel, 3rd ed., by Daniel P. Bovet and Marco Cesati, O'Reilly, 2005 • Modern Operating Systems, 3rd ed., by Andrew S. Tanenbaum, Prentice-Hall, 2007. • Papers from related conference proceedings or journals
Teaching • Lecture • Homework and program assignments • Homework should be turned in within two weeks • Mid-term exam • One final project or paper presentation
Grading • Grading • About 5 written and programming exercises: 40% • Midterm exam: 30% • One final project or paper presentation: 30%
Course Description • Introduction to basic components in operating systems • Process management and coordination • Memory management • Storage management • Advanced topics • Distributed systems • Special-purpose systems • Case studies and recent developments
Outline & Schedule • Outline • Introduction • System structures • Process concept • Multithreaded programming • Process scheduling • Synchronization • Deadlocks • Memory management strategies • Virtual memory management
Outline & Schedule (Cont’) • Outline (cont’d) • File system • Secondary storage structure • I/O systems • Distributed operating systems • Distributed file systems • Distributed synchronization • System protection and security • Real-time systems • Multimedia systems • Case studies • Schedule • Basically, 1 or 2 chapters per week
More on the Final Project • Programming of selected OS components • CPU scheduling, disk scheduling, deadlock avoidance, memory page replacement algorithms, ... • Survey of recent developments in OS on various platforms • For example, Windows Vista, Android, … • Presentation of academic papers (conference proceedings, journals) • OS: ACM SOSP, USENIX OSDI, … • Distributed systems: ACM PODC, ICDCS, …