1 / 25

Computer System Overview

Computer System Overview. Chapter 1. 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 Provides support for networking/communications. Basic Elements. Processor

mili
Download Presentation

Computer System Overview

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Computer System Overview Chapter 1

  2. 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 • Provides support for networking/communications

  3. Basic Elements • Processor • Main Memory (real memory/primary memory) • I/O modules • secondary memory devices • communications equipment • terminals • System bus • communication among processors, memory, and I/O modules

  4. Top-Level Components

  5. User-Visible Registers • May be referenced by machine language • Available to all programs - application programs and system programs • Types of registers • Data • Address • Index • Segment pointer • Stack pointer

  6. Control and Status Registers • Program Counter (PC) • has the address of the instruction to be fetched • Instruction Register (IR) • Contains the instruction most recently fetched • Program Status Word (PSW) • condition codes / flags • e.g. Interrupt enable/disable, supervisor/user mode • Can be accessed by a program but not altered

  7. Instruction Cycle • The processor fetches the instruction from memory where the Program Counter (PC) is pointing • PC is incremented after each fetch • Fetched instruction is placed in the instruction register and then decoded for execution • Types of instructions • Processor-memory - transfer data between processor and memory • Processor-I/O - data transferred to or from a peripheral device • Data processing - arithmetic or logic operation on data • Control - alter sequence of execution (e.g. jump, branch etc.)

  8. Interrupts • An interruption of the normal sequence of execution • A suspension of a process caused by an event external to that process and performed in such a way that the process can be resumed • Improves processing efficiency • Allows the processor to execute other instructions while an I/O operation is in progress

  9. Interrupt Cycle • At the end of each cycle, processor checks for interrupts • If no interrupts  fetch the next instruction • If an interrupt is pending, suspend execution of the current program, and execute the interrupt handler

  10. Classes of Interrupts • Program interrupts • arithmetic overflow • division by zero • execute illegal instruction • reference outside user’s memory space • Timer • I/O interrupt • Hardware failure • Interrupt Handler (ISR – interrupt Service Routine) • Whenever there is an interrupt, control is transferred to this program. It determines the nature of the interrupt and performs the necessary actions to handle it.

  11. Transfer of Control via Interrupts

  12. Simple Interrupt Processing

  13. Changes in Memory and Registers for an Interrupt

  14. Multiple Interrupts • Disable interrupts while an interrupt is being processed • Interrupts remain pending until the processor enables interrupts • After interrupt handler routine completes, the processor checks for additional interrupts OR • Lower-priority interrupt handler can be interrupted (nested)

  15. 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)

  16. disk Disk Direct Memory Access (1) Initiate Block Read • I/O exchanges occur directly with memory without processor involvement • Processor grants I/O module authority to read from or write to memory • Relieves the processor responsibility for the exchange. Processor is free to do other things • The processor is only involved at the beginning and end of the transfer. An interrupt is sent when the task is complete Processor Reg Cache (3) Read Done, interrupt! Memory-I/O bus (2) DMA Transfer I/O controller Memory disk Disk

  17. Multiprogramming • Processor has more than one program to execute • The sequence that the programs are executed depends on their relative priority and whether they are waiting for I/O • After an interrupt handler completes, control may not return to the program that was executing at the time of the interrupt

  18. Memory Hierarchy Going Down the Hierarchy • Cost per bit decreases • Capacity increases • Access time increases • Frequency of accessby the processor decreases

  19. Cache Memory • Processor speed is much faster than memory speed. Therefore, Increase the speed of memory by adding a small fast memory • Cache contains a portion of main memory • Processor first checks cache. If not found in cache, the block of memory containing the needed information is moved to the cache • Because of locality of reference, likely future memory references are in that block • Transfers are not visible to the OS (i.e. no OS involvement)

  20. Cache Design • Cache size • Block size • the unit of data exchanged between cache and main memory • hit means the information was found in the cache • Mapping function • determines which cache location the block will occupy • Replacement algorithm • determines which word in the block to replace • Least-Recently-Used (LRU)

  21. Initializing the Machine • Power up  fetch-execute cycle begins • Initial (or hardware) process begins to run • Executes ROM diagnostic program • Then bootstrap loads the OS • OS initialization • Setup & initialize all system data structures • Initialize all devices • Start daemons – including idle process • Branches to the scheduler

  22. 0x0000100 BIOS loader Fetch Unit 0000100 PC Decode Unit IR … Execute Unit Bootstrapping Bootstrap loader (“boot sector”) 1 0x0001000 Primary Memory

  23. Fetch Unit 0001000 PC Decode Unit IR … Execute Unit Bootstrapping Bootstrap loader (“boot sector”) 1 0x0000100 2 BIOS loader 0x0001000 0x0008000 Loader Primary Memory

  24. Fetch Unit 0008000 PC Decode Unit IR … Execute Unit Bootstrapping Bootstrap loader (“boot sector”) 1 0x0000100 2 BIOS loader 0x0001000 0x0008000 Loader 3 0x000A000 OS Primary Memory 4. Initialize hardware 5. Create user environment 6. …

  25. Hardware Process Starts BIOS Idle Process Kernel ISRs Process i Process j Program I/O Process running Switch to Another program

More Related