W4118 Operating Systems OS Overview Junfeng Yang.

Slides:



Advertisements
Similar presentations
Operating System.
Advertisements

Introduction CSCI 444/544 Operating Systems Fall 2008.
CS 345 Computer System Overview
Lecture 1: History of Operating System
Operating Systems CS451 Brian Bershad
UNIX Chapter 01 Overview of Operating Systems Mr. Mohammad A. Smirat.
Operating Systems Concepts Professor Rick Han Department of Computer Science University of Colorado at Boulder.
Introduction  What is an Operating System  What Operating Systems Do  How is it filling our life 1-1 Lecture 1.
Chapter 1 and 2 Computer System and Operating System Overview
University of Pennsylvania 9/7/00CSE 3801 CSE 380 Introduction to Operating Systems Insup Lee Fall 00.
Chapter 3 Overview of Operating Systems Copyright © 2008.
A. Frank - P. Weisberg Operating Systems Evolution of Operating Systems.
Introduction. Why Study OS? Understand model of operation –Easier to see how to use the system –Enables you to write efficient code Learn to design an.
1/16/2008CSCI 315 Operating Systems Design1 Introduction Notice: The slides for this lecture have been largely based on those accompanying the textbook.
Operating Systems Lecture 1 Overview and History Adapted from Operating Systems Lecture Notes, Copyright 1997 Martin C. Rinard. Zhiqing Liu School of Software.
OPERATING SYSTEMS Prof. Sujata Rao Lesson 3. Agenda 1. What is an operating system? 2. How have operating systems evolved? 3. Functions of Operating System.
1 COMPSCI 110 Operating Systems Who - Introductions How - Policies and Administrative Details Why - Objectives and Expectations What - Our Topic: Operating.
CHAPTER 2 OPERATING SYSTEM OVERVIEW 1. Operating System Operating System Definition A program that controls the execution of application programs and.
Operating System. Architecture of Computer System Hardware Operating System (OS) Programming Language (e.g. PASCAL) Application Programs (e.g. WORD, EXCEL)
part I, , Part I Introduction to Operating Systems First Semester, Year 2000 Wannarat Suntiamorntut Department of Computer Engineering,
Introduction and Overview Questions answered in this lecture: What is an operating system? How have operating systems evolved? Why study operating systems?
Chapter 1. Introduction What is an Operating System? Mainframe Systems
 What is OS? What is OS?  What OS does? What OS does?  Structure of Operating System: Structure of Operating System:  Evolution of OS Evolution of.
Operating Systems.
 Introduction to Operating System Introduction to Operating System  Types Of An Operating System Types Of An Operating System  Single User Single User.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 1 Introduction Read:
CS 1651 Advanced Systems Software Jack Lange Assistant Professor University of Pittsburgh.
OPERATING SYSTEMS Goals of the course Definitions of operating systems Operating system goals What is not an operating system Computer architecture O/S.
Operating System Concepts Chapter One: Introduction What is an operating system? Simple Batch Systems Multiprogramming Systems Time-Sharing Systems Personal-Computer.
1.1 Operating System Concepts Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered.
Operating Systems David Goldschmidt, Ph.D. Computer Science The College of Saint Rose CIS 432.
Silberschatz and Galvin  Operating System Concepts Module 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming.
INFORMATION SYSTEM-SOFTWARE Topic: OPERATING SYSTEM CONCEPTS.
Chapter 1 (PART 1) Introduction to OS (concept, evolution, some keywords) Department of Computer Science Southern Illinois University Edwardsville Summer,
CIS250 OPERATING SYSTEMS Chapter One Introduction.
Operating Systems Introduction & Overview. Books (Tentative) Text Book: –Operating System Concepts, 6 th Edition, Silberschatz Galvin Gagne Reference.
CS 345 Computer System Overview
Operating System. Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered.
Operating Systems.
Silberschatz and Galvin  Operating System Concepts Module 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming.
1.1 Sandeep TayalCSE Department MAIT 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming Batched Systems Time-Sharing Systems.
CS4315A. Berrached:CMS:UHD1 Introduction to Operating Systems Chapter 1.
Midterm OPERATING SYSTEM. Objectives At the end of the course, the student should be able to: Define the operating system; Demonstrate the abstract view.
Silberschatz and Galvin  Operating System Concepts Module 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Operating Systems Overview: Using Hardware.
Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Silberschatz, Galvin and Gagne ©2007 Chapter 0: Historical Overview.
Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered System Real.
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.
Applied Operating System Concepts
Evolution of Operating Systems
Chapter 1: Introduction
TYPES OFF OPERATING SYSTEM
Chapter 1: Introduction
Chapter 1: Introduction
חוברת שקפים להרצאות של ד"ר יאיר ויסמן מבוססת על אתר האינטרנט:
Chapter 1: Intro (excerpt)
Operating System Concepts
Operating Systems CSE451 Winter 2000
CSE 451: Operating Systems Winter 2003 Lecture 1 Course Introduction
Operating Systems CSE451 Spring 2000
Why Threads Are A Bad Idea (for most purposes)
Operating Systems CS451 Fall 1998
Chapter 2 Operating System Overview
Why Threads Are A Bad Idea (for most purposes)
CSE 451: Operating Systems Autumn 2003 Lecture 1 Course Introduction
Operating System Overview
Why Threads Are A Bad Idea (for most purposes)
Chapter 1: Introduction
Operating System Concepts
Presentation transcript:

W4118 Operating Systems OS Overview Junfeng Yang

What is OS?  Example OS?  No widely accepted definition  “A program that acts as an intermediary between a user of a computer and the computer hardware.” OS HW App User “stuff between”

Two popular definitions  Application perspective: hardware abstraction layer, turn hardware into something that applications can use  System perspective: resource manager, manage your computer’s resources

OS = hardware abstraction layer  Application perspective: “standard library” or “virtual machine”  E.g. printf(“hello world”), shows up on screen  Why good?  Ease of use: higher level of abstraction, easier to program  Reusability: provide common functionality for reuse E.g. each app doesn’t have to write a graphics driver  Portability / Uniformity: stable, consistent interface, different OS/version/hardware look same E.g. scsi/ide/flash disks

Why abstraction hard?  What are the right abstractions ???  Too low level ? Lose advantages of abstraction  Too high level? All apps pay overhead, even those don’t need Worse, may work against some apps –E.g. OS memory management v.s. database buffer management

OS = resource manager/coordinator  System prospective: computer has resources, OS must manage.  Resource = Memory, CPU, disk, bandwidth  Why good?  Sharing/Multiplexing: more than 1 app/user to use resource  Protection: protect apps from each other, OS from app Who gets what when  Performance: efficient/fair access to resources

Why resource management hard?  Mechanisms v.s. policies  Mechanism: how to do things  Policy: what will be done  Ideal: general mechanisms, flexible policies

What does OS do?  Still, hard to answer. Driven by many outside factors  User needs + technology changes  OS must evolve  New/better abstractions to users  New/better algorithms to implement abstractions  New/better low-level implementations (hw change)  Current OS: evolution of these things  Next: history tour

Major trend in History  Hardware: cheaper and cheaper  Computers/user: increases  Timeline  70s: mainframe, 1 / organization  80s: minicomputer, 1 / group  90s: PC, 1 / user

70s: mainframe  Hardware:  Huge, $$$, slow  IO: punch card, line printer  OS  simple library of device drivers (no resource coordination)  Human OS: single programmer/operator programs, runs, debugs  One job at a time  Problem: poor performance (utilization / throughput) Machine $$$, but idle most of the time because programmer slow

Batch Processing  Batch: submit group of jobs together to machine  Operator collects, orders, runs (resource coordinator)  Why good? can better optimize given more jobs  Cover setup overhead  Operator quite skilled at using machine  Machine busy more (programmers debugging offline)  Why bad?  Must wait for results for long time  Result: utilization increases, interactivity drops

Spooling  Problem: I/O slow  Read input  Compute  Write output  Slow punch card reader and line printer  Idea: overlap one job’s IO with other jobs’ compute  Job A: Read input  Compute  Write output  Job B: Read input  Compute   OS functionality  buffering, DMA, interrupts  Good: better utilization/throughput  Bad: still not interactive

Multiprogramming  Spooling allows multiple jobs  Multiprogramming  keep multiple jobs in memory, OS chooses which to run  When job waits for I/O, switch  OS functionality  job scheduling, mechanism/policies  Memory management/protection  Good: better throughput  Bad: still not interactive

80s: minicomputer  Hardware gets cheaper. 1 / group  Need better interactivity, short response time  Concept: timesharing  Fast switch between jobs to give impression of dedicated machine  OS functionality:  More complex scheduling, memory management  Concurrency control, synchronization  Good: immediate feedback to users

90s: PC  Even cheaper. 1 / user  Goal: easy of use, more responsive  Do not need a lot of stuff  Example: DOS  No time-sharing, multiprogramming, protection, VM  One job at a time  OS is subroutine again  Users + Hardware  OS functionality

Current trends?  Large  Users want more features  More devices  Result: large system, millions of lines of code  Reliability, Security  Few errors in code, can recover from failures  At odds with previous trend  Small: e.g. handheld device  New user interface  Energy: battery life  One job at a time. OS is subroutine again

Next lecture  Interrupts and system calls  Read Chapter