Introduction to Operating Systems

Slides:



Advertisements
Similar presentations
Introduction CSCI 444/544 Operating Systems Fall 2008.
Advertisements

CMPT 300: Operating Systems I Dr. Mohamed Hefeeda
Lecture 1: History of Operating System
1 School of Computing Science Simon Fraser University CMPT 300: Operating Systems I Dr. Mohamed Hefeeda.
Introduction  What is an Operating System  What Operating Systems Do  How is it filling our life 1-1 Lecture 1.
CS4315A. Berrached:CMS:UHD1 Operating System Structures Chapter 3.
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 Operating System Organization.
Operating Systems: Principles and Practice
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 2: System Structures.
CHAPTER 2 OPERATING SYSTEM OVERVIEW 1. Operating System Operating System Definition A program that controls the execution of application programs and.
Introduction and Overview Questions answered in this lecture: What is an operating system? How have operating systems evolved? Why study operating systems?
Operating Systems.
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 1 Introduction Read:
Composition and Evolution of Operating Systems Introduction to Operating Systems: Module 2.
Chapter 1 CS 3204: Introduction. CS 3204: Operating Systems2 What is an Operating System (OS) ? Definition 1: An OS is the interface between the hardware.
◦ What is an Operating System? What is an Operating System? ◦ Operating System Objectives Operating System Objectives ◦ Services Provided by the Operating.
INVITATION TO COMPUTER SCIENCE, JAVA VERSION, THIRD EDITION Chapter 6: An Introduction to System Software and Virtual Machines.
Introduction. Readings r Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 m Note: All figures from this book.
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3.
PART II OPERATING SYSTEMS LECTURE 8 SO TAXONOMY Ştefan Stăncescu 1.
Chapter 1: Introduction and History  Where does the operating system fit in a computing system?  What does the operating system achieve?  What are the.
Chapter 2 Introduction to OS Chien-Chung Shen CIS, UD
CS4315A. Berrached:CMS:UHD1 Introduction to Operating Systems Chapter 1.
Chapter 2 Introduction to OS Chien-Chung Shen CIS/UD
CT101: Computing Systems Introduction to Operating Systems.
1 OPERATING SYSTEMS. 2 CONTENTS 1.What is an Operating System? 2.OS Functions 3.OS Services 4.Structure of OS 5.Evolution of OS.
Welcome to Intro to Operating Systems Course Website:
Introduction to Operating Systems Concepts
Introduction to Operating Systems
Lecture 1: Operating System Services
2. OPERATING SYSTEM 2.1 Operating System Function
Operating Systems : Overview
Chapter 5: Using System Software
Introduction to Operating System (OS)
TYPES OFF OPERATING SYSTEM
Chapter 1: Introduction
Introduction to Operating Systems
Introduction and History
Introduction to Operating Systems
Introduction and History
Operating Systems : Overview
Introduction to Operating Systems
Chapter 2: System Structures
Operating Systems Bina Ramamurthy CSE421 11/27/2018 B.Ramamurthy.
Introduction and History
Operating Systems.
Operating Systems : Overview
Unit 1: Introduction to Operating System
Lecture Topics: 11/1 General Operating System Concepts Processes
Introduction to Operating Systems
Operating Systems : Overview
Operating Systems : Overview
Operating Systems : Overview
Operating Systems : Overview
Chapter 1 Introduction to Operating System Part 2
Subject Name: Operating System Concepts Subject Number:
Outline Chapter 2 (cont) OS Design OS structure
Operating Systems : Overview
Introduction and History
Operating Systems : Overview
Operating System Introduction.
Operating Systems : Overview
Operating Systems : Overview
Operating Systems : Overview
Operating Systems : Overview
Introduction and History
Chapter 2 Operating System Overview
CSE 542: Operating Systems
Lecture Topics: 11/1 Hand back midterms
Introduction and History
Presentation transcript:

Introduction to Operating Systems Summer 2017 Lecture Notes OSPP Chapter 1 (adapted from Tom Anderson’s slides on OSPP web site)

Chapter 1 Operating system definition OS roles Core ideas Software to manage a computer’s resources for its users and applications OS roles Referee, illusionist, and glue Core ideas Protection, concurrency, resource allocation, virtualization, reliable storage

What is an operating system? Software to manage a computer’s resources for its users and applications

Operating System Roles Referee: Resource allocation among users and applications Isolation of users and applications from each other Communication between users and applications Illusionist Each application appears to have a machine to itself Physical limitations and details are masked Higher-level objects are provided, such as files Glue Execution environment with common set of services Files written by one app can be read by another

Example: File Systems Referee Illusionist Glue Prevent users from accessing each other’s files without permission Illusionist Files and directories Files can grow (nearly) arbitrarily large Character or block I/O whether disk or network Disk details such as sector size are hidden Glue open(), fprintf(), fscanf()

Protection – Chapter 2 The isolation of potentially misbehaving applications and users so that they do not corrupt other applications or the OS itself Prevent corruption of memory and files Prevent DoS to other users by unstoppable infinite loop on CPU Prevent crash of one application causing whole system to crash

Concurrency – Chapters 4-6 Multiple activities that can happen at the same time Real concurrency: multiple CPUs Apparent concurrency: time sharing on a single CPU

Resource allocation – Chapter 7 Resource: a physical or virtual entity that can be assigned to a user or application E.g., OS decides how much CPU time and when, how much memory and when OS may limit allocations for purposes of efficiency and fairness OS controls the sharing of resources

Virtualization – Chapters 8-10 Provide an application with the illusion of resources that are not physically present May be within a physical machine, such as virtual memory, or may be a full virtual machine

Reliable storage – Chapters 11-14 Safely store user data even if the system crashes due to software errors or hardware failures Atomically update multiple blocks of storage in a single transaction

Question How should an operating system allocate processing time between competing uses? Give the CPU to the first to arrive? To the one that needs the least resources to complete? To the one that needs the most resources? Design choices represent trade-offs

Example: web service How does the server manage many simultaneous client requests? How do we keep the client safe from spyware embedded in scripts on a web site? How do make updates to the web site so that clients always see a consistent view?

OS Challenges Reliability Availability Security Privacy Does the system do what it was designed to do? Availability What portion of the time is the system working? Mean Time To Failure (MTTF), Mean Time to Repair Security Can the system be compromised by an attacker? Privacy Data is accessible only to authorized users

OS Challenges Portability For programs: For the operating system Application programming interface (API) Abstract virtual machine (AVM) For the operating system Hardware abstraction layer

OS Challenges Performance Latency/response time Throughput Overhead How long does an operation take to complete? Throughput How many operations can be done per unit of time? Overhead How much extra work is done by the OS? Fairness How equal is the performance received by different users? Predictability How consistent is the performance over time?

Abbreviated OS History

Computer Performance Over Time

Early Operating Systems: Computers Very Expensive One application at a time Had complete control of hardware OS was runtime library Users would stand in line to use the computer Batch systems Keep CPU busy by having a queue of jobs OS would load next job while current one runs Users would submit jobs and wait

Time-Sharing Operating Systems: Computers and People Expensive Multiple users on computer at same time Multiprogramming: run multiple programs at same time Interactive performance: try to complete everyone’s tasks quickly As computers became cheaper, more important to optimize for user time, not computer time

Today’s Operating Systems: Computers Cheap Smartphones newer iPhones and iPads run iOS as well as an Apple-customized version of the L4 microkernel on the Secure Enclave coprocessor Embedded systems Laptops Tablets Virtual machines Data center servers

Tomorrow’s Operating Systems Giant-scale data centers Increasing numbers of processors per computer Increasing numbers of computers per user Very large scale storage