Operating System Overview

Slides:



Advertisements
Similar presentations
Chapter 2 Operating System Overview Operating Systems: Internals and Design Principles, 6/E William Stallings.
Advertisements

CS 345 Computer System Overview
CMPT 300: Operating Systems I Dr. Mohamed Hefeeda
Lecture 1: History of Operating System
Operating System (O.S.) Objectives & Functions
Dr Mohamed Menacer College of Computer Science and Engineering Taibah University CS-334: Computer.
1 School of Computing Science Simon Fraser University CMPT 300: Operating Systems I Dr. Mohamed Hefeeda.
Chapter 8 Operating System Support
Chapter 1 and 2 Computer System and Operating System Overview
Chapter 1 and 2 Computer System and Operating System Overview
Computer Organization and Architecture
Operating System Objectives & Functions An operating system is a program that controls the execution of application programs and acts as an interface between.
A. Frank - P. Weisberg Operating Systems Evolution of Operating Systems.
What do operating systems do? manage processes manage memory and computer resources provide security features execute user programs make solving user.
CS364 CH08 Operating System Support TECH Computer Science Operating System Overview Scheduling Memory Management Pentium II and PowerPC Memory Management.
Layers and Views of a Computer System Operating System Services Program creation Program execution Access to I/O devices Controlled access to files System.
Chapter 2 Operating System Overview Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
Chapter 2 Operating System Overview Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
Objectives To provide a grand tour of the major operating systems components To provide coverage of basic computer system organization.
Operating System Overview
Operating System A program that controls the execution of application programs An interface between applications and hardware 1.
Operating System Overview Dr. Sunny Jeong & Mr. M.H. Park Operating Systems: Internals and Design Principles, 6/E William Stallings.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 2: System Structures.
Operating Systems.  Operating System Support Operating System Support  OS As User/Computer Interface OS As User/Computer Interface  OS As Resource.
CHAPTER 2 OPERATING SYSTEM OVERVIEW 1. Operating System Operating System Definition A program that controls the execution of application programs and.
Chapter 2 Operating System Overview Dave Bremer Otago Polytechnic, N.Z. ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William.
Chapter 2 Operating System Overview Operating Systems: Internals and Design Principles, 6/E William Stallings.
Introduction and Overview Questions answered in this lecture: What is an operating system? How have operating systems evolved? Why study operating systems?
Operating Systems.
Operating system Structure and Operation by Dr. Amin Danial Asham.
Composition and Evolution of Operating Systems Introduction to Operating Systems: Module 2.
Fall 2000M.B. Ibáñez Lecture 01 Introduction What is an Operating System? The Evolution of Operating Systems Course Outline.
Chapter 5 Operating System Support. Outline Operating system - Objective and function - types of OS Scheduling - Long term scheduling - Medium term scheduling.
Recall: Three I/O Methods Synchronous: Wait for I/O operation to complete. Asynchronous: Post I/O request and switch to other work. DMA (Direct Memory.
Operating System 2 Overview. OPERATING SYSTEM OBJECTIVES AND FUNCTIONS.
1 Operating System Overview Chapter 2. 2 Operating System A program that controls the execution of application programs An interface between applications.
Operating System Principles And Multitasking
Operating System Structure A key concept of operating systems is multiprogramming. –Goal of multiprogramming is to efficiently utilize all of the computing.
Chapter 2 Operating System Overview Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
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.
1 Computer Systems II Introduction to Processes. 2 First Two Major Computer System Evolution Steps Led to the idea of multiprogramming (multiple concurrent.
Chapter 11: Operating System Support Dr Mohamed Menacer Taibah University
CIS250 OPERATING SYSTEMS Chapter One Introduction.
CS 345 Computer System Overview
Faculty of Sciences and Social Sciences HOPE Chapter 2 Operating System Overview Stewart Blakeway FML
1 Operating System Overview Chapter 2. 2 Operating System A program that controls the execution of application programs An interface between applications.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Operating Systems Overview: Using Hardware.
Copyright Prentice Hall, Inc. 1 Operating System Overview.
Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Silberschatz, Galvin and Gagne ©2007 Chapter 0: Historical Overview.
Chapter 2 Operating System Overview Dave Bremer Otago Polytechnic, N.Z. ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William.
1.1 Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9 th Edition Chapter 1: Introduction What Operating Systems Do √ Computer-System Organization.
Principles of Operating Systems Abhishek Dubey Daniel Balasubramanian Fall 2014 Slides Based On Power points and book material from William Stallings.
OPERATING SYSTEM CONCEPT AND PRACTISE
Operating Systems Lecture 2.
Lecture 1: Operating System Services
Evolution of Operating Systems
Chapter 1: Introduction
William Stallings Computer Organization and Architecture
Chapter 3: Operating System Overview
Introduction to Operating System (OS)
Chapter 1: Introduction
Chapter 1: Introduction
Operating Systems.
Operating Systems Lecture 2.
Architectural Support for OS
Architectural Support for OS
Chapter 2 Operating System Overview
Operating System Overview
Chapter 2 Operating System Overview
Presentation transcript:

Operating System Overview

Operating System Objective and Function A program that controls the execution of application programs An interface between applications and hardware Main objectives of an OS: Convenience Efficiency Ability to evolve(An OS should be constructed in such a way as to permit the effective development, testing, and introduction of new system functions without interfering with service.)

The Operating System as a User/Computer Interface

Services/Functions provided by OS Program development Editors and debuggers. Program execution OS handles scheduling of numerous tasks required to execute a program Access to I/O devices Each device will have unique interface OS presents standard interface to users

Controlled access to files Accessing different media but presenting a common interface to users Provides protection in multi-access systems System access Controls access to the system and its resources Error detection and response Internal and external hardware errors Software errors Operating system cannot grant request of application Accounting A good OS will Collect usage statistics Monitor performance(response time)

The Operating System as Resource Manager (The Role of an OS) A computer is a set of resources for the movement, storage, and processing of data. The OS is responsible for managing these resources. Operating System as Software: The OS functions in the same way as an ordinary computer software It is a program that is executed by the CPU Operating system relinquishes control of the processor

THE EVOLUTION OF OPERATING SYSTEMS

THE EVOLUTION OF OPERATING SYSTEMS Serial Processing Simple Batch Systems Multiprogrammed batch systems Time Sharing Systems

Serial Processing With the earliest computers (late 1940s to the mid-1950s), the programmer interacted directly with the computer hardware; There was no OS. These computers were run from a console consisting of display lights, toggle switches, some form of input device, and a printer. Programs in machine code were loaded via the input device (e.g., a card reader). If an error halted the program, the error condition was indicated by the lights. If the program proceeded to a normal completion, the output appeared on the printer

Two main problems: Scheduling: Most installations used a hardcopy sign-up sheet to reserve computer time. A user might sign up for an hour and finish in 45 minutes; this would result in wasted computer processing time. On the other hand, the user might run into problems, not finish in the allotted time, and be forced to stop before resolving the problem. Setup time: A single program, called a job, could involve loading ,linking and saving Each steps could involve mounting or dismounting tapes or setting up card decks. If an error occurred, the user typically had to go back to the beginning of the setup sequence. Thus, a considerable amount of time was spent just in setting up the program to run

Simple batch system Early computers were extremely expensive Important to maximize processor utilization To improve utilization, the concept of a batch operating system (use of a piece of software known as the monitor)was developed With this type of OS, the user no longer has direct access to the processor. Instead, the user submits the job on cards or tape to a computer operator, who batches the jobs together sequentially and places the entire batch on an input device, for use by the monitor. Each program is constructed to branch back to the monitor when it completes processing, at which point the monitor automatically begins loading the next program.

To understand this scheme: 2 view Monitor point of view Processor point of view The monitor controls the sequence of events. Much of the monitor must always be in main memory and available for execution -> resident monitor. The rest of the monitor consists of utilities and common functions that are loaded as subroutines to the user program at the beginning of any job that requires them. The monitor reads in jobs one at a time from the input device As it is read in, the current job is placed in the user program area, and control is passed to this job. When the job is completed, it returns control to the monitor, which immediately reads in the next job. The results of each job are sent to an output device, such as a printer, for delivery to the user.

Processor point of view: At a certain point, the processor is executing instructions from the portion of main memory containing the monitor. These instructions cause the next job to be read into another portion of main memory. Once a job has been read in, the processor will encounter a branch instruction in the monitor that instructs the processor to continue execution at the start of the user program. The processor will then execute the instructions in the user program until it encounters an ending or error condition.

Job Control Language(JCL) Special type of programming language to control jobs Provides instruction to the monitor What compiler to use What data to use

The monitor, or batch operating system, is simply a computer program. It relies on the ability of the processor Certain other hardware features are also desirable Memory protection for monitor Jobs cannot overwrite or alter Timer Prevent a job from monopolizing system Privileged instructions Only executed by the monitor Eg:I/O instructions Interrupts This feature gives the OS more flexibility in relinquishing control to and regaining control from user programs.

Modes of Operation User Mode Kernel Mode Considerations of memory protection and privileged instructions lead to the concept of modes of operation. User Mode User program executes in user mode Certain areas of memory protected from user access Certain instructions may not be executed Kernel Mode Monitor executes in kernel mode Privileged instructions may be executed, all memory accessible.

Multiprogrammed Batch Systems CPU is often idle Even with automatic job sequencing. I/O devices are slow compared to processor computer spends over 96% of its time waiting for I/O devices to finish transferring data to and from the file

Uniprogramming:Processor must wait for I/O instruction to complete before preceding Multiprogramming: When one job needs to wait for I/O, the processor can switch to the other job

Multiprogramming, Or Multitasking It is the central theme of modern operating systems.

Time Sharing Systems(Multi tasking) Multiprogramming handle multiple interactive jobs Processor’s time is shared among multiple users Multiple users simultaneously access the system through terminals

Batch Multiprogramming vs Batch Multiprogramming vs. Time Sharing (Both batch processing and time sharing use multiprogramming)

Computer-System Organization

Computer-System Organization

Computer system operation: Execution(load instruction from CPU to Memory) Boot or boot up(load operating system to secondary memory to main memory ) Interrupt: interrupt normal sequencing of processor Storage devices: (Memory hierarchy) I/O interface: (I/O techniques)

Operating system structure Multiprogramming (Batch system) Timesharing (multitasking)

Operating-System Operations

Operating-System Operations Interrupt driven (hardware and software) Hardware interrupt by one of the devices Software interrupt (exception or trap): Software error (e.g., division by zero) Request for operating system service Other process problems include infinite loop, processes modifying each other or the operating system

Dual-mode operation allows OS to protect itself and other system components User mode and kernel mode Mode bit provided by hardware(0->kernel ,1->user) Provides ability to distinguish when system is running user code or kernel code Some instructions designated as privileged, only executable in kernel mode System call changes mode to kernel, return from call resets it to user Increasingly CPUs support multi-mode operations i.e. virtual machine manager (VMM) mode for guest VMs

Transition from User to Kernel Mode Timer to prevent infinite loop / process hogging resources Timer is set to interrupt the computer after some time period Keep a counter that is decremented by the physical clock. Operating system set the counter (privileged instruction) When counter zero generate an interrupt Set up before scheduling process to regain control or terminate program that exceeds allotted time