1 / 18

CS170: Operating Systems

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.

hadar
Télécharger la présentation

CS170: Operating Systems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CS170: Operating Systems Fall 2012, 4 units http://www.cs.ucsb.edu/~cs170

  2. 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

  3. Operating Systems: Market Shares Wikimedia.org, August 2012. Traffic Analysis

  4. Unix-based and Windows OS Market Shares Web server OS Market shares. W3Techs.com Smartphone market share

  5. 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.

  6. 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

  7. 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?

  8. 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).

  9. Internet Services: An OS Perspective • Millions of users • Big data • Lots of networked computers • Cloud computing

  10. 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.

  11. OS issues in Smart Phones • More powerful CPU & more memory • Optimization for power consumption, speed, networking. • Apps management • Search • Fault tolerance • Energy usage • Portability

  12. 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

  13. 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%).

  14. Grading • Exam score is adjusted if the average is low.

  15. 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 

  16. 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.

  17. 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

  18. 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

More Related