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

CS170: Operating Systems Fall 2010, 4 units Lecture M F 12:30-1:45 Phelp 1425. Discussion F 11:00-11:50 Phelp 2516

Embed Size (px)

Citation preview

Page 1: CS170: Operating Systems Fall 2010, 4 units  Lecture M F 12:30-1:45 Phelp 1425. Discussion F 11:00-11:50 Phelp 2516

CS170: Operating Systems

Fall 2010, 4 unitshttp://www.cs.ucsb.edu/cs170

Lecture M F 12:30-1:45 Phelp 1425. Discussion F 11:00-11:50 Phelp 2516.

Page 2: CS170: Operating Systems Fall 2010, 4 units  Lecture M F 12:30-1:45 Phelp 1425. Discussion F 11:00-11:50 Phelp 2516

04/18/23 2

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.

Page 3: CS170: Operating Systems Fall 2010, 4 units  Lecture M F 12:30-1:45 Phelp 1425. Discussion F 11:00-11:50 Phelp 2516

04/18/23 3

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.

Page 4: CS170: Operating Systems Fall 2010, 4 units  Lecture M F 12:30-1:45 Phelp 1425. Discussion F 11:00-11:50 Phelp 2516

04/18/23 4

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.

Page 5: CS170: Operating Systems Fall 2010, 4 units  Lecture M F 12:30-1:45 Phelp 1425. Discussion F 11:00-11:50 Phelp 2516

04/18/23 5

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?

Page 6: CS170: Operating Systems Fall 2010, 4 units  Lecture M F 12:30-1:45 Phelp 1425. Discussion F 11:00-11:50 Phelp 2516

04/18/23 6

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

Page 7: CS170: Operating Systems Fall 2010, 4 units  Lecture M F 12:30-1:45 Phelp 1425. Discussion F 11:00-11:50 Phelp 2516

04/18/23 7

Large-Scale Internet Search: An OS Perspective

Tens of millions of users

Lots of data Lots of networked

computers/memory/disks

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

...

Page 8: CS170: Operating Systems Fall 2010, 4 units  Lecture M F 12:30-1:45 Phelp 1425. Discussion F 11:00-11:50 Phelp 2516

04/18/23 8

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.

Page 9: CS170: Operating Systems Fall 2010, 4 units  Lecture M F 12:30-1:45 Phelp 1425. Discussion F 11:00-11:50 Phelp 2516

04/18/23 9

Expected Work Class participation Practice exercises on OS concepts

Not graded; however similar/related problems will appear in Exam 1 and Exam 2.

Solutions are available from the web site. Projects

3 assignments with extensive C++/C programming (read OS code and extend).

2 persons/group.

Two exams Questions on basic OS concepts and projects

Lots of work/great learning

Page 10: CS170: Operating Systems Fall 2010, 4 units  Lecture M F 12:30-1:45 Phelp 1425. Discussion F 11:00-11:50 Phelp 2516

04/18/23 10

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

Page 11: CS170: Operating Systems Fall 2010, 4 units  Lecture M F 12:30-1:45 Phelp 1425. Discussion F 11:00-11:50 Phelp 2516

04/18/23 11

Grading Letter grading:

A range (90-100%), B (80-90%), C(70-80%), 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

Page 12: CS170: Operating Systems Fall 2010, 4 units  Lecture M F 12:30-1:45 Phelp 1425. Discussion F 11:00-11:50 Phelp 2516

04/18/23 12

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.

Page 13: CS170: Operating Systems Fall 2010, 4 units  Lecture M F 12:30-1:45 Phelp 1425. Discussion F 11:00-11:50 Phelp 2516

04/18/23 13

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)

Scheduling/Deadlocks. Networking/distributed systems.