CSC 553 Operating Systems

Similar documents
Chapter 1 Computer System Overview

Chapter 1 Computer System Overview

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

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

Chapter 1 Computer System Overview

Q.1 Explain Computer s Basic Elements

B.H.GARDI COLLEGE OF MASTER OF COMPUTER APPLICATION

GUJARAT TECHNOLOGICAL UNIVERSITY MASTER OF COMPUTER APPLICATION SEMESTER: III

Chapter 1 Computer System Overview

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

Computer System Overview. Chapter 1

Computer System Overview

Part One provides a background and context for the remainder of this book.

Computer System Overview

(Advanced) Computer Organization & Architechture. Prof. Dr. Hasan Hüseyin BALIK (4 th Week)

WEEK 7. Chapter 4. Cache Memory Pearson Education, Inc., Hoboken, NJ. All rights reserved.

William Stallings Computer Organization and Architecture 10 th Edition Pearson Education, Inc., Hoboken, NJ. All rights reserved.

Today: Computer System Overview (Stallings, chapter ) Next: Operating System Overview (Stallings, chapter ,

Running Applications

MICROPROCESSOR MEMORY ORGANIZATION

Computer Systems Overview

Operating system Dr. Shroouq J.

Eastern Mediterranean University School of Computing and Technology CACHE MEMORY. Computer memory is organized into a hierarchy.

UNIT I OPERATING SYSTEMS OVERVIEW

Memory Organization MEMORY ORGANIZATION. Memory Hierarchy. Main Memory. Auxiliary Memory. Associative Memory. Cache Memory.

CS370 Operating Systems

Computer Organization

SRI VENKATESWARA COLLEGE OF ENGINEERING PENNALUR, SRIPERUMBUDUR TK

Computer Organization and Assembly Language (CS-506)

Memory Pearson Education, Inc., Hoboken, NJ. All rights reserved.

A Review of Chapter 5 and. CSc 2010 Spring 2012 Instructor: Qian Hu

CSCI-375 Operating Systems

5 Computer Organization

Computer System Overview

(Advanced) Computer Organization & Architechture. Prof. Dr. Hasan Hüseyin BALIK (3 rd Week)

Lecture 1 Introduction (Chapter 1 of Textbook)

OPERATING SYSTEMS. Goals of the Course. This lecture will cover: This Lecture will also cover:

Computer Architecture and Organization (CS-507)

COA. Prepared By: Dhaval R. Patel Page 1. Q.1 Define MBR.

Cache memory. Lecture 4. Principles, structure, mapping

Computer Organization ECE514. Chapter 5 Input/Output (9hrs)

Computer Organization

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

CS370 Operating Systems

Pharmacy college.. Assist.Prof. Dr. Abdullah A. Abdullah

Control unit. Input/output devices provide a means for us to make use of a computer system. Computer System. Computer.

William Stallings Computer Organization and Architecture 10 th Edition Pearson Education, Inc., Hoboken, NJ. All rights reserved.

5 Computer Organization

Computer-System Organization (cont.)

Summary of Computer Architecture

Chapter 4. Cache Memory. Yonsei University

Lecture 2: Memory Systems

Module 2: Computer-System Structures. Computer-System Architecture

Chapter 5: Computer Systems Organization. Invitation to Computer Science, C++ Version, Third Edition

Chapter 5: Computer Systems Organization

Instruction Register. Instruction Decoder. Control Unit (Combinational Circuit) Control Signals (These signals go to register) The bus and the ALU

Part I Overview Chapter 1: Introduction

What Operating Systems Do An operating system is a program hardware that manages the computer provides a basis for application programs acts as an int

Chapter One. Introduction to Computer System

CSC 2405: Computer Systems II

k -bit address bus n-bit data bus Control lines ( R W, MFC, etc.)

OPERATING SYSTEM. PREPARED BY : DHAVAL R. PATEL Page 1. Q.1 Explain Memory

2 MARKS Q&A 1 KNREDDY UNIT-I

Operating System Review

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

I/O Management and Disk Scheduling. Chapter 11

UNIT 1. INTRODUCTION: COMPUTER & OPERATING SYSTEMS

UNIT-V MEMORY ORGANIZATION

Overview IN this chapter we will study. William Stallings Computer Organization and Architecture 6th Edition

COMPUTER ORGANISATION CHAPTER 1 BASIC STRUCTURE OF COMPUTERS

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

Chapter 12. CPU Structure and Function. Yonsei University

SAE5C Computer Organization and Architecture. Unit : I - V

CSE 410. Operating Systems

ECE331: Hardware Organization and Design

Chapter 1: Introduction. Operating System Concepts 9 th Edit9on

MEMORY. Objectives. L10 Memory

Eastern Mediterranean University School of Computing and Technology INPUT / OUTPUT

Operating System: an Overview. Lucia Dwi Krisnawati, MA

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

Unit 2 : Computer and Operating System Structure

Memory. Objectives. Introduction. 6.2 Types of Memory

Overview of Syllabus and Class Policies. Chapter 0

Chapter 3. Top Level View of Computer Function and Interconnection. Yonsei University

Chapter 1: Introduction. Operating System Concepts 8th Edition,

Characteristics. Microprocessor Design & Organisation HCA2102. Unit of Transfer. Location. Memory Hierarchy Diagram

Memory hierarchy and cache

OS And Hardware. Computer Hardware Review PROCESSORS. CPU Registers. CPU Registers 02/04/2013

Computer System Architecture. CMPT 300 Operating Systems I. Summer Segment 3: Computer System Architecture. Melissa O Neill

Computer & Microprocessor Architecture HCA103

Chapter 3 - Top Level View of Computer Function

UNIT 4 Device Management

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

William Stallings Computer Organization and Architecture. Chapter 11 CPU Structure and Function

Chapter 4 Main Memory

Chapter 5 12/2/2013. Objectives. Computer Systems Organization. Objectives. Objectives (continued) Introduction. INVITATION TO Computer Science 1

Lecture 9: MIMD Architectures

Top-Level View of Computer Organization

The functionality. Managing more than Operating

Operating Systems. Lecture Course in Autumn Term 2015 University of Birmingham. Eike Ritter. September 22, 2015

Transcription:

CSC 553 Operating Systems Lecture 1- Computer System Overview Operating System Exploits the hardware resources of one or more processors Provides a set of services to system users Manages secondary memory and I/O devices

Basic Elements Processor I/O Modules Main Memory System Bus Processor Controls the operation of the computer Performs the data processing functions Referred to as the Central Processing Unit (CPU)

Main Memory Stores data and programs Typically volatile Contents of the memory is lost when the computer is shut down Referred to as real memory or primary memory I/O Modules Move data between the computer and its external environment Secondary memory devices (e.g. disks) Communications equipment Terminals

System Bus Provides for communication among processors, main memory, and I/O modules PC CPU MAR System Bus Main Memory Instruction 0 1 2 Instruction IR MBR Instruction Execution unit I/O AR I/O BR Data Data Data Data I/O Module n - 2 n - 1 Buffers PC = Program counter IR = Instruction register MAR = Memory address register MBR = Memory buffer register I/O AR = Input/output address register I/O BR = Input/output buffer register Figure 1.1 Computer Components: Top-Level View

Microprocessor Invention that brought about desktop and handheld computing Contains a processor on a single chip Fastest general purpose processors Multiprocessors Each chip (socket) contains multiple processors (cores) Graphical Processing Units (GPU s) Provide efficient computation on arrays of data using Single-Instruction Multiple Data (SIMD) techniques pioneered in supercomputers No longer used just for rendering advanced graphics Also used for general numerical processing» Physics simulations for games» Computations on large spreadsheets

Digital Signal Processors (DSPs) Deal with streaming signals such as audio or video Used to be embedded in I/O devices like modems Are now becoming first-class computational devices, especially in handhelds Encoding/decoding speech and video (codecs) Provide support for encryption and security System on a Chip (SoC) To satisfy the requirements of handheld devices, the classic microprocessor is giving way to the SoC Other components of the system, such as DSPs, GPUs, I/O devices (such as codecs and radios) and main memory, in addition to the CPUs and caches, are on the same chip

Instruction Execution A program consists of a set of instructions stored in memory Processor reads (fetches) instructions from memory Processor executes each instruction Two steps Fetch Stage Execute Stage START Fetch Next Instruction Execute Instruction HALT Figure 1.2 Basic Instruction Cycle

The processor fetches an instruction from memory Typically the program counter (PC) holds the address of the next instruction to be fetched PC is incremented after each fetch Instruction Register (IR) Fetched instruction is loaded into Instruction Register (IR) Processor interprets the instruction and performs required action: Processor-memory Processor-I/O Data processing Control

Memory 300 1 9 4 0 301 5 9 4 1 302 2 9 4 1 940 0 0 0 3 941 0 0 0 2 Step 1 Memory 300 1 9 4 0 301 5 9 4 1 302 2 9 4 1 940 0 0 0 3 941 0 0 0 2 Step 3 Memory 300 1 9 4 0 301 5 9 4 1 302 2 9 4 1 940 0 0 0 3 941 0 0 0 2 Step 5 Fetch Stage CPU Registers Memory 3 0 0 PC 300 1 9 4 0 AC 301 5 9 4 1 1 9 4 0 IR 302 2 9 4 1 940 0 0 0 3 941 0 0 0 2 Step 2 CPU Registers Memory 3 0 1 PC 300 1 9 4 0 0 0 0 3 AC 301 5 9 4 1 5 9 4 1 IR 302 2 9 4 1 940 0 0 0 3 941 0 0 0 2 Step 4 CPU Registers Memory 3 0 2 PC 300 1 9 4 0 0 0 0 5 AC 301 5 9 4 1 2 9 4 1 IR 302 2 9 4 1 940 0 0 0 3 941 0 0 0 5 Step 6 Execute Stage CPU Registers 3 0 1 PC 0 0 0 3 AC 1 9 4 0 IR CPU Registers 3 0 2 PC 0 0 0 5 AC 5 9 4 1 IR 3 + 2 = 5 CPU Registers 3 0 3 PC 0 0 0 5 AC 2 9 4 1 IR Figure 1.4 Example of Program Execution (contents of memory and registers in hexadecimal)

Interrupts Mechanism by which other modules may interrupt the normal sequencing of the processor Provided to improve processor utilization Most I/O devices are slower than the processor Processor must pause to wait for device Wasteful use of the processor

Flow of Control Without Interrupts User Program 1 WRITE 2 WRITE 3 I/O Program 4 I/O Command 5 END WRITE (a) No interrupts User Program 1 WRITE I/O Program 4 I/O Command 2a Short I/O Wait 2b WRITE 3a Interrupt Handler 5 END 3b WRITE (b) Interrupts; short I/O wait

User Program I/O Program 1 4 WRITE I/O Command Long I/O Wait 2 Interrupt Handler WRITE 5 END 3 WRITE (c) Interrupts; long I/O wait User Program Interrupt Handler 1 2 Interrupt occurs here i i + 1 M Figure 1.6 Transfer of Control via Interrupts

Fetch Stage Execute Stage Interrupt Stage START Fetch next instruction Execute instruction Interrupts Disabled Interrupts Enabled Check for interrupt; initiate interrupt handler HALT Figure 1.7 Instruction Cycle with Interrupts Time 1 1 4 I/O operation; processor waits 5 5 4 2a I/O operation concurrent with processor executing 2 2b 4 4 I/O operation; processor waits 3a 5 I/O operation concurrent with processor executing 5 3b 3 (b) With interrupts (a) Without interrupts Figure 1.8 Program Timing: Short I/O Wait

Time 1 4 1 4 5 I/O operation; processor waits 2 I/O operation concurrent with processor executing; then processor waits 2 5 4 4 I/O operation; processor waits 3 I/O operation concurrent with processor executing; then processor waits 5 5 3 (b) With interrupts (a) Without interrupts Figure 1.9 Program Timing: Long I/O Wait Hardware Software Device controller or other system hardware issues an interrupt Processor finishes execution of current instruction Processor signals acknowledgment of interrupt Processor pushes PSW and PC onto control stack Processor loads new PC value based on interrupt Save remainder of process state information Process interrupt Restore process state information Restore old PSW and PC Figure 1.10 Simple Interrupt Processing

T M Control Stack T N + 1 Program Counter Y T M N + 1 Control Stack T Y + L + 1 Program Counter Y Start Y + L Return Interrupt Service Routine General Registers T Stack Pointer Y Start Y + L Return Interrupt Service Routine General Registers T M Stack Pointer Processor Processor T M T N N + 1 User's Program N N + 1 User's Program Main Memory (a) Interrupt occurs after instruction at location N Main Memory (b) Return from interrupt Figure 1.11 Changes in Memory and Registers for an Interrupt Multiple Interrupts An interrupt occurs while another interrupt is being processed e.g. receiving data from a communications line and printing results at the same time Two approaches: Disable interrupts while an interrupt is being processed Use a priority scheme

t = 35 User Program Interrupt Handler X Interrupt Handler Y (a) Sequential interrupt processing User Program Interrupt Handler X Interrupt Handler Y (b) Nested interrupt processing Figure 1.12 Transfer of Control with Multiple Interrupts User Program t = 0 Printer interrupt service routine Communication interrupt service routine t = 10 t = 15 t = 25 t = 40 t = 25 Disk interrupt service routine Figure 1.13 Example Time Sequence of Multiple Interrupts

Memory Hierarchy Design constraints on a computer s memory How much? How fast? How expensive? If the capacity is there, applications will likely be developed to use it Memory must be able to keep up with the processor Cost of memory must be reasonable in relationship to the other components Memory Relationships Faster access time = greater cost per bit Greater capacity = smaller cost per bit Greater capacity = slower access speed

The Memory Hierarchy Going down the hierarchy: Decreasing cost per bit Increasing capacity Increasing access time Decreasing frequency of access to the memory by the processor Off-line Storage Outboard Storage Figure 1.14 Inboard Memory Registers Cache Main Memory Magnetic Disk CD-ROM CD-RW DVD-RW DVD-RAM Blu-Ray Magnetic Tape The Memory Hierarchy T 1 + T 2 T 2 Average access time T 1 0 1 Fraction of accesses involving only Level 1 (Hit ratio) Figure 1.15 Performance of a Simple Two-Level Memory

Memory references by the processor tend to cluster Data is organized so that the percentage of accesses to each successively lower level is substantially less than that of the level above Can be applied across more than two levels of memory Secondary Memory Also referred to as auxiliary memory External Nonvolatile Used to store program and data files

Invisible to the OS Interacts with other memory management hardware Processor must access memory at least once per instruction cycle Processor execution is limited by memory cycle time Exploit the principle of locality with a small, fast memory Word Transfer Block Transfer CPU Cache Main Memory Fast Slow (a) Single cache CPU Level 1 (L1) cache Level 2 (L2) cache Level 3 (L3) cache Main Memory Fastest Fast Less fast Slow (b) Three-level cache organization Figure 1.16 Cache and Main Memory

Line Number Tag Block 0 1 2 Memory address 0 1 2 3 Block 0 (K words) C - 1 Block Length (K Words) (a) Cache Block M 1 2 n - 1 Word Length (b) Main memory Figure 1.17 Cache/Main-Memory Structure START Receive address RA from CPU RA - read address Is block containing RA in cache? Yes Fetch RA word and deliver to CPU No Access main memory for block containing RA Allocate cache slot for main memory block Load main memory block into cache slot Deliver RA word to CPU DONE Figure 1.18 Cache Read Operation

Cache size Number of cache levels Block size Main categories are: Write policy Mapping function Replacement algorithm Cache and Block Size Cache Size Block Size Small caches have significant impact on performance The unit of data exchanged between cache and main memory

Mapping Function Determines which cache location the block will occupy Two constraints affect design: When one block is read in, another may have to be replaced The more flexible the mapping function, the more complex is the circuitry required to search the cache Replacement Algorithm Least Recently Used (LRU) Algorithm Effective strategy is to replace a block that has been in the cache the longest with no references to it Hardware mechanisms are needed to identify the least recently used block Chooses which block to replace when a new block is to be loaded into the cache

Write Policy Dictates when the memory write operation takes place Can occur every time the block is updated Can occur when the block is replaced Minimizes write operations Leaves main memory in an obsolete state I/O Techniques When the processor encounters an instruction relating to I/O, it executes that instruction by issuing a command to the appropriate I/O module Three techniques are possible for I/O operations: Programmed I/O Interrupt- Driven I/O Direct Memory Access (DMA)

Programmed I/O The I/O module performs the requested action then sets the appropriate bits in the I/O status register The processor periodically checks the status of the I/O module until it determines the instruction is complete With programmed I/O the performance level of the entire system is severely degraded Interrupt-Driven I/O Processor issues an I/O command to a module and then goes on to do some other useful work The processor executes the data transfer and then resumes its former processing The I/O module will then interrupt the processor to request service when it is ready to exchange data with the processor More efficient than Programmed I/O but still requires active intervention of the processor to transfer data between memory and an I/O module

Interrupt-Driven I/O Drawbacks Transfer rate is limited by the speed with which the processor can test and service a device The processor is tied up in managing an I/O transfer A number of instructions must be executed for each I/O transfer Direct Memory Access (DMA) Performed by a separate module on the system bus or incorporated into an I/O module When the processor wishes to read or write data it issues a command to the DMA module containing: Whether a read or write is requested The address of the I/O device involved The starting location in memory to read/write The number of words to be read/written

Transfers the entire block of data directly to and from memory without going through the processor Processor is involved only at the beginning and end of the transfer Processor executes more slowly during a transfer when processor access to the bus is required More efficient than interrupt-driven or programmed I/O Symmetric Multiprocessors (SMP) A stand-alone computer system with the following characteristics: All processors can perform the same functions The system is controlled by an integrated operating system that provides interaction between processors and their programs at the job, task, file, and data element levels

Symmetric Multiprocessors (SMP) A stand-alone computer system with the following characteristics: Two or more similar processors of comparable capability Processors share the same main memory and are interconnected by a bus or other internal connection scheme Processors share access to I/O devices Performance A system with multiple processors will yield greater performance if work can be done in parallel Scaling Vendors can offer a range of products with different price and performance characteristics Availability The failure of a single processor does not halt the machine Incremental Growth An additional processor can be added to enhance performance

Processor L1 Cache Processor L1 Cache Processor L1 Cache L2 Cache L2 Cache L2 Cache System Bus Main Memory I/O Subsystem I/O Adapter I/O Adapter I/O Adapter Figure 1.19 Symmetric Multiprocessor Organization Multicore Computer Also known as a chip multiprocessor Combines two or more processors (cores) on a single piece of silicon (die) Each core consists of all of the components of an independent processor In addition, multicore chips also include L2 cache and in some cases L3 cache