Chapter 1: Introduction

Chapter 1: Introduction
Chapter 1: Introduction
What Operating Systems Do
Computer-System Organization
Operating-System Structure
Operating-System Operations
Process Management
Memory Management
Storage Management
Protection and Security
• Distributed Systems
• Real-Time/Embedded Systems
• To provide an overview of the major
operating systems components
• To review basic computer system
What is an Operating System?
• A program that acts as an
intermediary between a user
and hardware
• Operating system goals:
– Execute user programs and make
solving user problems easier
– Make the computer system
convenient to use
– Use the computer hardware
Computer System Structure
• Computer system can be divided
into four components
– Hardware – provides basic computing
• CPU, memory, I/O devices
– Operating system
• Controls and coordinates use of
hardware among various applications
and users
– Application programs
• Word processors, compilers, web
browsers, database systems, video games
– Users/clients
• People, machines, other computers
Four Components of a Computer
Operating System Definition
• 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
• Kernel: Core of OS
Computer Startup
• bootstrap program is loaded at powerup or reboot
– Firmware stored in ROM or EPROM
– Initializates the system
– Loads operating system kernel and starts
Computer System
• CPU(s) & device controllers connect
through common bus providing
access to main memory
Storage-Device Hierarchy
More Expensive
• Data temporally copied from slower
to faster storage
• Check cache first
• Cache < Storage being cached
– How to determine appropriate cache
– Replacement policy
– Cache coherency in multiprocessor
• Stores a bit in a flip-flop
– Two cross connected NAND or NOR gates
– Stores a bit as long as power is applied
– Consumes less power than DRAM but more
complex circuitry
• Generally requires 6 transistors
– More expensive
• One transistor + Capacitor
• Electrical charge on capacitor leaks
over time
• Periodically refresh
– Slower than SRAM
– Consumes more power
• Cheaper than SRAM
– Simpler circuitry
Operating System Structure
• Multiprogramming
– Efficient resource usage
– Single user cannot keep CPU and I/O
devices busy at all times
– Organizes jobs so that CPU always has
one to execute
– A subset of total jobs in system is
kept in memory
– When a job blocks, e.g., for I/O, OS
switches to another job
• Timesharing/Multitasking
– CPU switches jobs very frequently
– 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
Memory Layout for
Multiprogrammed System
Operating System Operations
• Hardware Interrupts
• Software error or request creates
exception or trap
– Division by zero
• Other problems: infinite loop,
processes modifying each other or
– Accounting & resource management
– Protection
Basic Protection
• Dual-mode operation
– User mode & kernel mode
– Mode bit
• Distinguish whether system is running
user code or kernel code
• Privileged instructions only executable in
kernel mode
– System call
Change to kernel mode
Process the system call
Return the result
Switch back to user mode
Process Management
• A process is a program in execution
– Unit of work
– Single- or multi-threaded
• Resource allocation
– Process needs resources to accomplish
its task
– CPU, memory, I/O, files, data
• Resources reclamation at process termination
• Program counter indicates the location
• Multiple processes can run concurrently on one
or more CPUs
– Concurrency by multiplexing the CPUs
among the processes / threads
Process Management
• Create and delete both user and system
• Suspend and resume processes
• Provide mechanisms for process
• Provide mechanisms for process
• Provide mechanisms for deadlock
Memory Management
• Instruction and data need to be in
main memory to be processed
• Keep track of which parts of
memory are currently used and by
• Decide which processes and data
to move into and out of memory
• Allocate and deallocate memory
space as needed
Mass Storage Management
• Performance bottleneck
– Orders of magnitude performance difference
between main memory & secondary storage
• OS activities
– Free space management
– Storage allocation
– Disk scheduling
• Some storage need not be fast
– Tertiary storage includes optical storage, magnetic
– Still must be managed
– Varies between WORM (write-once, read-manytimes) and RW (read-write)
I/O Subsystem
• Hide peculiarities of hardware devices from the user
• I/O subsystem responsible for
– Buffering: store data temporarily while it is being
– Caching: store parts of data in faster storage
– Spooling (Simultaneous Peripheral Operations OnLine)
• Put data in a designated buffer
• I/O device can pull the data at its own
• Print spooling can let a user do something
else while printing and request several
prints without waiting for one print
request to finish
– Device-driver interfaces
Two I/O Methods
• Synchronous I/O
• Application is blocked until the I/O finishes
• Only one I/O device is active
• Easy to determine which device needs service
• No concurrent I/O possible
I/O Interrupts
• Extract interrupt service vector
• Look up interrupt service table
• Save the current process status
such as the register values and
address of the interrupted
• Disable interrupt if necessary
• Transfer control to the interrupt
service routine
Interrupt Timeline
Direct Memory Access
• Used for high-speed I/O devices able to
transmit information at close to memory
• 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 one interrupt per
• Cycle stealing
Device-Status Table
Computer system architecture
• Single processor systems
• Multiprocessor systems
– Multiple CPUs sharing main memory
– Objectives
• Increase throughput
• Fault tolerance
– Asymmetric multiprocessing
• A master processor controls the system
– Symmetric multiprocessing (SMP)
• All processors are peers
• No master-slave relation
• Multiprocessor systems (continued)
– Multicore CPU
• Essentially multiprocessors on a single chip
• Faster communications between processors
• Uses much less power than multiple single-core
• Good for servers such as web/database servers
• Clustered systems
– A cluster consists of two or more individual
systems unlike multiprocessor systems
– Clustered computers share storage and
linked by a local area network, e.g.,
Ethernet or InfiniBand
– To support fault tolerance and high
performance, for example, in a web server
• Distributed systems
Tips: vmware player
• Available at
• More info. in page 39
• You don’t have to use it to do
assignments. Try this only if you are
looking for some extra fun and
challenges on your own.

similar documents