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

OS Chapter2 WS

Uploaded by

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

OS Chapter2 WS

Uploaded by

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

Operating System objective and functions, Evolution of

Operating System, Major Achievements, Development


Leading to Modern Operating System, Fault Tolerance,
OS Design Considerations for Multiprocessor and
Multicore, Traditional Unix System, Modern Unix
System, Linux.

WS 2.1-2.3 (pg.69-91),
WS 2.4-2.6 (pg.92-100),
WS 2.7- 2.10 (pg.108- 117)
OPERATING SYSTEM OBJECTIVES AND FUNCTIONS

● Convenience: An OS makes a computer more convenient to use

● Efficiency: An OS allows the computer system resources to be

used in an efficient manner.

● Ability to evolve: An OS should be constructed in such a way as

to permit the effective development, testing, and introduction

of new system functions without interfering with service.


The Operating System as a User/Computer Interface
The Operating System as a User/Computer Interface
Briefly, the OS typically provides services in the following areas:
● Program development
● Program execution
● Access to I/O devices
● Controlled access to files
● System access
● Error detection and response
● Accounting
● Instruction set architecture (ISA)
● Application binary interface (ABI)
● Application programming interface (API)
The Operating System
as Resource Manager
● The OS functions in the same
way as ordinary computer
software;
○ that is, it is a program or
suite of programs executed
by the processor.
● The OS frequently relinquishes
control, and must depend on the
processor to allow it to regain
control.
Ease of Evolution of an Operating System
● Hardware upgrades plus new types of hardware
● New services
● Fixes

Evolution of Operating Systems


● Serial Processing
● Simple Batch Systems
● Multiprogrammed Batch Systems
● Time-Sharing Systems
Evolution of Operating Systems - Serial Processing
● late 1940s to the mid-1950s
● the programmer interacted directly with the computer hardware; there was no OS
● run from a console consisting of display lights, toggle switches, some form of input
device, and a printer
● programs in machine code were loaded via the input device (e.g., a card reader).
○ If an error halted the program, the error condition was indicated by the lights
○ If the program proceeded to a normal completion, the output appeared on the
printer
● two main problems:
○ Scheduling
○ Setup time
Evolution of Operating Systems - Simple Batch
Systems
● The wasted time due to scheduling and setup time
was unacceptable
● To improve utilization, the concept of a batch OS
was developed
○ the use of a piece of software known as the
monitor
● The user no longer has direct access to the
processor.
○ Instead, submits the job (a single program)
on cards or tape to an operator, who batches
the jobs together sequentially and places the
entire batch on an input device
● Each program is constructed to branch back to
the monitor when it completes processing, at
which point the monitor automatically begins
loading the next program user mode, kernel mode
Evolution of Operating Systems - Multiprogrammed
Batch Systems
● Even with the automatic job sequencing provided by a simple batch OS, the processor is
often idle
○ The operator is human!
Evolution of Operating Systems - Multiprogrammed
Batch Systems
Evolution of Operating Systems - Multiprogrammed
Batch Systems
Evolution of Operating Systems - Multiprogrammed
Batch Systems
Evolution of Operating Systems - Multiprogrammed
Batch Systems
Evolution of Operating Systems - Multiprogrammed
Batch Systems
Evolution of Operating Systems - Time Sharing
Systems
● With the use of multiprogramming, batch processing can be quite efficient
● Just as multiprogramming allows the processor to handle multiple batch jobs at a time,
multiprogramming can also be used to handle multiple interactive jobs.
○ time sharing, because processor time is shared among multiple users
● Both batch processing and time sharing use multiprogramming
Evolution of Operating Systems - Time Sharing
Systems

Time sharing and multiprogramming raise a host of new problems for the OS.
● If multiple jobs are in memory, then they must be protected from interfering with each
other by, for example, modifying each other’s data.
● With multiple interactive users, the file system must be protected so only authorized
users have access to a particular file.
● The contention for resources, such as printers and mass storage devices, must be
handled.
MAJOR ACHIEVEMENTS

Four major theoretical advances in the development of operating systems:


1. Processes
2. Memory management
3. Information protection and security
4. Scheduling and resource management
DEVELOPMENTS LEADING TO MODERN OPERATING
SYSTEMS

Four major theoretical advances in the development of operating systems:


1. Microkernel architecture
2. Multithreading
3. Symmetric multiprocessing
4. Distributed operating systems
5. Object-oriented design
FAULT TOLERANCE
1. The reliability R(t) of a system is defined as the probability of its correct operation up to
time t given that the system was operating correctly at time t = 0.
2. Mean time to failure (MTTF)
3. The mean time to repair (MTTR) is the average time it takes to repair or replace a faulty
element.
4. The availability of a system or service is defined as the fraction of time the system is
available to service users’ requests.
a. The time during which the system is not available is called downtime
b. The time during which the system is available is called uptime
FAULT TOLERANCE

● The IEEE Standards Dictionary defines a fault as an erroneous hardware or software


state resulting from component failure, operator error, physical interference from the
environment, design error, program error, or data structure error.
● The standard also states that a fault manifests itself as (1) a defect in a hardware device or
component; for example, a short circuit or broken wire, or (2) an incorrect step, process, or
data definition in a computer program.
FAULT TOLERANCE
We can group faults into the following categories:
● Permanent: A fault that, after it occurs, is always present. The fault persists until the faulty
component is replaced or repaired.
○ Examples include disk head crashes, software bugs, and a burnt-out communications
component.
● Temporary: A fault that is not present all the time for all operating conditions. Temporary
faults can be further classified as follows:
○ Transient: A fault that occurs only once. Examples include bit transmission errors due
to an impulse noise, power supply disturbances, and radiation that alters a memory
bit.
○ Intermittent: A fault that occurs at multiple, unpredictable times. An example of an
intermittent fault is one caused by a loose connection.
FAULT TOLERANCE
In general, fault tolerance is built into a system by adding redundancy.
● Spatial (physical) redundancy
● Temporal redundancy
● Information redundancy

A number of techniques can be incorporated into OS software to support fault tolerance.


● Process isolation
● Concurrency controls
● Virtual machines
● Checkpoints and rollbacks
OS DESIGN CONSIDERATIONS FOR MULTIPROCESSOR
AND MULTICORE
Symmetric Multiprocessor OS Considerations:
● Simultaneous concurrent processes or threads
● Scheduling
● Synchronization
● Memory management
● Reliability and fault tolerance

Multicore OS Considerations:
● Parallelism within Applications
● Virtual Machine Approach
TRADITIONAL UNIX SYSTEMS
MODERN UNIX SYSTEMS
LINUX
LINUX
LINUX
Questions

● WS Review Questions - All


● WS Problems 2.1, 2.2

You might also like