Presentation is loading. Please wait.

Presentation is loading. Please wait.

Computer System Overview Chapter 1. Operating System Exploits the hardware resources of one or more processors Provides a set of services to system users.

Similar presentations


Presentation on theme: "Computer System Overview Chapter 1. Operating System Exploits the hardware resources of one or more processors Provides a set of services to system users."— 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 Direct Memory Access 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 disk Disk disk Disk Memory-I/O bus Processor Cache Memory I/O controller I/O controller Reg (2) DMA Transfer (1) Initiate Block Read (3) Read Done, interrupt!

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 access by 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

21 Main categories are: cache size block size mapping function replacement algorithm write policy number of cache levels

22 Mapping Function 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 ∗ Determines which cache location the block will occupy

23 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)

24 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

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

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

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

28 Windows 7 Startup http://www.techsupportalert.com/content/windows-7-startup.htm http://www.techsupportalert.com/content/windows-7-components-startup.htm

29 KernelProcess jProcess iISRsIdle Process Hardware Process Starts Program Process running Switch to Another program BIOS I/O


Download ppt "Computer System Overview Chapter 1. Operating System Exploits the hardware resources of one or more processors Provides a set of services to system users."

Similar presentations


Ads by Google