Chapter 1: Introduction

Slides:



Advertisements
Similar presentations
What is an Operating System?
Advertisements

CMSC 421: Principles of Operating Systems Section 0202 Instructor: Dipanjan Chakraborty Office: ITE 374
Chapter 1: Introduction
1/23/2004CSCI 315 Operating Systems Design1 Computer System Structures Notice: The slides for this lecture have been largely based on those accompanying.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
1 CIS450/IMSE450/ECE478 Operating Systems Winter 2003 Professor Jinhua Guo.
Introduction  What is an Operating System  What Operating Systems Do  How is it filling our life 1-1 Lecture 1.
Modified from Silberschatz, Galvin and Gagne ©2009 CS 446/646 Principles of Operating Systems Lecture 1 Chapter 1: Introduction.
Silberschatz, Galvin and Gagne  Operating System Concepts Bare Machine (early 1950s) Structure  Large machines run from console  Single user.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
1/16/2008CSCI 315 Operating Systems Design1 Introduction Notice: The slides for this lecture have been largely based on those accompanying the textbook.
1/18/2008CSCI 315 Operating Systems Design1 Computer System Structures Notice: The slides for this lecture have been largely based on those accompanying.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 1: Introduction.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Chapter 1: Introduction.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
OPERATING SYSTEMS OVERVIEW. What is an Operating System? A program that acts as an intermediary between a user of a computer and the computer hardware.
1 5/25/2016 操作系统课件 教材: 《操作系统概念(第六版 影印版)》 【原书名】 Operating System Concepts(Sixth Edition) [ 原书信息 ] Operating System Concepts(Sixth Edition) [ 原书信息 ] 【原出版社】
Introduction to Basic OS Concepts. Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems.
Thanks to Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction n What is an Operating System? n Mainframe Systems.
Chapter 1. Introduction What is an Operating System? Mainframe Systems
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:
OSes: 1. Intro 1 Operating Systems v Objectives –introduce Operating System (OS) principles Certificate Program in Software Development CSE-TC and CSIM,
 H.M.BILAL Operating System Concepts.  What is an Operating System?  Mainframe Systems  Desktop Systems  Multiprocessor Systems  Distributed Systems.
المحاضرة الاولى Operating Systems. The general objectives of this decision explain the concepts and the importance of operating systems and development.
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.
Silberschatz, Galvin and Gagne  Operating System Concepts Lectured by Dr. Lican Huang
Silberschatz and Galvin  Operating System Concepts Module 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming.
Chapter 1: Introduction
Operating System. Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered.
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.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Multiprocessor Systems Distributed.
Silberschatz and Galvin  Operating System Concepts Module 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming.
Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered System Real.
Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered System Real.
Applied Operating System Concepts
Chapter 1: Introduction
Chapter 1: Introduction
Introduction to Basic OS Concepts
Operating Systems Lecture 2.
Applied Operating System Concepts
Chapter 1: Introduction
Chapter 1: Introduction
Chapter 1: Introduction
Chapter 1: Introduction
Chapter 1: Introduction
Chapter 1: Introduction
Chapter 1: Introduction
Chapter 1: Introduction
Chapter 1: Introduction
חוברת שקפים להרצאות של ד"ר יאיר ויסמן מבוססת על אתר האינטרנט:
Operating System Concepts
Chapter 1: Introduction
Operating Systems Lecture 2.
Introduction to Operating Systems
Language Processors Application Domain – ideas concerning the behavior of a software. Execution Domain – Ideas implemented in Computer System. Semantic.
Introduction to Operating Systems
Subject Name: Operating System Concepts Subject Number:
Chapter 1: Introduction
Chapter 1: Introduction
Chapter 1: Introduction
Chapter 1: Introduction
Chapter 1: Introduction
Operating System Concepts
Chapter 1: Introduction
Presentation transcript:

Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered System Real -Time Systems Handheld Systems Feature Migration Computing Environments

What is an Operating System? No universally accepted definition A program that acts as an intermediary between a user of a computer and the computer hardware Operating system goals: Execute user programs and make solving user problems easier. Make the computer system convenient to use Use the computer hardware in an efficient manner How OS have been developed? What OS do? OS history overview

Computer System Components 1. Hardware – provides basic computing resources (CPU, memory, I/O devices) 2. Operating system – controls and coordinates the use of the hardware among the various application programs for the various users 3. Applications programs – define the ways in which the system resources are used to solve the computing problems of the users (compilers, database systems, video games, business programs) Users (people, machines, other computers) See figure in the next slide

Abstract View of System Components

Operating System Definitions Resource allocator – manages and allocates resources Control program – controls the execution of user programs and operations of I/O devices Kernel – the one program running at all times (all else being application programs) If two computer system installed same OS, they look like same to users. (even though the hardware is different) If two same computers installed different OS, they look like different to users. – users depend on OS, not H/W.

Computer Startup bootstrap program is loaded at power-up or reboot Typically stored in ROM or EPROM, generally known as firmware Initializes all aspects of system Loads operating system kernel and starts execution

Computer System Organization Computer-system operation One or more CPUs, device controllers connect through common bus providing access to shared memory Concurrent execution of CPUs and devices competing for memory cycles

Computer-System Operation I/O devices and the CPU can execute concurrently. Each device controller is in charge of a particular device type. Each device controller has a local buffer. CPU moves data from/to main memory to/from local buffers I/O is from the device to local buffer of controller. Device controller informs CPU that it has finished its operation by causing an interrupt.

Common Functions of Interrupts Interrupt transfers control to the interrupt service routine generally, through the interrupt vector, which contains the addresses of all the service routines. Interrupt architecture must save the address of the interrupted instruction. Incoming interrupts are disabled while another interrupt is being processed to prevent a lost interrupt. A trap is a software-generated interrupt caused either by an error or a user request. An operating system is interrupt driven.

Interrupt Handling polling vectored interrupt system The operating system preserves the state of the CPU by storing registers and the program counter. Determines which type of interrupt has occurred: polling vectored interrupt system Separate segments of code determine what action should be taken for each type of interrupt

Interrupt Timeline

Direct Memory Access Structure Used for high-speed I/O devices able to transmit information at close to memory speeds. Device controller transfers blocks of data from buffer storage directly to main memory without CPU intervention. Only one interrupt is generated per block, rather than the one interrupt per byte. Cycle stealing: DMA has higher priority to access bus than CPU. CPU Mem IO device

Mainframe Systems (computer history) Programmer hand in card deck to computer operator. Operator setup the resource before program run. Manual setup between jobs is time consuming. Reduce setup time by batching similar jobs Automatic job sequencing – automatically transfers control from one job to another. First rudimentary operating system Resident monitor initial control in monitor control transfers to job, then run the job. when job completes control transfers back to monitor

Main frame computer console 항온항습기 1. 전산실에 작업용 카드텍을 전달(전산실 창문) – 2. 오퍼레이터가 작업순서에 따라 카드리더에 올려놓아 처리 – 3. 실행 결과물 (프린트+카드덱) 반환 (전산실 창문)

Memory Layout for a Simple Batch System

Multiprogrammed Batch Systems - Several jobs are kept in main memory at the same time, and the CPU is multiplexed among them. If the running job waits for I/O, the CPU is switched to another job. (CPU is never idle)

OS Features Needed for Multiprogramming I/O routine supplied by the system (not by programmer) Memory management – the system must allocate the memory to several jobs (memory allocation) CPU scheduling – the system must choose among several jobs ready to run. Allocation of devices: some devices can’t be shared. OS can allocate a device(for ex, Magnetic Tape drive) to a user. Those functions are included in OS.

Main frame computer console 항온항습기 ………. 70년대 온라인 터미널 사용 시작

Time-Sharing Systems–Interactive Computing The CPU is multiplexed among several jobs that are kept in memory and on disk (the CPU is allocated to a job only if the job is in memory) This system allows many users to share the computer simultaneously. Each user command usually requires little CPU time. A job swapped in and out of memory to the disk On-line communication between the user and the system is provided When the operating system finishes the execution of one command, it seeks the next “control statement” from the user’s keyboard On-line system must be available for users to access data and code

Time Sharing System Example 1960-80 dummy terminal

Desktop(책상 위) Systems Personal computers (late 1970) – computer system dedicated to a single user I/O devices – keyboards, mice, display screens, small printers Main goal: User convenience and responsiveness Can adopt technology developed for larger operating system (with cheaper hardware cost) Often individuals have sole use of computer and do not need advanced CPU utilization of protection features May run several different types of operating systems (Windows, MacOS, UNIX, Linux)

Parallel Systems Systems with more than one CPU in close communication Also known as multiprocessor systems Tightly coupled system – processors share memory and a clock; communication usually takes place through the shared memory Advantages of parallel system: Increased throughput Economical (a CPU share resources such as PRT, M-board…) Increased reliability (in some cases) graceful degradation (fault tolerant system) fail-soft systems

Parallel Systems (Cont.) Asymmetric multiprocessing Each processor is assigned a specific task; master processor schedules and allocated work to slave processors More common in extremely large systems Symmetric multiprocessing (SMP) Each processor runs and identical copy of the operating system Many processes can run at once without performance deterioration Most modern operating systems(Solaris, Win 2000, Linux) support SMP

Symmetric Multiprocessing Architecture

Distributed Systems Distribute the computation among several physical processors Loosely coupled system – each processor has its own local memory; processors communicate with one another through various communications lines, such as high-speed buses or telephone lines Advantages of distributed systems Resources Sharing Computation speed up – load sharing Reliability Communications

Distributed Systems (cont) Requires networking infrastructure Local area networks (LAN) or Wide area networks (WAN) May be either client-server or peer-to-peer systems peer-to-peer networking = pruna, donkey

General Structure of Client-Server Print Server, File Server, DB Server, Computing Server ….

Peer-to-Peer Computing Another model of distributed system P2P does not distinguish clients and servers Instead all nodes are considered peers May each act as client, server or both Node must join P2P network Registers its service with central lookup service on network, or Broadcast request for service and respond to requests for service via discovery protocol Examples include Napster

Clustered Systems The definition of ‘clustered’ is not concrete. Have multiple CPUs but different from parallel systems Composed of two or more individual systems coupled together Clustering allows two or more systems to share storage Closely linked via LAN networking Provides high reliability, high speed & large storage. Asymmetric clustering: one server runs the application or applications while other servers standby Symmetric clustering: all N hosts are running the application or applications

Real-Time Systems Often used as a control device in a dedicated application such as controlling scientific experiments, medical imaging systems, industrial control systems, and some display systems --- c.f. Embedded systems. Ex) automobile-engine fuel-injection system, industrial control system, missile control system. Well-defined fixed-time constraints: processing must be done within the defined constrains. Real-Time systems may be either hard or soft real-time

Real-Time Systems (Cont.) Hard real-time: Secondary storage limited or absent, data stored in short term memory, or read-only memory (ROM) Conflicts with time-sharing systems, not supported by general-purpose operating systems Soft real-time Limited utility in industrial control of robotics Integrate-able with time-share systems Useful in applications (multimedia, virtual reality) requiring tight response times

Handheld Systems Personal Digital Assistants (PDAs, iPod, iPhone) Cellular telephones Issues: Limited memory Slow processors Small display screens

Computing Environments Traditional computing PCs, Servers, limited remote access Web-Based Computing Client-server and web services, convenient remote access, location-less servers Embedded Computing Some system include CPU & Memory (auto engine controllers, microwaves) Very limited operating system features Little or no user interface, remote access