Chapter 1 Summary Operating System Concepts 9th Edition
Chapter 1 Summary Operating System Concepts 9th Edition
Chapter 1 summary
• Operating system: a program that acts as an intermediary between a user of a computer
and the computer hardware.
• Operating system goals:
o Execute user programs and make solving user problems easier.
o Make the computer system convenient to use.
o Use the computer hardware in an efficient manner.
• Computer system can be divided into four components:
o Hardware – provides basic computing resources
▪ CPU, memory, I/O devices.
o Operating system
▪ Controls and coordinates use of hardware among various applications and
users.
o Application programs – define the ways in which the system resources are used
to solve the computing problems of the users.
▪ Word processors, compilers, web browsers, database systems, video
games.
o Users
▪ People, machines, other computers.
• What operating system does?
o User view:
▪ Convenience, Ease of use.
▪ Do not care about resource utilization.
▪ But shared computer such as mainframe or minicomputer must keep all
users happy.
▪ Users of dedicate systems such as workstations have dedicated resources
but frequently use shared resources from servers (internet).
▪ Handheld computers (mobile phones) are resource poor, optimized for
usability and battery life.
▪ Some computers have little or no user interface, such as embedded
computers in devices (cars) and automobiles.
o System view:
▪ 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.
• No universally accepted definition of what part of the operating system is.
Operating Systems 1 Mark Rofaeel
• Storage structure:
o Main memory – only large storage media that the CPU can access directly
▪ Random access
▪ Volatile
o 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.
▪ Solid-state disks – faster than magnetic disks
• Storage hierarchy:
o Storage systems organized in hierarchy:
▪ Speed
▪ Cost
▪ Volatility
▪ Storage
o Caching – copying information into faster storage system
▪ Main memory can be viewed as a cache for secondary storage.
o Device Driver for each device controller to manage I/O
▪ Provides interface between controller and kernel
• I/O Structure:
o 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.
o After I/O starts, control returns to user program without waiting for I/O
completion:
▪ System call – request to the OS 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.
▪ OS indexes into I/O device table to determine device status and to
modify table entry to include interrupt.
• Direct memory access structure:
o Used for high-speed I/O devices able to transmit information at close to
memory speeds
o Device controller transfers blocks of data from buffer storage directly to main
memory without CPU intervention.
o Only one interrupt is generated per block, rather than the one interrupt per
byte.
• Computer-System architecture:
o Most systems use a single general-purpose processor.
o Multiprocessors systems growing in use and importance.
▪ Also known as parallel or multicore systems
▪ Advantages include:
• Increased throughput (number of processes per unit of time)
• Economy of scale
• Increased reliability – graceful degradation or fault tolerance
▪ Two types:
• Asymmetric Multiprocessing (each processor is assigned a task)
• Symmetric Multiprocessing (each processor performs all tasks)
• Multiprogramming needed for efficiency:
o Multiprogramming organizes jobs, so CPU always has one to execute.
o A subset of total jobs in the system is kept in memory.
o A jobs set is selected from a pool via job scheduling.
o When a job must wait (for I/O for example), OS switches to another job.
• Typically, a system has many processes running concurrently on one or more CPUs
o Some user processes and others system processes.
o Concurrency by multiplexing the CPUs among the processes / threads.
• Memory management allows keeping several programs in memory.
• Memory management activities:
o Keeping track of which parts of memory are currently being used and by whom
o Deciding which processes and data to move into and out of memory.
o Allocating and deallocating memory space as needed.
• File: Abstracts physical properties to logical storage unit.
• 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.
• Tertiary storage includes optical storage, magnetic tape.
• Multitasking environments must be careful to use most recent value, no 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.
• I/O Subsystem:
o One purpose of OS is to hide individuality of hardware devices from the user.
o I/O subsystem responsible for:
▪ Memory management of I/O including:
• buffering - storing data temporarily while it is being transferred.
• caching - storing parts of data in faster storage for performance.
• spooling - overlapping of output of one job with input of other
jobs.
▪ General device-driver interface.
▪ Drivers for specific hardware devices.
• Protection – any mechanism for controlling access of processes or users to resources
defined by the OS.
• Security – defense of the system against internal and external attacks.
• Systems generally first distinguish among users, to determine who can do what.
o User identities (user IDs, security IDs) include name and associated number,
one per user.
o User ID then associated with all files, processes of that user to determine
access control.
o Group identifier (group ID) allows set of users to be defined and controls
managed, then also associated with each process, file.
o Privilege escalation allows user to change to effective ID with more rights.