CSE 120 Principles of Operating Systems

Similar documents
Computer Organization I (Tietokoneen toiminta)

CPMT 1347 Computer System Peripherals COURSE SYLLABUS

CIS 121 INTRODUCTION TO COMPUTER INFORMATION SYSTEMS - SYLLABUS

Appendix L: Online Testing Highlights and Script

ADMN-1311: MicroSoft Word I ( Online Fall 2017 )

Android App Development for Beginners

Data Structures and Algorithms

Office Hours: Mon & Fri 10:00-12:00. Course Description

Community Power Simulation

ENG 111 Achievement Requirements Fall Semester 2007 MWF 10:30-11: OLSC

New Paths to Learning with Chromebooks

Syllabus Foundations of Finance Summer 2014 FINC-UB

AST Introduction to Solar Systems Astronomy

INTRODUCTION TO GENERAL PSYCHOLOGY (PSYC 1101) ONLINE SYLLABUS. Instructor: April Babb Crisp, M.S., LPC

Accounting 312: Fundamentals of Managerial Accounting Syllabus Spring Brown

First and Last Name School District School Name School City, State

CLASS EXPECTATIONS Respect yourself, the teacher & others 2. Put forth your best effort at all times Be prepared for class each day

State University of New York at Buffalo INTRODUCTION TO STATISTICS PSC 408 Fall 2015 M,W,F 1-1:50 NSC 210

Course Content Concepts

Nutrition 10 Contemporary Nutrition WINTER 2016

Course Specifications

CSCI 333 Java Language Programming Fall 2017 INSTRUCTOR INFORMATION COURSE INFORMATION

SYLLABUS- ACCOUNTING 5250: Advanced Auditing (SPRING 2017)

CS Course Missive

Teaching a Discussion Section

CIS 2 Computers and the Internet in Society -

Foothill College Summer 2016

Carolina Course Evaluation Item Bank Last Revised Fall 2009

ASTR 102: Introduction to Astronomy: Stars, Galaxies, and Cosmology

Java Programming. Specialized Certificate

BUS Computer Concepts and Applications for Business Fall 2012

DIGITAL GAMING & INTERACTIVE MEDIA BACHELOR S DEGREE. Junior Year. Summer (Bridge Quarter) Fall Winter Spring GAME Credits.

Software Security: Integrating Secure Software Engineering in Graduate Computer Science Curriculum

Scottsdale Community College Spring 2016 CIS190 Intro to LANs CIS105 or permission of Instructor

Introduction to Personality Daily 11:00 11:50am

CMST 2060 Public Speaking

Using Moodle in ESOL Writing Classes

Computer Architecture CSC

Foothill College Fall 2014 Math My Way Math 230/235 MTWThF 10:00-11:50 (click on Math My Way tab) Math My Way Instructors:

ACCT 100 Introduction to Accounting Course Syllabus Course # on T Th 12:30 1:45 Spring, 2016: Debra L. Schmidt-Johnson, CPA

ENEE 302h: Digital Electronics, Fall 2005 Prof. Bruce Jacob

Instructor. Darlene Diaz. Office SCC-SC-124. Phone (714) Course Information

MAT 122 Intermediate Algebra Syllabus Summer 2016

Spring 2015 Natural Science I: Quarks to Cosmos CORE-UA 209. SYLLABUS and COURSE INFORMATION.

Virtually Anywhere Episodes 1 and 2. Teacher s Notes

SOLANO. Disability Services Program Faculty Handbook

Getting Started with Deliberate Practice

CIS Introduction to Digital Forensics 12:30pm--1:50pm, Tuesday/Thursday, SERC 206, Fall 2015

SYLLABUS: RURAL SOCIOLOGY 1500 INTRODUCTION TO RURAL SOCIOLOGY SPRING 2017

FINN FINANCIAL MANAGEMENT Spring 2014

Speak Up 2012 Grades 9 12

The Creation and Significance of Study Resources intheformofvideos

COURSE SYLLABUS: CPSC6142 SYSTEM SIMULATION-SPRING 2015

Spring 2015 IET4451 Systems Simulation Course Syllabus for Traditional, Hybrid, and Online Classes

POFI 1349 Spreadsheets ONLINE COURSE SYLLABUS

COSI Meet the Majors Fall 17. Prof. Mitch Cherniack Undergraduate Advising Head (UAH), COSI Fall '17: Instructor COSI 29a

Spring 2015 Online Testing. Program Information and Registration and Technology Survey (RTS) Training Session

IMGD Technical Game Development I: Iterative Development Techniques. by Robert W. Lindeman

Computer Software Evaluation Form

K 1 2 K 1 2. Iron Mountain Public Schools Standards (modified METS) Checklist by Grade Level Page 1 of 11

EECS 571 PRINCIPLES OF REAL-TIME COMPUTING Fall 10. Instructor: Kang G. Shin, 4605 CSE, ;

Financial Accounting Concepts and Research

Required Texts: Intermediate Accounting by Spiceland, Sepe and Nelson, 8E Course notes are available on UNM Learn.

P-4: Differentiate your plans to fit your students

Beginning Photography Course Syllabus 2016/2017

EECS 700: Computer Modeling, Simulation, and Visualization Fall 2014

ITSC 2321 Integrated Software Applications II COURSE SYLLABUS

Intel-powered Classmate PC. SMART Response* Training Foils. Version 2.0

Business Computer Applications CGS 1100 Course Syllabus. Course Title: Course / Prefix Number CGS Business Computer Applications

Interior Design 350 History of Interiors + Furniture

Spring 2016 Stony Brook University Instructor: Dr. Paul Fodor

INTERMEDIATE ALGEBRA Course Syllabus

4. Long title: Emerging Technologies for Gaming, Animation, and Simulation

TA Certification Course Additional Information Sheet

BIOS 104 Biology for Non-Science Majors Spring 2016 CRN Course Syllabus

Syllabus: INF382D Introduction to Information Resources & Services Spring 2013

Business 712 Managerial Negotiations Fall 2011 Course Outline. Human Resources and Management Area DeGroote School of Business McMaster University

Page 1 of 8 REQUIRED MATERIALS:

Firms and Markets Saturdays Summer I 2014

Intensive English Program Southwest College

Aerospace Engineering

95723 Managing Disruptive Technologies

Professors will not accept Extra Credit work nor should students ask a professor to make Extra Credit assignments.

Chamilo 2.0: A Second Generation Open Source E-learning and Collaboration Platform

STA2023 Introduction to Statistics (Hybrid) Spring 2013

Office Location: LOCATION: BS 217 COURSE REFERENCE NUMBER: 93000

Process improvement, The Agile Way! By Ben Linders Published in Methods and Tools, winter

MATH 205: Mathematics for K 8 Teachers: Number and Operations Western Kentucky University Spring 2017

A systems engineering laboratory in the context of the Bologna Process

Required Materials: The Elements of Design, Third Edition; Poppy Evans & Mark A. Thomas; ISBN GB+ flash/jump drive

PHILOSOPHY & CULTURE Syllabus

INTRODUCTION TO PSYCHOLOGY

Top Ten Persuasive Strategies Used on the Web - Cathy SooHoo, 5/17/01

AHS 105 INTRODUCTION TO ART HISTORY: PREHISTORY-MEDIEVAL

CWSEI Teaching Practices Inventory

Learning, Communication, and 21 st Century Skills: Students Speak Up For use with NetDay Speak Up Survey Grades 3-5

Web-based Learning Systems From HTML To MOODLE A Case Study

Introduction to Forensic Drug Chemistry

MATH 1A: Calculus I Sec 01 Winter 2017 Room E31 MTWThF 8:30-9:20AM

CS 3516: Computer Networks

Transcription:

CSE 120 Principles of Operating Systems Spring 2016 Lecture 1: Course Introduction Gregory Kesden

Lecture 1 Overview Class overview, administrative info What is an operating system? CSE 120 Lecture 1 Course Intro 2

Personnel Instructor Gregory Kesden» Office hours: http://cseweb.ucsd.edu/~gkesden/schedule.html Tas + Tutors + Instructor cse-120-staff@googlegroups.com CSE 120 Lecture 1 Course Intro 3

CSE 120 Class Overview Course material taught through class lectures, textbook readings, and handouts Course assignments are Homework questions (primarily from the book) Three large programming projects in groups Discussion sections are a forum for asking questions Lecture material and homework Other forums Discussion board (http://piazza.com) CSE 120 Lecture 1 Course Intro 4

Homeworks There will be 4-5 homeworks throughout the quarter Reinforce lecture material no better practice Collaboration vs. cheating I encourage you to discuss homework problems with others» You can learn a lot from each other But there is a distinction between collaboration and cheating Rule of thumb: Discuss together in library, walk home, and write up answers independently Cheating is copying from other student s homeworks or solution sets, searching for answers on the Web, etc. Suspicious homeworks will be flagged for review CSE 120 Lecture 1 Course Intro 5

Textbook Remzi Arpaci-Dusseau and Andrea Arpaci-Dusseau, Operating Systems: Three Easy Pieces, Version 0.90, March 2015 CSE 120 Lecture 1 Course Intro 6

Nachos Project CSE 120 Lecture 1 Course Intro 7

Nachos Nachos is an instructional operating system It is a user-level operating system and a machine simulator» Not unlike the Java runtime environment» Will become abundantly clear (or not so clear) very soon Programming environment will be Java on Unix (Linux) The projects will require serious time commitments» Waiting until the last minute is not a viable option You will do three+ projects using Nachos Concurrency and synchronization System calls, processes, multiprogramming Virtual memory You will work in groups of 1-2 on the projects Start thinking about partners CSE 120 Lecture 1 Course Intro 8

Labs We will use the labs in the CSE basement Linux running on x86 machines You may also use your home machine The same project source will work on Windows (mostly) Note: We will test and grade on uape machines Be sure to test your projects there as well Why work in the labs? TAs there to help Classmates there to help (and have fun) I will visit the labs to help CSE 120 Lecture 1 Course Intro 9

Exams Midterm Final Covers first half of class Covers second half of class + selected material from first part» I will be explicit about the material covered No makeup exams Unless absolute dire circumstances Crib sheet You can bring one double-sided 8.5x11 page of notes to each exam to assist you in answering the questions Not a substitute for thinking CSE 120 Lecture 1 Course Intro 10

Grading Homeworks: 15% Think of these collectively as a take-home midterm Midterm: 25% Final: 30% Projects: 30% Breakdown: 1.5%, 7.5%, 9%, 12% CSE 120 Lecture 1 Course Intro 11

How Not To Pass CSE 120 Do not come to lecture Lecture is far too early, the slides are online, and the material is in the book anyway Lecture material is the basis for exams and directly relates to the projects Do not do the homework It s only 15% of the grade Excellent practice for the exams, and some homework problems are exercises for helping with the project 15% is actually a significant fraction of your grade (could be difference between at least one letter grade) CSE 120 Lecture 1 Course Intro 12

How Not To Pass (2) Do not ask questions in lecture, office hours, or online It s scary, I don t want to embarrass myself Asking questions is the best way to clarify lecture material at the time it is being presented Office hours and email will help with homeworks, projects Wait until the last couple of days to start a project We ll have to do the crunch anyways, why do it early? The projects cannot be done in the last few days Repeat: The projects cannot be done in the last few days Each quarter groups learn that starting early meant finishing all of the projects on time and some do not (p.s. The projects cannot be done in the last few days) CSE 120 Lecture 1 Course Intro 13

Class Web Page http://www.cse.ucsd.edu/classes/sp16/cse120-a/ Serves many roles Course syllabus and schedule (updated over quarter)» Lecture slides Homework handouts Project handouts Supplemental readings on Unix, monitors, and threads e.g., seminal research paper describing the early Unix system FYI only, but you might find it interesting Concepts in paper might seem obvious and familiar, but they were new at one time CSE 120 Lecture 1 Course Intro 14

Questions Before we start the material, any questions about the class structure, contents, etc.? CSE 120 Lecture 1 Course Intro 15

Why Operating Systems? Why are we making you sit here today, having to suffer through a core course in operating systems? It s not like everyone will become OS developers, after all Understand what you use Understanding how an OS works helps you develop apps System functionality, performance, efficiency, etc. Pervasive abstractions Concurrency: Threads and synchronization are common modern programming abstractions (Java,.NET, etc.) Complex software systems Many of you will go on to work on large software projects OSes serve as examples of an evolution of complex systems CSE 120 Lecture 1 Course Intro 16

CSE 120 Course Material This course addresses classic OS concepts Services provided by the OS OS implementation on modern hardware Co-evolution of hardware and software Techniques for implementing software systems that are» Large and complex» Long-lived and evolving» Concurrent» Performance-critical System software tends to be mysterious Virtual memory? Wazzat? Our goal is to reveal all mysteries CSE 120 Lecture 1 Course Intro 17

CSE 120 Lecture 1 Course Intro 18

CSE 120 Lecture 1 Course Intro 19

Fundamental OS Issues The fundamental issues/questions in this course are: Structure: how is an operating system organized? Sharing: how are resources shared among users? Naming: how are resources named (by users and programs)? Protection: how are users/programs protected from each other? Security: how can information access/flow be restricted? Communication: how to exchange data? Reliability and fault tolerance: how to mask failures? Extensibility: how to add new features? CSE 120 Lecture 1 Course Intro 20

Fundamental OS Issues (2) Concurrency: how to control parallel activities? Performance: how to make efficient use of resources, reduce OS overhead? Scale and growth: how to handle increased demand? Compatibility: can we ever do anything new? Distribution: how to coordinate remote operations? Accountability: how to charge for/restrict use of resources? And the principles in this course are the design methods, approaches, and solutions to these issues CSE 120 Lecture 1 Course Intro 21

March 30, 2009 CSE 120 Lecture 1 Course Intro 22

What is an Operating System? How would you answer? (Yes, I know that s why you re taking the course ) (Note: There are many answers ) CSE 120 Lecture 1 Course Intro 23

What is an operating system? The operating system is the software layer between user applications and the hardware Applications Operating System Hardware The OS is all the code that you didn t have to write to implement your application CSE 120 Lecture 1 Course Intro 24

The OS and Hardware The OS abstracts/controls/mediates access to hardware resources Computation (CPUs) Volatile storage (memory) and persistent storage (disk, etc.) Communication (network, modem, etc.) Input/output devices (keyboard, display, printer, camera, etc.) The OS defines a set of logical resources (objects) and a set of well-defined operations on those objects (interfaces) Physical resources (CPU and memory) Logical resources (files, programs, names) Sounds like OO CSE 120 Lecture 1 Course Intro 25

The OS and Hardware (2) Benefits to applications Simpler (no tweaking device registers) Device independent (all network cards look the same) Portable (across Win95/98/ME/NT/2000/XP/Vista/7/8/10/ ) Transportable (same program across different OSes (Java)) CSE 120 Lecture 1 Course Intro 26

The OS and Applications The OS defines a logical, well-defined environment Virtual machine (each program thinks it owns the computer) for users and programs to safely coexist, cooperate, share resources Concurrent execution of multiple programs (timeslicing) Communication among multiple programs (pipes, cut & paste) Shared implementations of common facilities» No need to implement the file system more than once Mechanisms and policies to manage/share/protect resources» File permissions (mechanism) and groups (policies) CSE 120 Lecture 1 Course Intro 27

Other Questions to Ponder What is part of an OS? What is not? Is the windowing system part of an OS? Is the Web browser part of an OS? CSE 120 Lecture 1 Course Intro 28

Other Questions to Ponder What is part of an OS? What is not? Is the windowing system part of an OS? Is the Web browser part of an OS? Popular OSes today are Windows, Linux, and OS X How different/similar do you think these OSes are? How would you go about answering that question? OSes change all of the time Consider the series of releases of Windows, Linux, OS X What are the drivers of OS change? What are the most compelling issues facing OSes today? CSE 120 Lecture 1 Course Intro 29

Pondering Cont d How many lines of code in an OS? Win7 (2009): 40M OS X (2006): 86M Linux (2011): 15M What is largest kernel component? What does this mean (for you)? OSes are useful for learning about software complexity OS is just one example of many complex software systems» Chrome (2015): 17M» Apache (2015): 1.7M» JDK (2015): 6M» Unreal Engine 3: 2M If you become a developer, you will face complexity CSE 120 Lecture 1 Course Intro 30

For next class Browse the course web http://www.cse.ucsd.edu/classes/sp16/cse120-a/ Read Chapters 1 and 2 Start exploring Nachos documentation Start thinking about partners for project groups Let the fun begin! CSE 120 Lecture 1 Course Intro 31

OS Metaphors Service provider The OS provides a standard set of facilities/services that enable programs to be simple and portable Executive/bureaucrat/big brother/juggler The OS controls access to shared resources, and allocates resources for the greater good Caretaker The OS monitors and recovers from exceptional conditions Cop/security guard The OS mediates access to resources, granting or denying requests to use resources September 23, 2004 CSE 120 Lecture 1 Course Intro 32