Upload
julianna-corey-gardner
View
217
Download
0
Embed Size (px)
Citation preview
CS170: Operating Systems
Fall 2015, 4 unitshttp://www.cs.ucsb.edu/~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
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
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
OS History: How Linux, Andriod, iOS, and Windows are related?
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
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.
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
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
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
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.
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
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
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.
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)