180 likes | 376 Views
CS170: Operating Systems. Fall 2012, 4 units http://www.cs.ucsb.edu/~cs170. Course Info. Instructor: Tao Yang tyang@cs.ucsb.edu . www.cs.ucsb.edu/~tyang HFH building, Room 5113. Office hours: MW 11-12 (or by appointments or just stop by). Increase before exam/project due time.
E N D
CS170: Operating Systems Fall 2012, 4 units http://www.cs.ucsb.edu/~cs170
Course Info • Instructor: Tao Yang • tyang@cs.ucsb.edu. www.cs.ucsb.edu/~tyang • HFH building, Room 5113. • Office hours: MW 11-12 (or by appointments or just stop by). Increase before exam/project due time. • TA: Wei Zhang, Qin Zhou • Text Book: Operating System Concepts Essential. Or Operating System Concepts by the same authors
Operating Systems: Market Shares Wikimedia.org, August 2012. Traffic Analysis
Unix-based and Windows OS Market Shares Web server OS Market shares. W3Techs.com Smartphone market share
Course Info • Design and implementation of operating systems. • Class projects • Build/extend an operating system on a virtual machine. • Focus: process/thread management, code loading/execution, multiprogramming, virtual memory, and file systems/disk storage. • Exercise pthreads/system calls on Linux • Need to have a CSIL account • Prerequisite: • Algorithms/data structure, Knowledge of computer architectures • C++/C programming. Experience with Linux.
About myself • Professor of Computer Science • Joined UCSB in 1993 • Research/Courses taught: • Scientific computing (111), Parallel computing (140), Compilers (160), OS(170), • Graduate courses: OS, Parallel Computing, Web search/data mining • Industry experience • Chief scientist/senior VP for Ask Jeeves/Ask.com for 10 years. Built Ask.com/Ask Jeeves search with over 100 million users. • Also advised Microsoft Bing
Why this course? • Why do I teach this course? • Exciting • System/OS experience is critical for many applications • Share my academic/industry experience • Help everybody to learn • Why do you take this course?
What will you learn? • Operating system concepts • How to program an operating system • Program execution & multiprogramming • Process/thread management • Memory management • File system implementation (disk). • Impact on your job or advanced studies • Interpret performance behavior and optimize software that uses CPU/memory/disk • Adapt technology evolution: • New OS, new devices/platform (e.g. cell phone, TV).
Internet Services: An OS Perspective • Millions of users • Big data • Lots of networked computers • Cloud computing
Challenges/OS Issues in Web Systems • Data intensive • Hundreds of terabytes/petabytes of data partitioned and replicated in many machines. • Management of memory, disk storage, CPU • High performanceand availability • Response time < 1 sec. • High throughput (thousands of requests per second) • Fault tolerant • Infrastructure Cost: • Huge computer clusters/data center+networking expense. • OS resource/efficiency optimization.
OS issues in Smart Phones • More powerful CPU & more memory • Optimization for power consumption, speed, networking. • Apps management • Search • Fault tolerance • Energy usage • Portability
170 Class Workload: Heavy • Practice exercises on OS concepts • Not graded (but count for 8% of total). • Solutions are available from the textbook website. • Projects • 3 assignments with extensive C++/C programming (read OS code and extend). • Write about 2,200 lines of code, extended from 9,000 lines of OS code. • Partial sample solutions will be given • 2 persons/group. • Two exams • Questions on OS concepts and projects
Grading • Final grade • 3 Projects (50%). • Late submission • One free chance per group (3 days). • 10% penalty per day. No more than 3 days. • Partial credits will be given even not working. • Midterm (16%) • Final (26%). • 3 Practice exercise sets (8%).
Grading • Exam score is adjusted if the average is low.
Topics/Schedule • Weeks 1 and 2 lectures: • Introduction to OS and Process/Thread Management. Nachos/Pthreads • Cover text book Chapters 1, 3, 4. • Assignments: • Join Google class discussion group • Complete practice exercises • Form a project group and download Nachos code Project #0: NACHOS Warm-up
Rest of fall quarter • Process/thread management and synchronization. System calls. • Project 1 (~330 lines of code) • Address translation and memory management. File system interface. • Project 2 (~1200 lines of code) • Virtual memory. • File system implementation/disk management • Project 3 (~700 lines of code) • Process Scheduling.
Discussion Sections (tentative) • W1: Project 0. Makefile. MIPS code. • W2: Assembly used in Nachos. PThreads. • W3: Project 1 & related code. • W4: Exercise review for midterm • W5: Project 2 and system calls. • W6: Exercise/midterm review • W7: Project 3 Part I • W8: Project 3 Part II • W9: Exercise review • W10: Exercise review for final exam
Timeline • Oct 10: Project 0. • Oct 15: Exercise set 1 • Oct 22: Project 1. • Nov 5: Midterm exam • Nov 9: Project 2 • Nov 14: Exercise set 2 • Nov 29: Project 3 • Dec 3: Exercise set 3 • Dec 8 week: Final exam