1 / 16

CS170: Operating Systems

CS170: Operating Systems. Fall 2015, 4 units http://www.cs.ucsb.edu/~cs170. Course Information. Instructor: Tao Yang www.cs.ucsb.edu/~tyang Office hours: TR 1:45-2:45 (or stop by). TA: Daniel Kudrow (dkudrow@cs), Varun Kulkarni Somashekhar (varun@umail).

tgwendolyn
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 2015, 4 units http://www.cs.ucsb.edu/~cs170

  2. Course Information • Instructor: Tao Yang • www.cs.ucsb.edu/~tyang • Office hours: TR 1:45-2:45 (or stop by). • TA: Daniel Kudrow (dkudrow@cs), Varun Kulkarni Somashekhar (varun@umail). • Grading: Roman Kazarin (rkazarin@umail)  • Text Book: • Operating Systems: Principles and Practice (Second Edition).by Thomas Anderson and Michael Dahlin. Recursive Books Ltd. 2014 • Recommended: Operating System Concepts Essential. Or Operating System Concepts by the same authors

  3. OS Market Shares on All Devices http://en.wikipedia.org/wiki/Usage_share_of_operating_systems

  4. OS Market Shares on Desktops and Servers Web server OS Market shares. W3Techs.com http://en.wikipedia.org/wiki/Usage_share_of_operating_systems

  5. OS History: How Linux, Andriod, iOS, and Windows are related?

  6. OS History: How Linux, Andriod, iOS, and Windows are related? • Because of the cost of developing an OS from scratch, most modern OSes have a long lineage: • Multics  AT&T Unix  BSD Unix  Ultrix, SunOS, NetBSD,… • Mach (micro-kernel) + BSD  NextStep  XNU  Apple OSX, iphone iOS • Linux  Android OS • CP/M  QDOS  MS-DOS  Windows 3.1  NT  95  98  2000  XP  Vista  7  8  phone  … • Linux  RedHat, Ubuntu, Fedora, Debian, Suse,… J. Kubiatowicz CS162 UCB

  7. Course Info • Design and implementation of operating systems. • Class projects • Linux/Unix system calls on process and Pthreads • Extend an operating system on a virtual machine. • Focus: process/thread management, code loading/execution, multiprogramming, virtual memory, and file systems/disk storage. • Need to have a CSIL account • Prerequisite: • Algorithms/data structure, computer architectures • C/C++ programming. Experience with Linux.

  8. Why this course? • Myself • CS faculty since 1993. Ask Jeeves/Ask.com. • Research in parallel distributed systems and information retrieval. • Built large-scale web search at Ask.com • Why do I teach this course? • Exciting • System/OS experience is critical for many applications • Share my academic/industry experience • Help everybody to learn

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

  10. Internet Services: An OS Perspective DNS Servers Datacenter DNS request Reply page Service engine • Complex interaction of multiple components in multiple administrative domains • Systems, services, protocols, … Data store Load balancer Ad Server

  11. Challenges/OS Issues in Internet 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.

  12. Topics/Schedule • Weeks 1 and 2 lectures: • Introduction to OS and Process/Thread Management. Nachos/Pthreads • Action: • Join Piazza class discussion group (linked from ~cs170 homepage) • Review Project 0 and form a 2-3 person group • ~250 lines of C code • Due on April 10

  13. Projects Project 0: Shell Linux processes & system calls Project 1: Pthread Synchronization. Nachos Threads Nachos 9K lines Project 2: Nachos Processes& System Calls Optional Project 3B: Nachos file systems Project 3A: Nachos virtual memory

  14. Rest of fall quarter • Process/thread management and synchronization. System calls. • Project 1 (Read 1K lines. Write ~300 lines) • Address translation and memory management. • Project 2 (Read 2K lines. Write ~500 lines) • Virtual memory and file system implementation • Project 3A and 3B (Read 2K lines. Write ~500 lines)) • Process Scheduling. Deadlock.

  15. Discussion Sections • Apr 6: Review Linux system calls. Project 0 sample code/Makefile • April 10 (Proj 0 deadline) • Apr 13: Review Pthreads and synchronization. Project 1 sample code. • Apr 20 Project 1. MIPS Assembly. • April 23 (Proj 1 deadline) • Apr 27: Project 2. • May 6 (Proj 2 deadline). • May 4. Exercise review for Exam 1 • May 7 or 12 (Exam 1) • May 11: Project 3A. Memory management • May 18: Project 3B. File systems. • May 20 (Proj 3A). June 1 (Proj 3B). • June 1. Exercise review for final exam

  16. 170 Class Workload: Heavy • Projects (45%) • 4 projects with extensive C++/C programming • Project 3B is optional, and will improve your exam 1 score. • 2-3 persons/group. • Exam 1+Exam 2 (45%). • You can boost Exam 1 with Project 3B or with Exam 2 • Exercises and participation (10%) • Not curved (tentatively): • A level [90-100] A (>92.5%) • B level [80-89.9] B (>82.5%) B+(>87) • C level [70-79.9] C(>72.5%) C+(>77)

More Related