0% found this document useful (0 votes)
19 views43 pages

Lect 2

The document summarizes key aspects of operating system fundamentals including computer system structure, operating system structure, and system calls. It describes how the CPU, memory, I/O devices, and bus connect a computer system. It also outlines the major components of an operating system like process management, memory management, file management, and protection systems. Interrupts and interrupt handling are explained.

Uploaded by

George Helmy
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
19 views43 pages

Lect 2

The document summarizes key aspects of operating system fundamentals including computer system structure, operating system structure, and system calls. It describes how the CPU, memory, I/O devices, and bus connect a computer system. It also outlines the major components of an operating system like process management, memory management, file management, and protection systems. Interrupts and interrupt handling are explained.

Uploaded by

George Helmy
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 43

Operating System Fundamentals

Lecture 2 : System Structures


I. Computer System Structure
II. Operating System Structure
I. Computer System Structure
Outline

◼ Computer System Operation


◼ I/O Structure
◼ Storage Structure
◼ Hardware Protection
Computer System Operation

System Bus
Computer System Operation (cont’d)
◼ CPU and device controllers are connected through
common busses or system bus (data, address, and
control).
◼ CPU and device controllers can execute
concurrently.
◼ Each device controller is responsible of a particular
device type.
◼ Each device controller has a local buffer (memory).
◼ Memory controller synchronizes access to memory.
Computer System Operation (cont’d)

◼ CPU moves data from/to main memory


to/from local buffers

◼ Device controller informs CPU that it has


finished its operation by causing an interrupt.
Interrupts
◼ Interrupts transfers control to the interrupt service
routine (ISR) generally, through the interrupt vector,
which contains the addresses of all the service
routines.
◼ Interrupt architecture must save the address of the
interrupted instruction and the state of the CPU.
◼ 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.
Classes of Interrupts
◼ Program
❑ arithmetic overflow
❑ division by zero
❑ execute illegal instruction
❑ reference outside user’s memory space
◼ Timer
◼ I/O
◼ Hardware failure
Interrupt Handler

◼ A program that determines nature of the


interrupt and performs whatever actions are
needed.

◼ Control is transferred to this program.

◼ Generally part of the operating system.


Interrupt Cycle
Interrupt Cycle

◼ Processor checks for interrupts.

◼ If no interrupts fetch the next instruction for


the current program.

◼ If an interrupt is pending, suspend execution


of the current program, and execute the
interrupt handler.
Multiple Interrupts

◼ Disable interrupts
while an interrupt is
being processed
❑ Processor ignores any
new interrupt request
signals
Multiple Interrupts
Sequential Order
◼ Disable interrupts so processor can complete
task.
◼ Interrupts remain pending until the processor
enables interrupts.
◼ After interrupt handler routine completes, the
processor checks for additional interrupts.
Multiple Interrupts
Priorities
◼ Higher priority interrupts cause lower-priority
interrupts to wait.
◼ Causes a lower-priority interrupt handler to
be interrupted.
◼ Example when input arrives from
communication line, it needs to be absorbed
quickly to make room for more input.
Example

◼ CPU is running a program


◼ An interrupt occurs (User hits a key)
◼ OS saves CPU state
◼ CPU transfers control to ISR
◼ ISR completes
◼ OS restores CPU state
◼ Processing of original program continues
I/O System Structure

◼ Controllers:
❑ Is in charge of a specific type of device
❑ Moves data between device and local buffer
❑ A controller may have more than one device
❑ Buffer size varies
Two I/O Methods
◼ Synchronous I/O:
❑ Process request I/O operation
❑ I/O operation is started
❑ I/O Operation is complete
❑ Control is returned to the user process
◼ Asynchronous I/O:
❑ Process Request I/O operation
❑ I/O operation is started
❑ Control is returned immediately to the user
process
❑ I/O continues while system operations occur
Types of I/O
Direct Memory Access (DMA)

◼ Used for high-speed I/O devices are able to


transmit information at speed close to
memory speeds.
◼ Device controller transfers blocks of data
from buffer storage directly to main memory
without CPU intervention.
◼ The H/W responsible for operating the I/O in
DMA mode is called a DMA channel.
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.
Storage-Device Hierarchy

◼ Storage systems organized in


hierarchy.
❑ Speed
❑ Cost
❑ Volatility
❑ Capacity
❑ Reliability
❑ Portability
Random Access Memory (RAM)
◼ Array of memory words
◼ Each byte has an address
◼ Memory Address:
❑ Physical
❑ Logical
◼ CPU Instructions:
❑ Load: moves a word from main memory to CPU
register
❑ Store: move a word from CPU register to main
memory
Magnetic Hard Drives
• Hard disks are divided into
− Tracks
− Sectors
− Clusters
− Cylinders

23
Magnetic Hard Drives
Magnetic Hard Drives(cont’d)
◼ Reading and writing data:
❑ Obstacles on a hard-disk system can damage the
surface and read/write head.
Operating System Structure
Outline
◼ System Components
◼ Operating-System Services
◼ System Calls
◼ System Programs
◼ System Structure
◼ Virtual Machines
◼ System Design and Implementation
Common System Components
◼ Process Management
◼ Main Memory Management
◼ Secondary-Storage Management
◼ I/O System Management
◼ File Management
◼ Protection System
◼ Networking
◼ Command-Interpreter System
Process Management
◼ A process is a program in execution. A process needs
certain resources, including CPU time, memory, files,
and I/O devices, to accomplish its task.
◼ The operating system should be responsible for the
following activities in connection with process
management.
❑ Process creation and deletion.
❑ Process suspension and resumption.
❑ Provision of mechanisms for:
◼ Process synchronization

◼ Process communication
Main-Memory Management
◼ Memory is a large array of words or bytes, each with
its own address. It is a repository of quickly
accessible data shared by the CPU and I/O devices.
◼ Main memory is a volatile storage device. It loses its
contents in the case of system failure.
◼ The operating system is responsible for the following
activities in connections with memory management:
❑ Keep track of which parts of memory are currently being
used by whom.
❑ Decide which processes to load when memory space
becomes available.
❑ Allocate and de-allocate memory space as needed.
Secondary-Storage Management
◼ Since main memory (primary memory) is volatile and
too small to accommodate all data and programs
permanently, the computer system must provide a
secondary storage to back up main memory.
◼ Most modern computer systems use disks as the
principle on-line storage medium, for both programs
and data.
◼ The operating system should be responsible for the
following activities in connection with disk
management:
❑ Free space management

❑ Storage allocation

❑ Disk scheduling
I/O System Management
◼ The I/O system consists of:
❑ A buffer-caching system
❑ A general device-driver interface
❑ Drivers for specific hardware devices

◼ OS hide particularities of I/O devices


❑ Device drivers
❑ Input: retrieve block of data
❑ Output: hardware instructions for controller
File Management
◼ A file is a collection of related information defined by its
creator.
◼ Commonly, files represent programs (both source and
object forms) and data.
◼ The operating system should be responsible for the
following activities in connections with file management:
❑ File creation and deletion.

❑ Directory creation and deletion.

❑ Support of primitives for manipulating files and directories.

❑ File backup on stable (nonvolatile) storage media.


Protection System
◼ Protection refers to a mechanism for
controlling access by programs, processes,
or users to both system and user resources.
◼ The protection mechanism must:
❑ distinguish between authorized and unauthorized
usage.
❑ specify the controls to be imposed.
❑ provide a means of enforcement.
Command-Interpreter System (1)
◼ Many commands are given to the operating
system by control statements which deal with:
❑ process creation and management
❑ I/O handling
❑ secondary-storage management
❑ main-memory management
❑ file-system access
❑ protection
❑ networking
Command-Interpreter System (2)

◼ The program that reads and interprets control


statements is called variously:
❑ control-card interpreter
❑ command-line interpreter
❑ shell (in UNIX)
◼ Its function is to get and execute the next
command statement.
System Calls
◼ System calls provide the interface between a
running program and the operating system.
❑ Generally available as assembly-language instructions.
❑ Languages defined to replace assembly language for
systems programming allow system calls to be made
directly (e.g., C. Bliss, PL/360)
◼ Three general methods are used to pass
parameters between a running program and the
operating system.
❑ Pass parameters in registers.
❑ Store the parameters in a table in memory, and the table
address is passed as a parameter in a register.
❑ Push (store) the parameters onto the stack by the program,
and pop off the stack by operating system.
System Programs

◼ System programs provide a convenient environment


for program development and execution. They can
be divided into:
❑ File manipulation
❑ Status information
❑ File modification
❑ Programming language support
❑ Program loading and execution
❑ Communications
❑ Application programs
◼ Most users’ view of the operation system is defined
by system programs, not the actual system calls.
System Structure – Simple Approach(1)
◼ MS-DOS – written to
provide the most
functionality in the least
space
❑ not divided into modules
❑ Although MS-DOS has
some structure, its
interfaces and levels of
functionality are not well
separated.
System Structure – Simple
Approach(2)
◼ UNIX – limited by hardware functionality, the
original UNIX operating system had limited
structuring. The UNIX OS consists of two
separable parts:
❑ Systems programs
❑ The kernel
◼ Consists of everything below the system-call interface
and above the physical hardware
◼ Provides the file system, CPU scheduling, memory
management, and other operating-system functions; a
large number of functions for one level.
UNIX System Structure
System Structure – Layered Approach
◼ The operating system is divided into a number of
layers (levels), each built on top of lower layers. The
bottom layer (layer 0), is the hardware; the highest
(layer N) is the user interface.
◼ With modularity, layers are selected such that each
uses functions (operations) and services of only
lower-level layers.
Layered Structure of the OS

◼ A layered design was first used in the


operating system with the following six layers:
❑ layer 5: user programs
❑ layer 4: buffering for input and output
❑ layer 3: operator-console device driver
❑ layer 2: memory management
❑ layer 1: CPU scheduling
❑ layer 0: hardware

You might also like