Outline of Introduction: Objectives
Outline of Introduction: Objectives
Outline of Introduction: Objectives
9:07 PM
Outline of Introduction
Objectives
Overview Page 1
○
video games
• Users
○ People, machines, other computers
• OS is a resource allocator
• Manages all resources
• Decides between conflicting requests for efficient and fair resource use
• OS is a control program
• Controls execution of programs to prevent errors and improper use of the
computer
Computer Startup
Overview Page 2
• Initializates all aspects of system
• Loads operating system kernel and starts execution
• Computer-system operation
• One or more CPUs, device controllers connect through common bus providing
access to shared memory
• Concurrent execution of CPUs and devices competing for memory cycles
• Interrupt 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.
Overview Page 3
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
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.
Overview Page 4
I/O Methods
Synchronous
Asynchronous
Device-Status Table
• 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
Overview Page 5
•
without CPU intervention.
• Only on interrupt is generated per block, rather than the one interrupt per byte.
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.
• 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.
Caching
Overview Page 6
• Important principle, performed at many levels in a computer (in hardware, operating
system, software)
• Information in use copied from slower to faster storage temporarily
• Faster storage (cache) checked first to determine if information is there
• If it is, information used directly from the cache (fast)
• If not, data copied to cache and used there
• Cache smaller than storage being cached
• Cache management important design problem
• Cache size and replacement policy
• Multitasking environments must be careful to use most recent value, not matter where it
is stored in the storage hierarchy
• Multiprocessor environment must provide cache coherency in hardware such that all
CPUs have the most recent value in their cache
• Distributed environment situation even more complex
• Several copies of a datum can exist
• Various solutions covered in Chapter 17
Overview Page 7
• Multiprogramming needed for efficiency
• Single user cannot keep CPU and I/O devices busy at all times
• Multiprogramming organizes jobs (code and data) so CPU always has one to
execute
• A subset of total jobs in system is kept in memory
• One job selected and run via job scheduling
• When it has to wait (for I/O for example), OS switches to another job
• Timesharing (multitasking) is logical extension in which CPU switches jobs so
frequently that users can interact with each job while it is running, creating interactive
computing
• Response time should be < 1 second
• Each user has at least one program executing in memory >process
• If several jobs ready to run at the same time > CPU scheduling
• If processes don’t fit in memory, swapping moves them in and out to run
• Virtual memory allows execution of processes not completely in memory
Operating-System Operations
Overview Page 8
• Division by zero, request for operating system service
• Other process problems include infinite loop, processes modifying each other or the
operating system
• Dual-mode operation allows OS to protect itself and other system components
• User mode and kernel mode
• Mode bit provided by hardware
○ Provides ability to distinguish when system is running user code or kernel
code
○ Some instructions designated as privileged, only executable in kernel
mode
○ System call changes mode to kernel, return from call resets it to user
Process Management
Overview Page 9
• Multi-threaded process has one program counter per thread
• Typically system has many processes, some user, some operating system running
concurrently on one or more CPUs
• Concurrency by multiplexing the CPUs among the processes / threads
The operating system is responsible for the following activities in connection with
process management:
• Creating and deleting both user and system processes
• Suspending and resuming processes
• Providing mechanisms for process synchronization
• Providing mechanisms for process communication
• Providing mechanisms for deadlock handling
Memory Management
Storage Management
Overview Page 10
○ Mapping files onto secondary storage
○ Backup files onto stable (non-volatile) storage media
Mass-Storage Management
• Usually disks used to store data that does not fit in main memory or data that must be
kept for a “long” period of time.
• Proper management is of central importance
• Entire speed of computer operation hinges on disk subsystem and its algorithms
• OS activities
• Free-space management
• Storage allocation
• Disk scheduling
• Some storage need not be fast
• Tertiary storage includes optical storage, magnetic tape
• Still must be managed
• Varies between WORM (write-once, read-many-times) and RW (read-write)
I/O Subsystem
Overview Page 11
access control
• Group identifier (group ID) allows set of users to be defined and controls
managed, then also associated with each process, file
• Privilege escalation allows user to change to effective ID with more rights
Computing Environments
• Traditional computer
• Blurring over time
• Office environment
○ PCs connected to a network, terminals attached to mainframe or
minicomputers providing batch and timesharing
○ Now portals allowing networked and remote systems access to same
resources
• Home networks
○ Used to be single system, then modems
○ Now firewalled, networked
• Client-Server Computing
• Dumb terminals supplanted by smart PCs
• Many systems now servers, responding to requests generated by clients
○ Compute-server provides an interface to client to request services (i.e.
database)
○ File-server provides interface for clients to store and retrieve files
Peer-to-Peer Computing
Overview Page 12
○ Broadcast request for service and respond to requests for service via
discovery protocol
• Examples include Napster and Gnutella
Web-Based Computing
Overview Page 13
Aug. 31
Overview Page 14