0% found this document useful (0 votes)
15 views

02 OperatingSystemOverview

Uploaded by

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

02 OperatingSystemOverview

Uploaded by

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

Operating Systems:

Internals and Design Principles, 6/E


William Stallings

Chapter 2
Operating System Overview

Dave Bremer
Otago Polytechnic, N.Z.
©2008, Prentice Hall
Roadmap
– Operating System Objectives/Functions
– The Evolution of Operating Systems
– Major Achievements
– Developments Leading to Modern Operating
Systems
– Microsoft Windows Overview
– UNIX Systems
– Linux
Operating System
• A program that controls the execution of
application programs
• An interface between applications and
hardware
• Main objectives of an OS:
– Convenience
– Efficiency
– Ability to evolve
Layers and Views
Services Provided
by the Operating System
• Program development
– Editors and debuggers.
• Program execution
– OS handles scheduling of numerous tasks
required to execute a program
– User interface
• Access I/O devices
– Each device will have unique interface
– OS presents standard interface to users
Services cont…
• Controlled access to files
– Accessing different media but presenting a
common interface to users
– Provides protection in multi-access systems
• System access
– Controls access to the system and its
resources
Services cont…
• Error detection and response
– Internal and external hardware errors
– Software errors
– Operating system cannot grant request of
application
• Accounting
– Collect usage statistics
– Monitor performance
The Role of an OS
• A computer is a set of resources for the
movement, storage, and processing of
data.
• The OS is responsible for managing these
resources.
Operating System
as Software
• The OS functions in the same way as an
ordinary computer software
– It is a program that is executed by the CPU
• Operating system relinquishes control of
the processor
OS as
Resource Manager
Evolution of Operating
Systems
• Operating systems will evolve over time
– Hardware upgrades plus new types of
hardware
– New services
– Fixes
Roadmap
– Operating System Objectives/Functions
– The Evolution of Operating Systems
– Major Achievements
– Developments Leading to Modern Operating
Systems
– Microsoft Windows Overview
– UNIX Systems
– Linux
Evolution of
Operating Systems
• It may be easier to understand the key
requirements of an OS by considering the
evolution of Operating Systems
• Stages include
– Serial Processing
– Simple Batch Systems
– Multiprogrammed batch systems
– Time Sharing Systems
Serial Processing
• No operating system
• Machines run from a console with display
lights, toggle switches, input device, and
printer
• Problems include:
– Scheduling
– Setup time
Simple batch system
• Early computers were extremely
expensive
– Important to maximize processor utilization
• Monitor
– Software that controls the sequence of events
– Batch jobs together
– Program returns control to monitor when
finished
Monitor’s perspective
• Monitor controls the
sequence of events
• Resident Monitor is software
always in memory
• Monitor reads in job and
gives control
• Job returns control to monitor
Job Control Language
• Special type of programming language to
control jobs
• Provides instruction to the monitor
– What compiler to use
– What data to use
Desirable Hardware
Features
• Memory protection for monitor
– Jobs cannot overwrite or alter
• Timer
– Prevent a job from monopolizing system
• Privileged instructions
– Only executed by the monitor
• Interrupts
Modes of Operation
• User Mode
– User program executes in user mode
– Certain areas of memory protected from user
access
– Certain instructions may not be executed
• Kernel Mode
– Monitor executes in kernel mode
– Privileged instructions may be executed, all
memory accessible.
Multiprogrammed
Batch Systems
• CPU is often idle
– Even with automatic job sequencing.
– I/O devices are slow compared to processor
Uniprogramming
• Processor must wait for I/O instruction to
complete before preceding
Multiprogramming
• When one job needs to wait for I/O, the
processor can switch to the other job
Multiprogramming
Example
Utilization Histograms
Time Sharing Systems
• Using multiprogramming to handle multiple
interactive jobs
• Processor’s time is shared among multiple
users
• Multiple users simultaneously access the
system through terminals
Batch Multiprogramming
vs. Time Sharing
Early Example: CTSS
• Compatible Time-Sharing System (CTSS)
– Developed at MIT as project MAC
• Time Slicing:
– When control was passed to a user
– User program and data loaded
– Clock generates interrupts about every 0.2
sec
– At each interrupt OS gained control and could
assign processor to another user
CTSS Operation
Problems and Issues
• Multiple jobs in memory must be protected
from each other’s data
• File system must be protected so that only
authorised users can access
• Contention for resources must be handled
– Printers, storage etc
Roadmap
– Operating System Objectives/Functions
– The Evolution of Operating Systems
– Major Achievements
– Developments Leading to Modern Operating
Systems
– Microsoft Windows Overview
– UNIX Systems
– Linux
Major Advances
• Operating Systems are among the most
complex pieces of software ever
developed
• Major advances include:
– Processes
– Memory management
– Information protection and security
– Scheduling and resource management
– System
Process
• Fundamental to the structure of OS’s
• A process is:
– A program in execution
– An instance of a running program
– The entity that can be assigned to and
executed on a processor
– A single sequential thread of execution, a
current state, and an associated set of system
resources.
Unix Process
Inherited Properties
• user and group ids • signal masks
• process group id • close-on-exec flag
• controlling terminal • environment
• setuid flag • shared memory
• current working • resource limits
directory
• root directory (chroot)
• file creation mask
Causes of Errors when
Designing System Software
• Error in designing an OS are often subtle
and difficult to diagnose
• Errors typically include:
– Improper synchronization
– Failed mutual exclusion
– Non-determinate program operation
– Deadlocks
Components of
a Process
• A process consists of
– An executable program
– Associated data needed by the program
– Execution context of the program (or “process
state”)
• The execution context contains all
information the operating system needs to
manage the process
Process Management
Memory Management
• The OS has 5 principal storage
management responsibilities
– Process isolation
– Automatic allocation and management
– Support of modular programming
– Protection and access control
– Long-term storage
Virtual Memory
• File system implements long-term store
• Virtual memory allows programs to
address memory from a logical point of
view
– Without regard to the limits of physical
memory
Paging
• Allows process to be comprised of a
number of fixed-size blocks, called pages
• Virtual address is a page number and an
offset within the page
• Each page may be located any where in
main memory
Virtual Memory
Virtual Memory
Addressing
Information Protection
and Security
• The problem involves controlling access to
computer systems and the information
stored in them.
• Main issues are:
– Availability
– Confidentiality
– Data integrity
– Authenticity
Scheduling and
Resource Management
• Key responsibility of an OS is managing
resources
• Resource allocation policies must
consider:
– Fairness
– Differential responsiveness
– Efficiency
Key Elements of an
Operating System
System Structure
• View the system as a series of levels
• Each level performs a related subset of
functions
• Each level relies on the next lower level to
perform more primitive functions
• This decomposes a problem into a number
of more manageable subproblems
OS Design Hierarchy
Roadmap
– Operating System Objectives/Functions
– The Evolution of Operating Systems
– Major Achievements
– Developments Leading to Modern
Operating Systems
– Microsoft Windows Overview
– UNIX Systems
– Linux
Different Architectural
Approaches
• Various approaches have been tried,
categories include:
– Microkernel architecture
– Multithreading
– Symmetric multiprocessing
– Distributed operating systems
– Object-oriented design
Microkernel Architecture
• Most early OS are a monolithic kernel
– Most OS functionality resides in the kernel.
• A microkernel assigns only a few essential
functions to the kernel
– Address spaces
– Interprocess communication (IPC)
– Basic scheduling
Multithreading
• Process is divided into threads that can
run concurrently
• Thread
– Dispatchable unit of work
– executes sequentially and is interruptible
• Process is a collection of one or more
threads
Symmetric
multiprocessing (SMP)
• An SMP system has
– multiple processors
– These processors share same main memory
and I/O facilities
– All processors can perform the same
functions
• The OS of an SMP schedules processes
or threads across all of the processors.
SMP Advantages
• Performance
– Allowing parallel processing
• Availability
– Failure of a single process does not halt the
system
• Incremental Growth
– Additional processors can be added.
• Scaling
Multiprogramming and
Multiprocessing
Distributed
Operating Systems
• Provides the illusion of
– a single main memory space and
– single secondary memory space
• Early stage of development
Object-oriented design
• Used for adding modular extensions to a
small kernel
• Enables programmers to customize an
operating system without disrupting
system integrity
Roadmap
– Operating System Objectives/Functions
– The Evolution of Operating Systems
– Major Achievements
– Developments Leading to Modern Operating
Systems
– Microsoft Windows Overview
– UNIX Systems
– Linux
Single-User
Multitasking
• From Windows 2000 on Windows
development developed to exploit modern
32-bit and 64-bit microprocessors
• Designed for single users who run multiple
programs
• Main drivers are:
– Increased memory and speed of
microprocessors
– Support for virtual memory
Windows Architecture
Client/Server Model
• Windows OS, protected subsystem, and
applications all use a client/server model
– Common in distributed systems, but can be
used internal to a single system
• Processes communicate via RPC
Windows Objects
• Windows draws heavily on the concepts of
object-oriented design.
• Key Object Oriented concepts used by
Windows are:
– Encapsulation
– Object class and instance
Roadmap
– Operating System Objectives/Functions
– The Evolution of Operating Systems
– Major Achievements
– Developments Leading to Modern Operating
Systems
– Microsoft Windows Overview
– UNIX Systems
– Linux
Description of UNIX
Traditional UNIX Kernel
System V Release 4
(SVR4)
Roadmap
– Operating System Objectives/Functions
– The Evolution of Operating Systems
– Major Achievements
– Developments Leading to Modern Operating
Systems
– Microsoft Windows Overview
– UNIX Systems
– Linux
Modular
Monolithic Kernel
• Although monolithic, the kernel is
structures as a collection of modules
– Loadable modules
– An object file which can be linked and
unlinked at run time
• Characteristics:
– Dynamic Linking
– Stackable modules
Linux Kernel Modules
Linux Kernel
Components

You might also like