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

CS170: Operating Systems Fall 2015, 4 units cs170

Embed Size (px)

Citation preview

Page 1: CS170: Operating Systems Fall 2015, 4 units cs170

CS170: Operating Systems

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

Page 2: CS170: Operating Systems Fall 2015, 4 units cs170

04/19/23 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

Page 3: CS170: Operating Systems Fall 2015, 4 units cs170

OS Market Shares on All Devices

Worldwide Device Shipments by Operating System

Year Android iOS/OS XWindow

sOthers

2014 48.61% 11.04% 14.0% 26.34%

2013 38.51% 10.12% 13.98% 37.41%

2012 22.8% 9.6% 15.62% 51.98%

http://en.wikipedia.org/wiki/Usage_share_of_operating_systems

Page 4: CS170: Operating Systems Fall 2015, 4 units cs170

OS Market Shares on Desktops and ServersDesktopsWindows 7

55.99%

Windows XP

19.15%

Windows 8.1

10.49%

Windows 8

3.55%

Mac OS X 10.10

3.55%

Windows Vista

2.11%

Mac OS X (other)

1.7%

Mac OS X 10.9

1.65%

Linux 1.53%Windows (other)

0.28

Unix-based

64.2% 67.8%

Windows

35.9% 32.2%

Feb 2011 March 2015

Web server OS Market shares.

W3Techs.comhttp://en.wikipedia.org/wiki/Usage_share_of_operating_systems

Page 5: CS170: Operating Systems Fall 2015, 4 units cs170

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

Page 6: CS170: Operating Systems Fall 2015, 4 units cs170

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

Page 7: CS170: Operating Systems Fall 2015, 4 units cs170

04/19/23 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.

Page 8: CS170: Operating Systems Fall 2015, 4 units cs170

04/19/23 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

Page 9: CS170: Operating Systems Fall 2015, 4 units cs170

04/19/23 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

Page 10: CS170: Operating Systems Fall 2015, 4 units cs170

Complex interaction of multiple components in multiple administrative domains Systems, services, protocols, …

Datacenter

Loadbalancer

Ad Server

DNS Servers

Serviceengine

DNSrequest Reply

page

Data store

Internet Services: An OS Perspective

Page 11: CS170: Operating Systems Fall 2015, 4 units cs170

04/19/23 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 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.

Page 12: CS170: Operating Systems Fall 2015, 4 units cs170

04/19/23 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

Page 13: CS170: Operating Systems Fall 2015, 4 units cs170

04/19/23 13

Projects

Project 0: ShellLinux processes & system calls

Project 1: PthreadSynchronization.Nachos Threads

Project 2: NachosProcesses&System Calls

Project 3A: Nachos virtualmemory

Optional Project 3B: Nachos file systems

Nachos9K lines

Page 14: CS170: Operating Systems Fall 2015, 4 units cs170

04/19/23 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.

Page 15: CS170: Operating Systems Fall 2015, 4 units cs170

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

Page 16: CS170: Operating Systems Fall 2015, 4 units cs170

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)