Chapter 2: Computer-System Structures

Slides:



Advertisements
Similar presentations
Computer-System Structures Er.Harsimran Singh
Advertisements

Interactive lesson about operating system
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 2: Computer-System Structures Computer System Operation I/O Structure Storage.
Chapter 2: Computer-System Structures
CMPT 300: Operating Systems I Dr. Mohamed Hefeeda
1/23/2004CSCI 315 Operating Systems Design1 Computer System Structures Notice: The slides for this lecture have been largely based on those accompanying.
OS2-1 Chapter 2 Computer System Structures. OS2-2 Outlines Computer System Operation I/O Structure Storage Structure Storage Hierarchy Hardware Protection.
1 School of Computing Science Simon Fraser University CMPT 300: Operating Systems I Dr. Mohamed Hefeeda.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 2: Computer-System Structures Computer System Operation I/O Structure Storage.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 2: Computer-System Structures Computer System Operation I/O Structure Storage.
ICS Principles of Operating Systems
Abhinav Kamra Computer Science, Columbia University 2.1 Operating System Concepts Silberschatz, Galvin and Gagne  2002 Chapter 2: Computer-System Structures.
Modified from Silberschatz, Galvin and Gagne ©2009 CS 446/646 Principles of Operating Systems Lecture 1 Chapter 1: Introduction.
Computer System Structures memory memory controller disk controller disk controller printer controller printer controller tape-drive controller tape-drive.
Computer-System Structures
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 2: Computer-System Structures 1/31/03 Computer System Operation I/O Structure.
1.1 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts School of Computing Science Simon Fraser University CMPT 300: Operating Systems I Instructor:
A. Frank - P. Weisberg Operating Systems Functional View of Operating System.
1/21/2010CSCI 315 Operating Systems Design1 Computer System Structures Notice: The slides for this lecture have been largely based on those accompanying.
General System Architecture and I/O.  I/O devices and the CPU can execute concurrently.  Each device controller is in charge of a particular device.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 1: Introduction.
Operating System Concepts Ku-Yaw Chang Assistant Professor, Department of Computer Science and Information Engineering Da-Yeh University.
Objectives To provide a grand tour of the major operating systems components To provide coverage of basic computer system organization.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Chapter 1: Introduction.
Operating Systems Lecture 3 Computer Systems Review
LOGO OPERATING SYSTEM Dalia AL-Dabbagh
Chapter 1. Introduction What is an Operating System? Mainframe Systems
2.1 Silberschatz, Galvin and Gagne ©2003 Operating System Concepts with Java Chapter 2: Computer-System Structures Computer System Operation I/O Structure.
CHAPTER 2: COMPUTER-SYSTEM STRUCTURES Computer system operation Computer system operation I/O structure I/O structure Storage structure Storage structure.
Silberschatz, Galvin, and Gagne  Applied Operating System Concepts Module 2: Computer-System Structures Computer System Operation I/O Structure.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 2: Computer-System Structures Computer System Operation I/O Structure Storage.
Chapter 2: Computer-System Structures
Thanks to Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 2 Computer-System Structures n Computer System Operation n I/O Structure.
1 CSE Department MAITSandeep Tayal Computer-System Structures Computer System Operation I/O Structure Storage Structure Storage Hierarchy Hardware Protection.
2: Computer-System Structures
Recall: Three I/O Methods Synchronous: Wait for I/O operation to complete. Asynchronous: Post I/O request and switch to other work. DMA (Direct Memory.
Chapter 1: Introduction. 1.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 1: Introduction What Operating Systems Do (previous.
Chapter 2: Computer-System Structures 2.1 Computer System Operation 2.5 Hardware Protection 2.6 Network Structure.
1 Chapter 2: Computer-System Structures  Computer System Operation  I/O Structure  Storage Structure  Storage Hierarchy  Hardware Protection  General.
Chapter 1: Introduction. 1.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 1: Introduction What Operating Systems Do Computer-System.
Chapter 2: Computer-System Structures Computer System Operation I/O Structure Storage Structure Storage Hierarchy Hardware Protection Network Structure.
2.1 Operating System Concepts Chapter 2: Computer-System Structures Computer System Operation Storage Structure Storage Hierarchy Hardware Protection General.
Operating Systems Lecture November 2015© Copyright Virtual University of Pakistan 2 Agenda for Today Review of previous lecture Hardware (I/O, memory,
Operating System Structure A key concept of operating systems is multiprogramming. –Goal of multiprogramming is to efficiently utilize all of the computing.
CE Operating Systems Lecture 2 Low level hardware support for operating systems.
Operating Systems 1 K. Salah Module 1.2: Fundamental Concepts Interrupts System Calls.
1 CS.217 Operating System By Ajarn..Sutapart Sappajak,METC,MSIT Chapter 2 Computer-System Structures Slide 1 Chapter 2 Computer-System Structures.
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 4 Computer Systems Review.
Silberschatz, Galvin and Gagne  Applied Operating System Concepts Chapter 2: Computer-System Structures Computer System Architecture and Operation.
CE Operating Systems Lecture 2 Low level hardware support for operating systems.
BIT213,CISY Operating Systems 1
1 Lecture 1: Computer System Structures We go over the aspects of computer architecture relevant to OS design  overview  input and output (I/O) organization.
Review of Computer System Organization. Computer Startup For a computer to start running when it is first powered up, it needs to execute an initial program.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 2: Computer-System Structures Computer System Operation I/O Structure Storage.
Chapter 2: Computer-System Structures(Hardware) or Architecture or Organization Computer System Operation I/O Structure Storage Structure Storage Hierarchy.
Chapter 2. Computer-System Structure Device controllers: synchronize and manage access to devices.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 2: Computer-System Structures Computer System Operation I/O Structure Storage.
Chapter 2: Computer-System Structures(Hardware)
Chapter 2: Computer-System Structures
Chapter 2: Computer-System Structures
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 2: Computer-System Structures Computer System Operation I/O Structure Storage.
Computer-System Architecture
Module 2: Computer-System Structures
Operating Systems Lecture 3.
Module 2: Computer-System Structures
Chapter 2: Computer-System Structures
Chapter 2: Computer-System Structures
Module 2: Computer-System Structures
Contact Information Office: 225 Neville Hall Office Hours: Monday and Wednesday 12:00-1:00 and by appointment. Phone:
Module 2: Computer-System Structures
Presentation transcript:

Chapter 2: Computer-System Structures The traditional/general computer-system architecture consists of one or more CPUs and a number of device controllers connected via a common bus that provides access to shared memory The CPU(s) and device controllers execute concurrently competing for memory cycles (access synchronized by the memory controller) CEG 433/633 - Operating Systems I

Computer-System Operation I/O devices and the CPU can execute concurrently Each device controller has a local buffer I/O is from the device to local buffer of controller OS provides mechanism for issuing commands to device controllers Device driver - portion of OS which converts OS requests into controller register loads/reads OS provides main memory “buffer” for I/O CPU issues commands by setting device control registers CPU moves data from/to main memory to/from local buffers w/o DMA, CPU must transfer each word (bus size) w/DMA, CPU is invoked once per transaction (block) Device controller informs CPU that it requires attention by causing an interrupt CEG 433/633 - Operating Systems I

Common Functions of Interrupts When powered-up, a computer needs an initial program to run Bootstrap program - initializes the machine Loads the OS The OS kernel starts the first process, after which it only processes events. Hardware Interrupt - generally from I/O devices Trap (Exception) - software-generated interrupt caused either by an error or a user request An operating system is event (or interrupt) driven An interrupt is a request to transfers control of the CPU from the current process to the OS via the interrupt service routine Some devices do not support the interrupt structure and simply set flags in one of their local registers to request service The OS must periodically poll such devices CEG 433/633 - Operating Systems I

CEG 433/633 - Operating Systems I Interrupt Handling An interrupt is handled by: A hardware check against the interrupt mask to see if the interrupt is enabled Incoming interrupts of lower priority are disabled to prevent a lost interrupt Storing the current state of the process The operating system preserves the state of the CPU by storing registers and the program counter Calling the interrupt handling routine which determines the type of interrupt and determines the OS response Re-enable interrupts and restore normal operation Separate segments of code determine what action should be taken for each type of interrupt The OS response is dependent upon the interrupt vector, which contains the addresses of all the service routines CEG 433/633 - Operating Systems I

Interrupt Time Line For a Single Process Doing Output CEG 433/633 - Operating Systems I

CEG 433/633 - Operating Systems I I/O Structure Synchronous I/O Operation After I/O request, OS returns control to user program only upon I/O completion CPU is idle (wait loop) in OS until the next interrupt. The next interrupt will be from the specified device since at most one I/O request is outstanding (No vectoring) Simple, but not efficient No overlapping of computation or additional I/O with I/O CEG 433/633 - Operating Systems I

CEG 433/633 - Operating Systems I I/O Structure Asynchronous I/O Operation After I/O request, control returns without waiting for I/O to complete Blocking I/O library function: includes a system call to to allow the user to wait for I/O completion CPU idles or control is passed to another process Non-Blocking I/O: The user program continues Requires more complex user code to handle the completion of the I/O event Pro: The OS may have multiple outstanding I/O requests One process may make several concurrent requests Multiple processes may make requests on multi-programmed systems Con: The OS must maintain a device-status table to record current and requested transactions for each I/O device CEG 433/633 - Operating Systems I

CEG 433/633 - Operating Systems I Storage Structure Main memory – only large storage media that the CPU can access directly Secondary storage – extension of main memory that provides large nonvolatile storage capacity (requires I/O operation) Storage systems organized in hierarchy Speed, cost, volatility Memory Hierarchy Speed Vs. Cost . . . registers, cache, main memory, disk, CD, tape . . . Caching – copying information into faster storage system; main memory can be viewed as a last cache for secondary storage Cache management is generally handled below the OS level by dedicated hardware requires an policy for replacement, coherency, etc. CEG 433/633 - Operating Systems I

Moving-Head Disk Mechanism Magnetic disks – rigid metal or glass platters covered with magnetic recording material Disk surface is logically divided into tracks, which are subdivided into sectors The disk controller determines the logical interaction between the device and the computer Transfer rate - drive to memory (MB/s) Access time - seek time (arm movement) + rotational delay (platter movement) (ms) CEG 433/633 - Operating Systems I

CEG 433/633 - Operating Systems I Hardware Protection How do we keep erroneous/malicious processes from interfering with other processes on a timesharing system? Dual-Mode Operation Provide hardware support to differentiate between at least two modes of operations 1. User mode – execution done on behalf of a user 2. Monitor mode (also supervisor mode or system mode) – execution done on behalf of operating system When an interrupt or fault occurs hardware switches to monitor mode monitor user Interrupt/fault set user mode CEG 433/633 - Operating Systems I

CEG 433/633 - Operating Systems I Dual-Mode Operation Mode bit added to computer hardware to indicate the current mode: monitor (0) or user (1) The OS is called (via trap) to handle hardware-generated exceptions (ex: seg. fault) in monitor mode Privileged instructions can be issued only in monitor mode All I/O instructions are privileged instructions (I/O Protection) Must ensure that a user program could never gain control of the computer in monitor mode (i.e., a user program that, as part of its execution, stores a new address in the interrupt vector) Load-timer is a privileged instruction (CPU Protection) Timer – interrupts computer after specified period to ensure operating system maintains control When timer reaches the value 0, an interrupt occurs Timer commonly used to implement time sharing CEG 433/633 - Operating Systems I

CEG 433/633 - Operating Systems I Memory Protection Problem: We must protect the OS and other user’s routines from a deranged or malicious process without compromising the speed of memory access Must provide memory protection at least for the interrupt vector and the interrupt service routines In order to have memory protection, add two registers that determine the range of legal addresses a program may access: base register – holds the smallest legal physical memory address. Limit register – contains the size of the range Memory outside the defined range is protected. CEG 433/633 - Operating Systems I

A Base And A limit Register Define A Logical Address Space CEG 433/633 - Operating Systems I

CEG 433/633 - Operating Systems I Protection Hardware When executing in monitor mode, the operating system has unrestricted access to both monitor and user’s memory. The load instructions for the base and limit registers are privileged instructions. CEG 433/633 - Operating Systems I

General-System Architecture Time-sharing led directly to hardware modifications to allow the OS to maintain control of the system Problem: How do users programs access necessary privileged instructions (such as I/O)? The user must ask the OS to perform the operation on the user’s behalf System call – the method used by a process to request action by the operating system Usually takes the form of a trap to a specific location in the interrupt vector Control passes through the interrupt vector to a service routine in the OS, and the mode bit is set to monitor mode The monitor verifies that the parameters are correct and legal, executes the request, and returns control to the instruction following the system call CEG 433/633 - Operating Systems I

Use of A System Call to Perform I/O System calls are complex Information must be passed via registers or ordered in the stack Library functions exist which act as wrappers for the trap These library functions are the system functions provided in each language’s system library Example: Memory Management The OS only provides sbrk() which increases or decreases the address space of the process by some number of bytes C provides the language specific malloc() and free() routines to manage the heap Consider java CEG 433/633 - Operating Systems I

System Calls An application written to a standard set of supported system calls (such as POSIX) is dependent upon the OS, not the machine! User Interface System Programs Programmer Interface Application Code C function library System Interface System Calls Kernel Hardware Abstraction Layer Hardware CEG 433/633 - Operating Systems I