130 likes | 276 Vues
This course offers a comprehensive introduction to core concepts in operating systems, including process management, memory management, and storage management. It is designed for students with a fundamental understanding of data structures and computer organization. The course includes lectures, homework, a mid-term exam, and a final project focusing on practical system development or research presentations. Recommended textbooks and additional resources will support students in exploring advanced topics like distributed systems and recent developments in modern operating systems.
E N D
Introduction to Operating Systems J. H. Wang Sep. 15, 2011
Instructor and TA • Instructor • Jenq-Haur 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: 8:10-10:00 on Tuesdays, 10:10am-2:00pm on Wednesdays • TA • (TBD)
Course Overview • Course: Operating Systems • Time: 9:10-12:00am on Thursdays • Classroom: R1324, Technology Building • Prerequisite: Data Structures, Computer Organization • Course webpage: http://www.ntut.edu.tw/~jhwang/OS/
Target Students • For those who • May 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 advanced topics and recent developments in modern operating systems
Resources • Textbook: Operating System Concepts, 8th ed., by Abraham Silberschatz, Peter Baer Galvin, and Greg Gagne, John Wiley & Sons, Inc. (International Student Edition, imported by 新月) • 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 • Distributed Systems: Principles and Paradigms, 2nd ed., by Andrew S. Tanenbaum and Maarten van Steen, Prentice-Hall, 2006. • Papers from related conference proceedings or journals
Teaching • Lectures • Homework (and program) assignments • Should be turned in within two weeks • Mid-term exam • One term project: system development or paper presentation (more on this later)
Grading Policy • (Tentative) Grading policy • About 5 written exercises: 40% • (including possibly programming exercises) • Midterm exam: 30% • One final project or paper presentation: 30% • Regarding the midterm alert • ! (for all x, alerted(x) => failed(x)) • ! (for all x, !alerted(x) => !failed(x) • Conclusion: pay attention to your own potential score as early as possible!
Course Description • Introduction to basic components in operating systems • Process management and coordination • Memory management • Storage management • Advanced topics (depending on schedule) • Distributed systems • Special-purpose systems • Case studies and recent developments
Outline & Schedule • Outline • Basics (Ch. 1-2) • Introduction • System structures • Process management (Ch. 3-7) • Process concept • Multithreaded programming • Process scheduling • Synchronization • Deadlocks • Memory management (Ch. 8-9) • Memory management strategies • Virtual memory management
Outline & Schedule (Cont’) • Outline (cont’d) • Storage management (Ch. 10-13) • File system • Secondary storage structure • I/O systems • System protection and security (Ch. 14-15) • Distributed systems (Ch. 16-18) • Distributed operating systems • Distributed file systems • Distributed synchronization • Special purpose systems (Ch. 19-20) • Real-time systems • Multimedia systems • Case studies (Ch. 21-23)
Outline & Schedule (Cont’) • (Tentative) Schedule • Basics: 2-3 wks • Process management: 5-6 wks • Memory management: 3-4 wks • Storage management: 3-4 wks • Advance topics: 1-2 wks (if time permits)
More on the Term 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, mobile devices, cloud computing, … • Presentation of academic papers (conference proceedings, journals) • OS: ACM SOSP, USENIX OSDI, … • Distributed systems: ACM PODC, ICDCS, …