Слайд 2
Roadmap
Operating System Objectives/Functions
The Evolution of Operating Systems
Major Achievements
Developments
Leading to Modern Operating Systems
Microsoft Windows Overview
UNIX Systems
Linux
Слайд 3
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
Слайд 5
Services Provided
by the Operating System
Program development
Editors and
debuggers.
Program execution
OS handles scheduling of numerous tasks required to
execute a program
Access I/O devices
Each device will have unique interface
OS presents standard interface to users
Слайд 6
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
Слайд 7
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
Слайд 8
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.
Слайд 9
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
Слайд 10
Evolution of Operating Systems
Operating systems will evolve over
time
Hardware upgrades plus new types of hardware
New services
Fixes
Слайд 11
Roadmap
Operating System Objectives/Functions
The Evolution of Operating Systems
Major Achievements
Developments
Leading to Modern Operating Systems
Microsoft Windows Overview
UNIX Systems
Linux
Слайд 12
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
Слайд 13
Serial Processing
No operating system
Machines run from a console
with display lights, toggle switches, input device, and printer
Problems
include:
Scheduling
Setup time
Слайд 14
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
Слайд 15
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
Слайд 16
Job Control Language
Special type of programming language to
control jobs
Provides instruction to the monitor
What compiler to
use
What data to use
Слайд 17
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
Слайд 18
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.
Слайд 19
Multiprogrammed
Batch Systems
CPU is often idle
Even with
automatic job sequencing.
I/O devices are slow compared to processor
Слайд 20
Uniprogramming
Processor must wait for I/O instruction to complete
before preceding
Слайд 21
Multiprogramming
When one job needs to wait for I/O,
the processor can switch to the other job
Слайд 23
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
Слайд 24
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
Слайд 26
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
Слайд 27
Roadmap
Operating System Objectives/Functions
The Evolution of Operating Systems
Major Achievements
Developments
Leading to Modern Operating Systems
Слайд 28
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
Слайд 29
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.
Слайд 30
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
Слайд 31
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
Слайд 32
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
Слайд 33
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
Слайд 34
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 anywhere in main memory
Слайд 37
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
Слайд 38
Scheduling and
Resource Management
Key responsibility of an OS is
managing resources
Resource allocation policies must consider:
Fairness
Differential responsiveness
Efficiency
Слайд 39
Key Elements of an
Operating System
Слайд 40
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
Слайд 42
Roadmap
Operating System Objectives/Functions
The Evolution of Operating Systems
Major Achievements
Developments
Leading to Modern Operating Systems
Microsoft Windows Overview
UNIX Systems
Linux
Слайд 43
Different Architectural Approaches
Various approaches have been tried, categories
include:
Microkernel architecture
Multithreading
Symmetric multiprocessing
Distributed operating systems
Object-oriented design
Слайд 44
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
Слайд 45
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
Слайд 46
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.
Слайд 47
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
Слайд 48
Multiprogramming and Multiprocessing
Слайд 49
Distributed
Operating Systems
Provides the illusion of
a single
main memory space and
single secondary memory space
Early
stage of development