Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
CS170: Operating Systems Fall 2010, 4 units http://www.cs.ucsb.edu/cs170 Lecture M F 12:30-1:45 Phelp 1425. Discussion F 11:00-11:50 Phelp 2516. Course Info Design and implementation of operating systems. Class projects Build/extend an operating system on a simulated MIPS-style computer Focus: process/thread management, code loading/execution, multiprogramming, virtual memory, and file systems. Prerequisite: Algorithms/data structure, C++/C programming Computer organization, experience with Linux or Unix. 5/23/2017 2 Course Info Instructor: Tao Yang [email protected] HFH building, Room 5113. Office hours: MW 1:45-2:45 (or by appointments or just stop by). TA: Maha A. Alabduljalil ([email protected]) Discussion group: TBA Text Book: Operating System Concepts. 8th edition available in hardcover, paperback and Kindle. 5/23/2017 3 About myself Professor of Computer Science Joined UCSB in 1993 Research/Courses taught: Scientific computing (111), Parallel scientific computing (140). Compilers (160), OS(170), Parallel computing/program parallelization, Web search/data mining Industry experience Chief scientist/senior VP for Ask Jeeves/Ask.com in last 10 years. Built Ask.com search, Ask kids with over 90 million users. 5/23/2017 4 Why do I teach this course/why do you need to take this course? Why do I teach this course? Exciting System/OS experience is critical for many applications Share my academic/industry experience Make sure/help everybody to learn Make the course easier/good learning Why do you need to take this course? 5/23/2017 5 What will you learn? Basic operating system concepts How to program an operating system Have a deep understanding of key components. Program execution & multiprogramming Process/thread management Memory management File system implementation (disk). Impact on your job after graduation Interpret performance behavior and optimize applications in using CPU/memory/disk Adapt quickly: new CPU/memory/storage New OS. Different devices/platform (e.g. cell phone, TV). 5/23/2017 6 Large-Scale Internet Search: An OS Perspective Tens of millions of users Lots of data Lots of networked computers/memory/dis ks Data Center Asia Asian user NY user CA user VP N N 3DNS -WAN Load Balancer P V Data Center California VPN Internet Level-3 Switch Level-2 Switch Data Center New York Level-2 Switch Level-3 Switch Level-2 Switch ... Level-2 Switch 5/23/2017 7 Infrastructure Challenges/OS Issues for Search Engines Data intensive Tens of billions of documents: hundreds of terabytes/petabytes of data with replication/data reformation. Management of memory, disk storage. High performance and availability Response time < 1 sec. High throughput (thousands of requests per sec) Fault tolerant/speed optimization. Infrastructure Cost: Huge computer clusters/data center+networking expense. Resource/efficiency optimization. 5/23/2017 8 Expected Work Class participation Practice exercises on OS concepts Projects 3 assignments with extensive C++/C programming (read OS code and extend). 2 persons/group. Two exams Not graded; however similar/related problems will appear in Exam 1 and Exam 2. Solutions are available from the web site. Questions on basic OS concepts and projects Lots of work/great learning 5/23/2017 9 Grading Final grade 3 Projects (55%). Late submission One free chance per group. 10% penalty per day. No more than 3 days. Oral group interview will be conducted (typically once). Partial credits will be given even not working. Exam 1 (15%) and Exam 2 (25%). Exam 1 score can be improved. Class participation (5%). 5/23/2017 10 Grading Letter grading: A range (90-100%), B (80-90%), C(7080%), D (60-70%), F(below 60%) in general. Based on class score curve, we will shift some points (e.g. 5%) in considering +/grades in the boundary situation. Good efforts-> good learning->good grade. Discuss with me/TA on your progress in the middle of quarter 5/23/2017 11 Topics/Schedule Weeks 1/2: Introduction to OS and Process/Thread Management. Cover OSC Chapters 1-4. Practice Exercises Programming Project: Project #0: NACHOS Warm-up Form a project group. 5/23/2017 12 Rest of fall quarter Process/thread management and synchronization. System calls. Address translation and memory management. File system interface. Project 2 (~1200 lines of code) Virtual memory. File system implementation/disk management Project 1 (~330 lines of code) Project 3 (~700 lines of code) Scheduling/Deadlocks. Networking/distributed systems. 5/23/2017 13