Post on 05-Jan-2016
description
CS170: Operating Systems
Fall 2012, 4 unitshttp://www.cs.ucsb.edu/~cs170
04/20/23 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
Operating Systems: Market Shares
Wikimedia.org, August 2012. Traffic Analysis
Unix-based and Windows OS Market Shares
Unix-based 64.2% 63.9%
Windows 35.9% 36.2%
Feb 2011 Sept 2012
Web server OSMarket shares.W3Techs.com
Smartphone market share
04/20/23 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.
04/20/23 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
04/20/23 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?
04/20/23 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).
04/20/23 9
Internet Services: An OS Perspective
Millions of users Big data Lots of networked
computers Cloud computing Internet
Data Center
California
Data Center
New York
Data CenterAsia
3DNS -WAN Load Balancer
Asian user
NY user
CA user
Level-2 Switch Level-2 Switch Level-2 Switch
Level-3 Switch
Level-2 Switch
Level-3 Switch
...
04/20/23 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 performance and 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.
04/20/23 11
OS issues in Smart Phones
More powerful CPU &more memory Optimization for powerconsumption, speed, networking. Apps management
Search Fault tolerance Energy usage Portability
04/20/23 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
04/20/23 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%).
04/20/23 14
Grading Exam score is adjusted if the average
is low.
04/20/23 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
04/20/23 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.
04/20/23 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
04/20/23 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