Operating Systems Principles Lecture 1: Introduction 主講人:虞台文.

Slides:



Advertisements
Similar presentations
Operating System Structures
Advertisements

Maninder Kaur OPERATING SYSTEM Maninder Kaur 11 Oct 2010.
Introduction CSCI 444/544 Operating Systems Fall 2008.
CS 345 Computer System Overview
Winter 2005 CMPE 151: Network Administration Lecture 2.
Lecture 1: History of Operating System
CS 104 Introduction to Computer Science and Graphics Problems Operating Systems (1) 02/18/2008 Yang Song (Prepared by Yang Song and Dr. Hung)
Tuesday, June 06, 2006 I hear and I forget, I see and I remember, I do and I understand. -Chinese Proverb.
Understanding Operating Systems 1 Overview Introduction Operating System Components Machine Hardware Types of Operating Systems Brief History of Operating.
Operating Systems.
University of Pennsylvania 9/7/00CSE 3801 CSE 380 Introduction to Operating Systems Insup Lee Fall 00.
1 Introduction Chapter What is an operating system 1.2 History of operating systems 1.3 The operating system zoo 1.4 Computer hardware review 1.5.
Introduction Operating Systems’ Concepts and Structure Lecture 1 ~ Spring, 2008 ~ Spring, 2008TUCN. Operating Systems. Lecture 1.
Silberschatz, Galvin and Gagne  Operating System Concepts Bare Machine (early 1950s) Structure  Large machines run from console  Single user.
A. Frank - P. Weisberg Operating Systems Evolution of Operating Systems.
1 What is an operating system? CSC330Patricia Van Hise.
1 The development of modern computer systems Early electronic computers Mainframes Time sharing Microcomputers Networked computing.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
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.
Operating System Overview
CHAPTER 2 OPERATING SYSTEM OVERVIEW 1. Operating System Operating System Definition A program that controls the execution of application programs and.
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?
Introduction Operating Systems. No. 2 Contents Definition of an Operating System (OS) Role of an Operating System History of Operating Systems Classification.
Chapter 1. Introduction What is an Operating System? Mainframe Systems
Operating Systems CS3502 Fall 2014 Dr. Jose M. Garrido
 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.
OPERATING SYSTEMS DESIGN AND IMPLEMENTATION Third Edition ANDREW S. TANENBAUM ALBERT S. WOODHULL Yan hao (Wilson) Wu University of the Western.
Introduction to Operating Systems Chapter 1. cs431 -cotter2 Lecture Objectives Understand the relationship between computing hardware, operating system,
Fall 2000M.B. Ibáñez Lecture 01 Introduction What is an Operating System? The Evolution of Operating Systems Course Outline.
1 Operating System Overview. 2 Today’s Objectives Explain the main purpose of operating systems and describe milestones of OS evolution Explain fundamental.
Understanding Operating Systems Flynn & McHoes
Contact Information Office: 225 Neville Hall Office Hours: Monday and Wednesday 12:00-1:00 E-Main: Phone:
1 Introduction. 2 A computer system consists of –hardware –system programs –application programs.
MODERN OPERATING SYSTEMS Third Edition ANDREW S. TANENBAUM Chapter 1 Introduction Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc.
INVITATION TO COMPUTER SCIENCE, JAVA VERSION, THIRD EDITION Chapter 6: An Introduction to System Software and Virtual Machines.
1.1 Operating System Concepts Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Operating Systems Overview Part 2: History (continued)
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Chapter 1: Introduction and History  Where does the operating system fit in a computing system?  What does the operating system achieve?  What are the.
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.
February 02Page 1 Operating Systems Introduction.
Operating System Structure A key concept of operating systems is multiprogramming. –Goal of multiprogramming is to efficiently utilize all of the computing.
We will focus on operating system concepts What does it do? How is it implemented? Apply to Windows, Linux, Unix, Solaris, Mac OS X. Will discuss differences.
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
CIS250 OPERATING SYSTEMS Chapter One Introduction.
CS 345 Computer System Overview
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
Copyright ©: Nahrstedt, Angrave, Abdelzaher1 Operating System Overview Tarek Abdelzaher Lawrence Angrave Vikram Adve.
Operating Systems.
Chapter 1 Introduction  What is an operating system  History of operating systems  The operating system zoo  Computer hardware review  Operating system.
1.1 Sandeep TayalCSE Department MAIT 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming Batched Systems Time-Sharing Systems.
Midterm OPERATING SYSTEM. Objectives At the end of the course, the student should be able to: Define the operating system; Demonstrate the abstract view.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Operating Systems Overview: Using Hardware.
L ECTURE -6 Topics: Introduction to Operating system. Functions of an Operating system. Classification of Operating systems.
CSCI/CMPE 4334 Operating Systems Review: Exam 1 1.
Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Silberschatz, Galvin and Gagne ©2007 Chapter 0: Historical Overview.
OS HISTORY Module 1.3 Richard Newman University of Florida.
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.
CompSci 143A1 1. Introduction 1.1 The Role of Operating Systems - Bridge the “Semantic Gap” between Hardware and Application - Three Views of Operating.
Introduction to Operating Systems Concepts
Evolution of Operating Systems
Where are being used the OS?
Chapter 1 Introduction to Operating System Part 2
Operating System Introduction
Operating Systems Principles Lecture 1: Introduction
Presentation transcript:

Operating Systems Principles Lecture 1: Introduction 主講人:虞台文

Content The Role of Operating Systems – Bridge the Hardware/Application Gap – Three Views of Operating Systems Organization of Operating Systems – Structural Organization – The Hardware Interface – The Programming Interface – The User Interface – Runtime Organization Operating System Evolution & Concepts

Operating Systems Principles Lecture 1: Introduction The Role of Operating Systems

PC Hardware Organization

Users ←→ Hardware The Gap

Users ←→ Hardware The Gap Hardware capabilities are very low level Arithmetic and logical operators Comparison of two bit-strings Branching, reading, and writing bytes Hardware capabilities are very low level Arithmetic and logical operators Comparison of two bit-strings Branching, reading, and writing bytes User needs to think in terms of problem to be solved High-level data structures and corresponding operations Simple, uniform interfaces to subsystems, Treat programs and data files as single entities User needs to think in terms of problem to be solved High-level data structures and corresponding operations Simple, uniform interfaces to subsystems, Treat programs and data files as single entities

Fills the Gap Software

Fills the Gap Software Use software to bridge this gap Language processors e.g., - assemblers, compilers, interpreters Editors and text processors, linkers and loaders. Application programs, utility and service programs. Operating Systems Use software to bridge this gap Language processors e.g., - assemblers, compilers, interpreters Editors and text processors, linkers and loaders. Application programs, utility and service programs. Operating Systems

Single CPU System

I/O Devices

Multiprocessor Systems Share-Memory Model Distributed-Memory Model

Synchronization & Communication of CPU ’ s Share-Memory Model Distributed-Memory Model through the shared memory interconnection network required.

Cash Coherence Problem Share-Memory Model Distributed-Memory Model Cashes do not contain different values for the same memory element. Local Cash

Multicomputer System

Network Controller

Local Area Networks Local area networks (LANs) connect computers within a building or a enterprise network. LAN network topologies: Ring Network Broadcast Bus

Wide Area Networks A Wide Area Network (WAN) is a collection of Local Area Networks (LANs) that have been connected together. The internet is an example of a WAN.

Applications/Services Operating System Operating System What are done by OS? Process Management – Scheduling of process – Synchronization Memory Management – Virtual memory Input/Output Systems – Device drivers – Spooling File Systems Protection and Security Bare Machine Bare Machine

Applications/Services Operating System Operating System Three Views of OS ’ s Bare Machine Bare Machine User’s View Application Programmer’s View System Programmer’s View

Applications/Services Operating System Operating System User ’ s View Bare Machine Bare Machine User’s View Application Programmer’s View System Programmer’s View OS is an extended machine Abstraction — hides complexity Provides high level operations

Applications/Services Operating System Operating System Application Programmer ’ s View Bare Machine Bare Machine User’s View Application Programmer’s View System Programmer’s View OS is a virtual machine Virtualization — supports sharing Provides virtual CPU, memory, devices

Applications/Services Operating System Operating System System Programmer ’ s View Bare Machine Bare Machine User’s View Application Programmer’s View System Programmer’s View OS is a resource manager Balance overall performance with individual needs e.g., response time, deadlines

Operating Systems Principles Lecture 1: Introduction Organization of Operating Systems

Structure Organization of OS Hardware Operating System Kernel Operating System Kernel System Library Applications (system & user) User Machine Instructions Kernel Calls Library Calls

Modes of CPU Execution Hardware Operating System Kernel Operating System Kernel System Library Applications (system & user) User Machine Instructions Kernel Calls Library Calls privileged mode nonprivileged mode

Supervisor Call (SVC) Hardware Operating System Kernel Operating System Kernel System Library Applications (system & user) User Machine Instructions Kernel Calls Library Calls privileged mode nonprivileged mode SVC SVCs are used to implement all kernel calls and form the basic interface btw the OS kernel and the rest of the software.

The Hardware Interface Applications and OS compiled into machine instructions Interrupts and Traps allow OS to seize control – process management (time-sharing) – device management (I/O completion) SVC

The Programming Interface Invoking system services Library call (nonprivileged) Kernel call (privileged)

The User Interface Text-based shell e.g., Unix, MS Dos – command interpreter – shell scripts Graphics-based GUI e.g., Mac, MS Windows – windows – icons – menus – pointer

Runtime Organization Service is a Subroutine Service is an Autonomous Process (client-server)

Operating Systems Principles Lecture 1: Introduction Operating System Evolution & Concepts

History of Operating Systems The First Generation (1945–55) – Vacuum Tubes and Plugboards The Second Generation (1955–65) – Transistors and Batch Systems The Third Generation (1965–1980) – ICs and Multiprogramming The Fourth Generation (1980–Present) – Personal Computers

The First Generation (1945–55)  Vacuum Tubes and Plugboards

Machines of the time were so primitive that programs were often entered one bit at time on rows of mechanical switches (plugboards). Programming languages were unknown (not even assembly languages). Operating systems were unheard of.

The Second Generation (1955–65)  Transistors and Batch Systems A batch system is one in which jobs are bundled together with the instructions necessary to allow them to be processed without intervention. Often jobs of a similar nature can be bundled together to further increase economy.

The Second Generation (1955–65)  Transistors and Batch Systems

$JOB user_spec;identify the user for accounting purposes $FORTRAN;load the FORTRAN compiler source program cards $LOAD;load the compiled program $RUN ;run the program data cards $EOJ ;end of job $JOB user_spec ;identify a new user $LOAD application $RUN Data $EOJ

The Second Generation (1955–65)  Transistors and Batch Systems

Memory Layout of a Batch System The Second Generation (1955–65)  Transistors and Batch Systems The monitor is system software that is responsible for interpreting and carrying out the instructions in the batch jobs. When the monitor started a job, it handed over control of the entire computer to the job, which then controlled the computer until it finished. Monitor (permanently resident) Monitor (permanently resident) User Space (compilers, programs, data, etc.) User Space (compilers, programs, data, etc.) Monitor: another name of OS.

The Second Generation (1955–65)  Transistors and Batch Systems Advantages of batch systems – move much of the work of the operator to the computer – increased performance since it was possible for job to start as soon as the previous job finished Disadvantages – turn-around time can be large from user standpoint – more difficult to debug program – due to lack of protection scheme, one batch job can affect pending jobs (read too many cards, etc) – a job could corrupt the monitor, thus affecting pending jobs – a job could enter an infinite loop

The Third Generation (1965–1980)  ICs and Multiprogramming Have more than one active (running) program in memory at any one time. Why?

The Third Generation (1965–1980)  ICs and Multiprogramming Main features of this generation CPU and I/O Overlap Spooling – simultaneous peripheral operations on line Time-sharing technique

The Third Generation (1965–1980)  ICs and Multiprogramming The typical CPU and I/O overlap pattern in a single program

The Third Generation (1965–1980)  ICs and Multiprogramming Goal of multiprogramming  Keep CPUs and and I/O devices busy.

The Third Generation (1965–1980)  ICs and Multiprogramming CPU Bound Programs – Perform calculation most of time – Scientific computation I/O Bound Programs – Perform I/O most of time – Commercial data processing

The Third Generation (1965–1980)  ICs and Multiprogramming Time Saved

The Third Generation (1965–1980)  ICs and Multiprogramming Spooling (simultaneous peripheral operations on line). In spooling, a high-speed device like a disk interposed between a running program and a low- speed device involved with the program in input/output. Example: Instead of writing directly to a printer, outputs are written to the disk. – Programs can run to completion faster; and – other programs can be initiated sooner when the printer becomes available, the outputs may be printed.

The Third Generation (1965–1980)  ICs and Multiprogramming Time Sharing Technique A variant of multiprogramming technique. Each user has an on-line terminal. Because the user is present and interacting with the computer, the computer system must respond quickly to user requests, otherwise user productivity could suffer. Timesharing systems were developed to multiprogram large number of simultaneous interactive users.

The Fourth Generation (1980–Present)  Personal Computers With the development of LSI circuits, chips, operating system entered entered in the personal computer and the workstation age. Microprocessor technology evolved to the point that it become possible to build desktop computers as powerful as the mainframes of the 1970s.

The Fourth Generation (1980–Present)  Personal Computers CP/M (Control Program of Microcomputers) MS-Dos Windows Unix GUI

The Evolution Early systems  No Operating System Batch Operating Systems Multiprogramming Systems Interactive operating Systems Personal Computer and Workstation Operating Systems Real-time Operating Systems Distributed Operating Systems