CSC 414 Chapter 2, Spring 2008
Notre Dame University–Louaize · Applied Operating Systems · 24 pages
Showing the first 10 of 24 pages. Download the PDF to see all of it.
More CSC 414 files
Show the text of this chapter
2.1
Applied Operating System Concepts
Module 2: Computer-System Structures
• Computer System Operation
• I/O Structure
• Storage Structure
• Storage Hierarchy
• Hardware Protection
• General System Architecture
2.2
Applied Operating System Concepts
Computer-System Architecture
2.3
Applied Operating System Concepts
Computer-System Operation
• I/O devices and the CPU can execute concurrently.
• Each device controller is in charge of a particular
device type.
• Each device controller has a local buffer.
• CPU moves data from/to main memory to/from local
buffers
• I/O is from the device to local buffer of controller.
• Device controller informs CPU that it has finished its
operation by causing an interrupt.
2.4
Applied Operating System Concepts
Common Functions of Interrupts
• Interrupts transfers control to the interrupt service
routine generally, through the interrupt vector, which
contains the addresses of all the service routines.
• Interrupt architecture must save the address of the
interrupted instruction.
• Incoming interrupts are disabled while another interrupt
is being processed to prevent a lost interrupt.
• A trap is a software-generated interrupt caused either
by an error or a user request.
• An operating system is interrupt driven.
2.5
Applied Operating System Concepts
Interrupt Handling
• The operating system preserves the state of the
CPU by storing registers and the program
counter.
• Determines which type of interrupt has occurred:
– polling
– vectored interrupt system
• Separate segments of code determine what
action should be taken for each type of interrupt
2.6
Applied Operating System Concepts
Interrupt Time Line For a Single Process Doing Output
2.7
Applied Operating System Concepts
I/O Structure
• After I/O starts, control returns to user program only upon I/O completion.
– wait instruction idles the CPU until the next interrupt
– wait loop (contention for memory access).
– At most one I/O request is outstanding at a time, no simultaneous I/O
processing.
• After I/O starts, control returns to user program without waiting for I/O completion.
– System call – request to the operating system to allow user to wait for I/O
completion.
– Device-status table contains entry for each I/O device indicating its type,
address, and state.
– Operating system indexes into I/O device table to determine device status and to
modify table entry to include interrupt.
2.8
Applied Operating System Concepts
Two I/O methods
Synchronous
Asynchronous
2.9
Applied Operating System Concepts
Device-Status Table
2.10
Applied Operating System Concepts
Direct Memory Access (DMA) Structure
• Used for high-speed I/O devices able to transmit
information at close to memory speeds.
• Device controller transfers blocks of data from
buffer storage directly to main memory without
CPU intervention.
• Only one interrupt is generated per block, rather
than the one interrupt per byte.
2.11
Applied Operating System Concepts
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.
• 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.
2.12
Applied Operating System Concepts
Moving-Head Disk Mechanism
2.13
Applied Operating System Concepts
Storage Hierarchy
• Storage systems organized in hierarchy.
– Speed
– cost
– volatility
• Caching – copying information into faster
storage system; main memory can be viewed as
a last cache for secondary storage.
2.14
Applied Operating System Concepts
Storage-Device Hierarchy
2.15
Applied Operating System Concepts
Hardware Protection
• Dual-Mode Operation
• I/O Protection
• Memory Protection
• CPU Protection
2.16
Applied Operating System Concepts
Dual-Mode Operation
• Sharing system resources requires operating
system to ensure that an incorrect program cannot
cause other programs to execute incorrectly.
• 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.
2.17
Applied Operating System Concepts
Dual-Mode Operation (Cont.)
• Mode bit added to computer hardware to indicate the current
mode: monitor (0) or user (1).
• When an interrupt or fault occurs hardware switches to monitor
mode.
• Privileged instructions can be issued only in monitor
mode.
monitor
user
Interrupt/fault
set user mode
2.18
Applied Operating System Concepts
I/O Protection
• All I/O instructions are privileged instructions.
• 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).
2.19
Applied Operating System Concepts
Memory Protection
• 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.
2.20
Applied Operating System Concepts
A Base And A limit Register Define A Logical Address Space
2.21
Applied Operating System Concepts
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.
2.22
Applied Operating System Concepts
CPU Protection
• Timer – interrupts computer after specified period
to ensure operating system maintains control.
– Timer is decremented every clock tick.
– When timer reaches the value 0, an interrupt
occurs.
• Timer commonly used to implement time sharing.
• Time also used to compute the current time.
• Load-timer is a privileged instruction.
2.23
Applied Operating System Concepts
General-System Architecture
• Given the I/O instructions are privileged, how does the
user program perform I/O?
• 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.
2.24
Applied Operating System Concepts
Use of A System Call to Perform I/O