CSI 400/500 Operating Systems Spring 2009 Lecture #2 – Functional Parts of an Operating System Monday January 23, 2009
The Manager
Device Manager Communicates with devices Maintains drivers Allocates ports Passes data and signals between device and task Discussed in detail in Lecture 14
Process Spooler Schedules tasks Allocates resources Maintains process isolation while providing contact with system Our next topic
Memory Manager Allocation of resources across system Separates memory Translates virtual addresses Discussed in Lectures 8 and 9
File Manager Maintains links to external storage devices Maintains internal files and maps Handles data transfer between tasks and files Discussed in Lectures 10 and 11
Interrupt Handler Analyzes errors Pauses action to prevent further problems Fixes error or terminates action Communicates with Process Manager Discussed in Lecture 14
System Calls Stored library of functions Passes messages between functionary parts Available system-wide Some available to user-defined tasks
OS Concerns
Security Concerns Within system Between tasks and processes From outside Discussed at end of course
OS Components
Central Processing Unit Called “ Processor ” Performs calculations and operations Two parts: Arithmetic-logical unit Control unit and program counter
Registers Local to processor Holds single value or address Types: Memory address register Memory data register Command register Instruction register Operation data registers
Instruction Stack Held in local memory Holds instructions and related operands Sequential One instruction at a time loaded into CPU for processing
Buses Used to transfer info: Between tasks Between units Between systems High-speed Dumb
Input/Output Controllers Device drivers Connected by ports, channels, or bus lines Controls flow DOES NOT handle data transfer Handled by task Managed by device
Interrupt Library Catalog of interrupts Available to all units Common and categorized Recognized by Interrupt handler