You are on page 1of 13

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 (contd)
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,

Thanks for Your Attention!

You might also like