CSCI 350 Ch. 1 Introduction to OS. Mark Redekopp Ramesh Govindan and Michael Shindler

Similar documents
Introduction to Computer Science

Operating systems Architecture

Introduction to Computer Science

Operating Systems: Principles and Practice. Mark Zbikowski Gary Kimura (kudos to Tom Anderson)

Spring It takes a really bad school to ruin a good student and a really fantastic school to rescue a bad student. Dennis J.

CSci 5103 Operating Systems. Jon Weissman. Administrivia

Announcements. Reading. Project #1 due in 1 week at 5:00 pm Scheduling Chapter 6 (6 th ed) or Chapter 5 (8 th ed) CMSC 412 S14 (lect 5)

Networks and Operating Systems Chapter 11: Introduction to Operating Systems

Opera&ng Systems: Principles and Prac&ce. Tom Anderson

CSCI 350 Ch. 7 Scheduling. Mark Redekopp Michael Shindler & Ramesh Govindan

Operating Systems (2INC0) 2018/19. Introduction (01) Dr. Tanir Ozcelebi. Courtesy of Prof. Dr. Johan Lukkien. System Architecture and Networking Group

Introduction. CS3026 Operating Systems Lecture 01

CISC 7310X. C05: CPU Scheduling. Hui Chen Department of Computer & Information Science CUNY Brooklyn College. 3/1/2018 CUNY Brooklyn College

I/O Handling. ECE 650 Systems Programming & Engineering Duke University, Spring Based on Operating Systems Concepts, Silberschatz Chapter 13

Operating Systems. Scheduling

Operating Systems : Overview

Course Details. Operating Systems with C/C++ Course Details. What is an Operating System?

CPSC 341 OS & Networks. Introduction. Dr. Yingwu Zhu

Operating Systems. Lecture Course in Autumn Term 2015 University of Birmingham. Eike Ritter. September 22, 2015

Operating Systems. Lecture Process Scheduling. Golestan University. Hossein Momeni

Module 1: Introduction

OPERATING SYSTEMS Chapter 13 Virtual Machines. CS3502 Spring 2017

Operating Systems Fundamentals. What is an Operating System? Focus. Computer System Components. Chapter 1: Introduction

Spring 2017 :: CSE 506. Introduction. Nima Honarmand

Nested Virtualization and Server Consolidation

CSC 5930/9010 Cloud S & P: Virtualization

EECS 678: Introduction to Operating Systems. Heechul Yun

Announcements. Program #1. Program #0. Reading. Is due at 9:00 AM on Thursday. Re-grade requests are due by Monday at 11:59:59 PM.

Architecture and OS. To do. q Architecture impact on OS q OS impact on architecture q Next time: OS components and structure

Introduction. What is an Operating System? A Modern Computer System. Computer System Components. What is an Operating System?

OPERATING SYSTEMS UNIT - 1

CS 471 Operating Systems. Yue Cheng. George Mason University Fall 2017

EECS 678: Introduction to Operating Systems. Heechul Yun

Department of Computer Science Institute for System Architecture, Operating Systems Group REAL-TIME MICHAEL ROITZSCH OVERVIEW

Lecture 4: Memory Management & The Programming Interface

Introduction to the Process David E. Culler CS162 Operating Systems and Systems Programming Lecture 2 Sept 3, 2014

Operating System Overview

Process Scheduling Part 2

Chapter 1: Introduction

Background. IBM sold expensive mainframes to large organizations. Monitor sits between one or more OSes and HW

What s the difference between threads/processes. Operating Systems

CS 550 Operating Systems Spring Operating Systems Overview

Welcome to the. Migrating SQL Server Databases to Azure

OS: An Overview. ICS332 Operating Systems

CPU Scheduling. CSE 2431: Introduction to Operating Systems Reading: Chapter 6, [OSC] (except Sections )

Lecture 1 Introduction (Chapter 1 of Textbook)

by I.-C. Lin, Dept. CS, NCTU. Textbook: Operating System Concepts 8ed CHAPTER 13: I/O SYSTEMS

Undergraduate Course Syllabus

NAME: KEY (FIRST NAME FIRST) TOTAL:

RT extensions/applications of general-purpose OSs

CS370 Operating Systems

8: Scheduling. Scheduling. Mark Handley

Virtual machines (e.g., VMware)

Spring 2017 :: CSE 506. Introduction to. Virtual Machines. Nima Honarmand

Processes. CS 475, Spring 2018 Concurrent & Distributed Systems

CIS 21 Final Study Guide. Final covers ch. 1-20, except for 17. Need to know:

Introduction. TDDI04, K. Arvidsson, IDA, Linköpings universitet Contents. What is an Operating System (OS)?

Four Components of a Computer System

18-447: Computer Architecture Lecture 16: Virtual Memory

CSCI-GA Operating Systems Lecture 3: Processes and Threads -Part 2 Scheduling Hubertus Franke

Computer Science 4500 Operating Systems

Operating System: Chap13 I/O Systems. National Tsing-Hua University 2016, Fall Semester

ECE 598 Advanced Operating Systems Lecture 22

EECS 482 Introduction to Operating Systems

Timers 1 / 46. Jiffies. Potent and Evil Magic

Operating Systemss and Multicore Programming (1DT089)

Frequently asked questions from the previous class survey

Chapter 6: CPU Scheduling. Operating System Concepts 9 th Edition

Learning Outcomes. Extended OS. Observations Operating systems provide well defined interfaces. Virtual Machines. Interface Levels

Midterm Exam Amy Murphy 6 March 2002

CS 326: Operating Systems. CPU Scheduling. Lecture 6

CS370 Operating Systems

Operating Systems Overview. Chapter 2

Chapter 2: Operating-System Structures

To provide a grand tour of the major operating systems components To provide coverage of basic computer system organization

I/O Systems. 04/16/2007 CSCI 315 Operating Systems Design 1

Lecture 1. CMSC 412 S17 (lect 1)

Scheduling. Scheduling 1/51

Tessellation: Space-Time Partitioning in a Manycore Client OS

Operating Systems 2010/2011

CSCI 350 Ch. 12 Storage Device. Mark Redekopp Michael Shindler & Ramesh Govindan

Scheduling. Scheduling 1/51

Multiprocessor Scheduling. Multiprocessor Scheduling

Background: Operating Systems

CS2506 Quick Revision

CPU Scheduling: Objectives

Lecture 1: January 23

Today s agenda. Course overview. CS 537: Operating Systems Fall Course Introduction. Mike Swift

Administrative Details. CS 140 Final Review Session. Pre-Midterm. Plan For Today. Disks + I/O. Pre-Midterm, cont.

Operating Systems Overview

Advanced Operating Systems (CS 202)

CMPS 111 Spring 2003 Midterm Exam May 8, Name: ID:

Operating Systems. read the warning about the size of the project make sure you get the 6 th edition (or later) of the book

ò mm_struct represents an address space in kernel ò task represents a thread in the kernel ò A task points to 0 or 1 mm_structs

Initial Evaluation of a User-Level Device Driver Framework

Computer Architecture. Fall Dongkun Shin, SKKU

About Me. Office Hours: Tu 4-5, W 1-2, or by appointment Office: 346A IST Bldg

Scheduling. Don Porter CSE 306

Advanced Computer Networks. End Host Optimization

Operating Systems. Operating System Structure. Lecture 2 Michael O Boyle

Transcription:

1 CSCI 350 Ch. 1 Introduction to OS Mark Redekopp Ramesh Govindan and Michael Shindler

2 Syllabus Website (http://bits.usc.edu/cs350) People Projects PintOS Policies Grading & Exams

WHAT IS AN OPERATING SYSTEM 3

Kernel Mode 4 Definition mode A piece of software that manages a computer s resources What resources need managing? CPU (threads and processes) Memory (Virtual memory, protection) I/O (Abstraction, interrupts, protection) Hardware User DISK User App System Library Processes & Scheduling I/O Drivers & Protocols Processor Mem. Management Unit User App System Library File Systems Memory Translation Network Graphics

HISTORY OF OPERATING SYSTEMS 5

6 Evolution Single job systems https://www.youtube.com/watch?v=xethu_pawoo Batch systems: OS little more than a library for I/O Execute the next program while outputting results from the previous Better than before since computer wasn t idle when processing Multi-tasking: DMA, direct I/O access, virtual machines Avoided I/O waiting, multiplex CPU and I/O Virtual machines were developed around this time Time sharing: Support interactive use of computers Isolation (privileges), the process abstraction, memory hardware, virtual memory PCs: bitmapped displays, window management Mobile: SSDs, sensors/gps, touch screen Servers: Virtualization, optimize for specific tasks As a result of Moore's Law, features available on higher end devices find their way into lower end devices over time. Supercomputer -> server -> desktop -> mobile

7 Kinds of Operating Systems General Purpose Laptop, Desktop Server User and other access policies Supporting virtualization (hypervisor) Mobile Embedded Hard and Soft Real-time Hard Real-time: Missing a deadline results in failure Soft Real-time: Performance/usefulness degrades if deadlines missed Scheduling, priority, and deterministic latency

8 Genealogy of Operating Systems Figure 1.9, OS:PP 2 nd Ed.

9 Roles Textbook regularly revisits 3 roles an OS plays: Referee Protection against other applications Enforce fair resource sharing Why doesn't an infinite loop require a reboot? Illusionist (Virtualization) Glue Each program thinks it is running separately Each program thinks it has full access to computer's resources (or unlimited resources) Common services (such as copy/paste) Files can be read by any application UI routines for look & feel Separate applications from hardware so you don t need to know which keyboard, disk drive, etc

10 Case Study of Roles What roles {Referee, Illusionist, Glue} would be relevant and important in the following systems? Web browser Cloud computing Multiuser database The Internet

11 Case Study of Roles Web browser Referee (execution of scripted code), glue (display and network functionality) Illusionist (handling of network errors) Cloud computing Illusionist (no need to know where data is stored) and glue (to provide APIs and access) to data Referee and Illusionist (virtualization, separation) Multiuser Database Illusionist (replication and transactions) Referee (access rights) Internet Illusionist (DNS translation, IP routing, Reliability) Referee (Quality-of-Service, congestion, denial of service) Glue (Common API, standards, etc.)

12 OS Design Criteria (Metrics) Reliability (availability) Security/Privacy Performance Portability & Adoption

13 Reliability vs. Availability Reliable: Outputs are as intended for the given set of inputs If outputs are not as intended we say the system has failed Availability: System can do work Available does not imply reliable System can be available but not reliable (bugs!) System can be reliable yet not available DoS, Crash after every instruction but saves results

14 Security Security means avoiding compromised states Example: Execution of malware/virus Privacy implies only authorized users can access certain data Security is hard to achieve without sacrificing other important aspects like performance (e.g. encryption, translation, etc.)

15 Performance Scheduling and Fairness Predictability Throughput vs. response time

16 Portability OS can abstract applications from various hardware changes OS should play middle man and provide an API or AMI (Abstact Machine Interface) Can OS itself be abstracted from hardware changes (i.e. easily ported to another HW platform) Many OSs use a HAL (hardware abstraction layer) so that the bulk of the code need not change as it is migrated to a new platform Adoption: The more devices that can be supported the greater the chance of adoption Network effect: Adoption based on If good apps are available, OS will be adopted. But good apps may not be written unless the OS is widely adopted.