Computer System Overview

Similar documents
Operating System. Operating System Overview. Layers of Computer System. Operating System Objectives. Services Provided by the Operating System

Operating System Overview. Operating System

Computer System Overview. Chapter 1

Operating System Overview. Chapter 2

Computer System Overview

Computer System Overview

Operating System Overview. Chapter 2

Computer System Overview OPERATING SYSTEM TOP-LEVEL COMPONENTS. Simplified view: Operating Systems. Slide 1. Slide /S2. Slide 2.

Operating Systems Overview. Chapter 2

Operating System. Operating System Overview. Structure of a Computer System. Structure of a Computer System. Structure of a Computer System

Operating Systems CS 571

CS450/550 Operating Systems

Chapter 1 Computer System Overview

Operating Systems Overview. Chapter 2

Operating Systems : Overview

Computer Systems Overview

Operating Systems: Internals and Design Principles. Chapter 2 Operating System Overview Seventh Edition By William Stallings

Introduction. CS3026 Operating Systems Lecture 01

Misc. Third Generation Batch Multiprogramming. Fourth Generation Time Sharing. Last Time Evolution of OSs

Operating System. Operating Systems Structure Chapter 2. Services Provided by the OS. Evolution of an Operating System

Introduction to Operating Systems. Chapter Chapter

Introduction to Operating. Chapter Chapter

Introduction to Operating Systems. Chapter Chapter

Announcement. Exercise #2 will be out today. Due date is next Monday

Chapter 2 Operating System Overview

Operating Systems: Internals and Design Principles, 7/E William Stallings. Chapter 1 Computer System Overview

Q.1 Explain Computer s Basic Elements

Principles of Operating Systems CS 446/646

B.H.GARDI COLLEGE OF MASTER OF COMPUTER APPLICATION

Chapter 1 Computer System Overview

Operating Systems: Overview and Introduction

GUJARAT TECHNOLOGICAL UNIVERSITY MASTER OF COMPUTER APPLICATION SEMESTER: III

Lecture 1 Introduction (Chapter 1 of Textbook)

What is an Operating System? A Whirlwind Tour of Operating Systems. How did OS evolve? How did OS evolve?

CSC 553 Operating Systems

Main Points of the Computer Organization and System Software Module

Introduction to Operating Systems

I/O Management and Disk Scheduling. Chapter 11

System Call. Preview. System Call. System Call. System Call 9/7/2018

EECS 3221 Operating System Fundamentals

EECS 3221 Operating System Fundamentals

SRI VENKATESWARA COLLEGE OF ENGINEERING PENNALUR, SRIPERUMBUDUR TK

Major Requirements of an OS

Part I Overview Chapter 1: Introduction

Role 1: The Operating System is an Abstract Machine. Learning Outcomes. Introduction to Operating Systems. What is an Operating System?

Chapter 1: Introduction

To provide a grand tour of the major operating systems components To provide coverage of basic computer system organization

Operating Systems ( )

Process Description and Control

Chapter 8. Operating System Support. Yonsei University

Operating System: an Overview. Lucia Dwi Krisnawati, MA

Process Description and Control. Chapter 3

Operating Systems Overview

Introduction to Operating Systems

Computer-System Architecture (cont.) Symmetrically Constructed Clusters (cont.) Advantages: 1. Greater computational power by running applications

Chapter 1: Introduction

W4118 Operating Systems. Junfeng Yang

Operating Systems ( )

CS 471 Operating Systems. Yue Cheng. George Mason University Fall 2017

Introduction to OS. Introduction MOS Mahmoud El-Gayyar. Mahmoud El-Gayyar / Introduction to OS 1

Operating System Support

7/20/2008. What Operating Systems Do Computer-System Organization

Operating Systems ( )

1 PROCESSES PROCESS CONCEPT The Process Process State Process Control Block 5

Operating Systems. Introduction & Overview. Outline for today s lecture. Administrivia. ITS 225: Operating Systems. Lecture 1

Operating Systems ( )

Introduction and Overview

OS - Introduction Ezio Bartocci Institute for Computer Engineering

Operating System Support

Processes and Threads. Processes and Threads. Processes (2) Processes (1)

OPERATING SYSTEM SUPPORT (Part 1)

CSc33200: Operating Systems, CS-CCNY, Fall 2003 Jinzhong Niu December 10, Review

Last class: Today: Course administration OS definition, some history. Background on Computer Architecture

Lecture 5: Process Description and Control Multithreading Basics in Interprocess communication Introduction to multiprocessors

B. V. Patel Institute of Business Management, Computer &Information Technology, UTU

OPERATING SYSTEMS: Lesson 1: Introduction to Operating Systems

Chapter 1: Introduction. Operating System Concepts 9 th Edit9on

Chapter 3 Process Description and Control

UNIT 2. OPERATING SYSTEM STRUCTURES

HY225 Lecture 12: DRAM and Virtual Memory

OS and Computer Architecture. Chapter 3: Operating-System Structures. Common System Components. Process Management

QUESTION BANK UNIT I

CSC 453 Operating Systems

Chapter 3: Operating-System Structures

Chapter 8 Virtual Memory

Processes. Process Scheduling, Process Synchronization, and Deadlock will be discussed further in Chapters 5, 6, and 7, respectively.

CS370 Operating Systems

Chapter 1: Introduction

Unit 2 : Computer and Operating System Structure

Last class: OS and Architecture. OS and Computer Architecture

Last class: OS and Architecture. Chapter 3: Operating-System Structures. OS and Computer Architecture. Common System Components

OPERATING SYSTEMS. After A.S.Tanenbaum, Modern Operating Systems, 3rd edition. Uses content with permission from Assoc. Prof. Florin Fortis, PhD

Lecture 2 - Fundamental Concepts

Operating Systems (ECS 150) Spring 2011

CMPS 111: Introduction to Operating Systems

OPERATING SYSTEMS UNIT - 1

a process may be swapped in and out of main memory such that it occupies different regions

Chapter 1 Introduction

Reserves time on a paper sign-up sheet. Programmer runs his own program. Relays or vacuum tube hardware. Plug board or punch card input.

Introduction to Computer Systems and Operating Systems

Transcription:

Computer System Overview

Introduction A computer system consists of hardware system programs application programs 2

Operating System Provides a set of services to system users (collection of service programs) Shield between the user and the hardware Resource manager: CPU(s) memory and I/O devices 3

Computer system overview: starting from 0 Basic functionality of a computer system: Instruction Cycle 4

A closer-to-reality-view of todays processors (a) A three-stage pipeline (b) A superscalar CPU (c to appear) Multicore CPUs 5

Basic Elements of a Computer System Processor + registers Main Memory ( real or primary memory) volatile I/O modules secondary memory devices communications equipment terminals System bus communication among processors, memory, and I/O modules 6

Registers: 1. User-Visible May be referenced by machine lang. By both application and system programs Enable programmer to minimize mainmemory references by optimizing register use Types of user-visible registers Data Address Index: for indexed addressing, offset Stack pointer: for procedure calling 7

Registers: 2. Control and Status Used by processor to control execution operating-system to control the execution of programs Basic C&S registers: Program Counter (PC) Contains the address of an instruction to be fetched Instruction Register (IR) Contains the instruction most recently fetched Program Status Word (PSW) condition codes (positive/negative/ zero result, overflow, ) Interrupt enable/disable Supervisor/user mode 8

Instruction Cycle revisit Processor fetches instruction from memory Program counter (PC) holds address of instruction to be fetched next; PC is incremented after each fetch Fetched instruction is placed in the instruction register Types of instructions Processor-memory Processor-I/O Data processing Control: alter sequence of execution 9

Is that enough for... Monitor Bus Components of a simple personal computer 10

Interrupts! An interruption of the normal sequence of execution! Why? Something went wrong (div. by 0, reference outside user s memory space, hardware failure, ) Timer I/O and then? Interrupt handler takes control: a program that determines the nature of the interrupt and performs whatever actions are needed generally part of the operating system 11

Interrupt Cycle Processor checks for interrupts If no interrupts fetch the next instruction for the current program If an interrupt is pending, suspend execution of the current program, and execute the interrupt handler 12

Control flow with interrupts 13

What happens (a) (b) (a) Steps in starting an I/O device and getting interrupt (b) How the CPU is interrupted 14

Interrupts as support for I/O Note: Interrupts allow the processor to execute other instructions while an I/O operation is in progress Improve processing efficiency 15

Interrupt-Driven I/O Processor is interrupted when I/O module ready to exchange data Processor is free to do other work No needless waiting BUT: Still consumes a lot of processor time because every word read or written passes through the processor How about using DMA 16

I/O using Direct Memory Access (DMA) The processor is only involved at the beginning and end of the transfer Processor grants I/O (DMA) module authority to read from or write to memory a block of data An interrupt is sent when the task is complete Processor is free to do other things 17

Multiple Interrupts Q: To interrupt an interrupt? 1. Sequential Order: after interrupt handler completes, processor checks for additional interrupts 2. Priorities: High priority interrupts: cause lower-priority interrupts to wait cause a lower-priority interrupt handler to be interrupted Example: when input arrives from communication line, it needs to be absorbed quickly to make room for more input 18

Computer Hardware Review (7) Structure of a large Pentium system 19

Cache Memory Increase the speed of memory Processor speed is higher than memory speed Hit: the information was in cache; else, miss Invisible to operating system 20

Cache Design: Important issues 1. Cache size 2. Block size 3. Mapping function determines which cache location the block will occupy 4. Replacement algorithm determines which block to replace (e.g. Least-Recently-Used (LRU) algorithm) 5. Write policy Can occur every time block is updated Can occur only when block is replaced Minimizes memory operations Leaves memory in an obsolete state 21

Memory Hierarchy Going Down the Hierarchy Increasing capacity, Increasing access time Decreasing cost per bit, Decreasing frequency of access of the memory locality of reference: during program execution memory addresses tend to cluster (iteration loops, subroutines, ) 22

Operating System Overview

Layers of Computer System 24

Operating System OS objectives Provides a set of services to system users Shield between the user and the hardware Resource manager: CPU(s) memory and I/O devices Convenience Makes the computer more convenient to use Efficiency Allows computer system resources to be used in an efficient manner Ability to evolve Permit introduction of new system functions without interfering with service 25

Services Provided by the Operating System Program execution: CPU scheduling, resource (memory) allocation and management, synchronization Access to I/O devices Uniform interfaces, hide details, optimise resources (disk scheduling) Controlled access to files And structure of data System/resource access Authorization, protection, allocation Utilities, e.g. for program development Editors, compilers, debuggers Error detection and response, when, e.g. hardware, software errors operating system cannot grant request of application Monitoring, accounting 26

Operating System: (roughly) it is a program relinquishes control of the processor to execute other programs OS Kernel: (roughly) portion of OS that is in main memory Contains mostfrequently used functions 27

Some history: Evolution of Operating Systems Hardware upgrades, new types of hardware, enabled features New services, new needs 28

Serial Processing No operating system OS history: before the stone age Machines run from a console with display lights and toggle switches, input device, and printer Schedule tome Setup included loading the compiler, source program, saving compiled program loading linking 29

OS history: first tools appear Simple Batch Systems: Monitors Software that controls the running programs Batch jobs together Program branches back to monitor when finished Resident monitor is in main memory and available for execution Job Control Language (JCL) Provides instruction to the monitor what compiler to use what data to use 30

OS history: Hardware Features which made the first tools possible: Memory protection do not allow the memory area containing the monitor to be altered Priviledged instructions Only for monitor, e.g. for interface with I/O devices Interrupts Mechanisms for the OS to relinquish control and regain it Timer prevents a job from monopolizing the system 31

OS history: Uni/multi-programming from uniprogramming. Processor must wait for I/O instruction to complete before proceeding to Multiprogramming When one job needs to wait for I/O, the processor can switch to the other job 32

Early batch system bring cards to 1401 read cards to tape put tape on 7094 which does computing put tape on 1401 which prints output 33

OS history: Multiprogramming, Time Sharing Time sharing systems use multiprogramming to handle multiple interactive jobs Processor s time is shared among multiple users Multiple users simultaneously access the system through terminals Batch Multiprogramming Time Sharing Principal objective Maximize processor use Minimize response time Source of directives to operating system Job control language commands provided with the job Commands entered at the terminal 34

memory management! OS history: multiprogramming needs 35

Summary: evolution First generation 1945-1955 vacuum tubes, plug boards Second generation 1955-1965 transistors, batch systems Third generation 1965 1980 ICs and multiprogramming Fourth generation 1980 present personal computers More contemporary present: Personal computers become parallel 36

Zooming in a few key services The main job of OS is to: run processes!... 37

Process:the concept Process = a program in execution Example processes: OS kernel OS shell Program executing after compilation www-browser 38

Process: Implementation Consists of three components An executable program Associated data needed by the program Execution context of the program All information the operating system needs to manage the process Execution context of the program 39

Processes create other processes A process tree A (e.g. shell) created two child processes, B (e.g. browser) and C (print) B created three child processes, D, E, and F (various browser services/windows) 40

Procs need: synchronization,... Two processes connected by a pipe 41

, to get CPU time and other resources, Goals when allocating resources to processes: Fairness and Differential responsiveness give fair access to all processes discriminate between different classes of jobs Efficiency maximize throughput, minimize response time, and accommodate as many users as possible 42

... to get resources without deadlock,... (a) A potential deadlock. (b) an actual deadlock. 43

..., to do IO, access files,... Important issues: - Organization of information - Efficient access 44

Memory Management Important issues: Process isolation, to get memory Prevent interference between different processes Protection and access control when sharing memory Allocation Create, destroy modules dynamically Support for modular programming Efficiency, good utilization 45

Virtual Memory Allows programmers to address memory from a logical point of view (without worrying about the physical availability) Transfer memory disk: transparent to the processes 46

Major Elements of an Operating System OS = very large piece of sortware! Components: decompose a problem into more manageable subproblems (process manager, file manager, etc) Bootstrap program activates OS kernel (permanent system process) Shell ( kernel): program to let the user initiate processes User or system programs make direct use of the OS via system calls 47

Steps in Making a System Call steps in making the system call read (fd, buffer, nbytes) 48

Some System Calls 49

A stripped down shell while (TRUE) { /* repeat forever */ type_prompt( ); /* display prompt */ read_command (command, parameters) /* input from terminal */ if (fork()!= 0) { /* fork off child process */ /* Parent code */ waitpid( -1, &status, 0); /* wait for child to exit */ } else { /* Child code */ execve (command, parameters, 0); /* execute command */ } } 50

51

Issues in Modern Operating Systems Microkernel architecture Only few essential functions in kernel; OO design Multithreading A process may consist of several sequential threads of execution Concurrent computer systems Symmetric multi-processor systems Multi-threaded/multicore processors Distributed systems provide the illusion of a single main memory and single secondary memory space in cluster-based platforms Real-time Operating Systems For time-critical applications, multimedia, Embedded Operating Systems Constraints: limited resources, special functionalities 52

Microkernel Small OS core; contains only essential OS functions: Low-level memory management (address space mapping) Process scheduling I/O and interrupt management Many services traditionally included in the OS kernel are now external subsystems device drivers, file systems, virtual memory manager, windowing system, security services 53

Benefits of a Microkernel Organization Uniform interface on request made by a process All services are provided by means of message passing Distributed system support Message are sent without knowing what the target machine is Extensibility Allows the addition/removal of services and features Portability Changes needed to port the system to a new processor is changed in the microkernel - not in the other services Object-oriented operating system Components are objects with clearly defined interfaces that can be interconnected Reliability Modular design; Small microkernel can be rigorously tested 54

Concurrent Computer Systems each instruction executed on a different set of data by the different processors a set of processors simultaneously execute different instruction sequences on different data sets 55

Symmetric Multiprocessors (and multicores) Processors share the same memory and I/Os Kernel can execute on any processor Scheduling & synchronization, memory management & consistency (also research issues) 56

Cluster Computer Platforms Network Middleware layer (part of OS) to provide single-system image (synchronization, consistency, global states, file systems) fault-tolerance, load balancing, parallelism 57

Instantiation: UNIX Hardware is surrounded by the operating-system Operating system is called the kernel Modern unix versions (solaris) more complex Comes with a number of user services and interfaces Shell, compilers, 58

Instantiation: Windows Client/Server computing; base for distributed computing Modified microkernel architecture not a pure microkernel: many system functions outside of the microkernel run in kernel mode modules can be removed, upgraded, or replaced without rewriting the entire system 59