Академический Документы
Профессиональный Документы
Культура Документы
(CS5433)
By
Program execution
OS handles scheduling of numerous tasks required to
execute a program
System access
System resources (CPU, Memory, etc)
Accounting
Collect usage statistics and monitoring
OS Kernel
Evolution of Operating Systems
Operating systems will evolve over time:
Hardware upgrades plus new types of hardware
e.g., Multi-/Many-core Processors
New services and increasing application
demands
Improved functionality and bug-free software
Operating System (Objectives/Functions)
The Evolution of Operating Systems
Major Achievements
Modern Operating Systems
Microsoft Windows Overview
UNIX Systems
Linux
Evolution of Operating Systems
Historical Milestones:
1. Serial Processing
2. Simple Batch Systems
3. Multiprogrammed batch systems
4. Time Sharing Systems
1. Serial Processing
No Operating System (1940s to mid 1950s)
Direct interaction to computer hardware (using
machine language)
Timer
Prevent a job from monopolizing system
Privileged instructions
Only executed by the monitor
E.g., IO (How a program does the IO?)
2. Kernel Mode
Monitor executes in kernel mode
Privileged instructions may be executed,
All memory accessible.
3. Multi-programmed Batch System
CPU often idle (in early Batch OS)
Even with automatic job sequencing.
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, may
assign processor to another user
CTSS Operation - Example
Example:
Four Jobs (and their size in memory words)
1. Job1: 15000
2. Job2: 20000
3. Job3: 5000
4. Job4: 10000
CTSS Operation - Example
Problems and Issues
Multiple jobs in memory must be protected
from each others data
Major Advances:
1. Processes
2. Memory management
3. Information Protection and Security
4. Scheduling and Resource Management
Process
Fundamental to the structure of OSs
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.
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)
Multi-programming environment
System Structure (Hierarchal View)
View system as a series of levels
Multi-
programming
Single
Process
Hardware
Level
Operating System (Objectives/Functions)
The Evolution of Operating Systems
Major Advances
Modern Operating Systems
Microsoft Windows Overview
UNIX Systems
Linux
Different Architectural Approaches
Design elements of a modern Operating System:
1. Microkernel Architecture
2. Multithreading
3. Symmetric Multiprocessing
4. Distributed Operating Systems
5. Object-Oriented Design
1. Microkernel Architecture
1. Most early OS are a monolithic kernel
Most OS functionality resides in the kernel.
Thread
Dispatchable unit of work
Executes sequentially, and is interruptible
Availability
Failure of a single processor does not halt
the system
Incremental Growth
Additional processors can be added.