You are on page 1of 27

Chapter 1

Operating System Environment


Part 1

DFC2043 Operating System

Chapter Summary
At the end of this chapter, student will be

able to:
1)Define operating system
2)List the use of operating system in
computer system
3)Describe various OS architecture
4)Describe various types of OS

FP202 Fundamental Of Operating System

Introduction to Operating
System (OS)
Software program that controls the hardware.
Definition of an operating system can be seen in

four aspects:
1) A group of program that acts as an intermediary
between a user and the computer hardware.
2) Controls and co-ordinates the use of computer
resources among various application programs
and user.
3) Acts as a manager
4) Allow the program to communicate with one
another
FP202 Fundamental Of Operating System

Introduction to Operating
System (OS)
Basically, two types of software available:
1)System software

- Groups of program that control the hardware


2)Application software
- Groups of programs that used by the end-user for
various
applications such as text processing, spreadsheet, etc
OS categorized as system software
- Build to act as an intermediary between user of a
computer and computer hardware
- Goal: Provide convenient and efficient environment
for the user
FP202 Fundamental Of Operating System

Introduction to Operating
System (OS)
User1

User2

User3

System and application programs


Operating system
Hardware

Figure 1: Abstract view of the components of a


computer system
FP202 Fundamental Of Operating System

Introduction to Operating
System (OS)
Functions:

1) Resource Sharing
- The OS contains a set of algorithms that allocates
resources to the programs executed on behalf of the
user.
- These resources include time, power, hardware, etc...
2) Control Program
- The control program controls the operation of the
application programs to prevent errors affecting other
programs.
3) Provision of a Virtual Machine
-This hides interfaces to I/O devices, filing systems, etc,
and provides a programming interface for applications.
4) Kernel
-The kernel is the only program resident all the time (all
other applications are application programs).
FP202 Fundamental Of Operating System

Introduction to Operating
System (OS)
OS has three objectives:
1) Convenience

- An OS make a computer more convenient to be


used
2) Efficiency
- An OS allows the computer system resources to
be used in an efficient manner
3) Ability to evolve
- An OS is constructed in such a way to as to
permit the effective development, testing and
introduction of new system function without at the
same time interfering with service.
FP202 Fundamental Of Operating System

OPERATING
SYSTEM
ARCHITECTURE
FP202 Fundamental Of Operating System

1) Monolithic System
This approach well known as The Big Mess - there is no

structure.
All kernel routines are together, any can call any
A system call interface (main program, sys calls, utility functions)
Examples: Linux, BSD Unix, Windows
Pros
1)Shared kernel space
2)Good performance
Cons
1)No information hiding
2) Inflexible
3) Chaotic
4)Difficult to understand

FP202 Fundamental Of Operating System

2) Layered System
The operating system is divided into a number of layers (levels),

each built on top of lower layers. The bottom layer (layer 0), is the
hardware; the highest (layer N) is the user interface.
With modularity, layers are selected such that each uses functions
(operations) and services of only lower-level layers.
Hiding information at each layer
E.g. level 1 is processor allocation, level 1 memory management,
level 2 communication, level 3 I/O, etc.
Examples: THE System (6 layers), MS-DOS (4 layers)
Pros
1) Layered abstraction
2) Separation of concerns, elegance
Cons
1) Protection, boundary crossings

FP202 Fundamental Of Operating System

3) Client-server model or
microkernel
The advent of new concepts in OS design, microkernel is aimed

at migrating services of an operating system out of monolithic


kernel into user level process.
Divide the OS into several processes, each which implements a
single set of services
- Example: I/O servers, memory server, process server
Each server runs in user mode, provide services to the requested
client.
Client: Another operating system component or application
program, request service by sending message to server
An OS kernel (microkernel) running in kernel mode deliver
message to the server.
The server perform operation, and microkernel delivers the
result to client in another message.

FP202 Fundamental Of Operating System

Client-server model or
Components above microkernel communicate
microkernel

directly with one another, although using message


that pass through the microkernel itself.
Microkernel validate messages, passes them
between the components and grants access to
hardware.
Example: C-DAC microkernel, Mach, Windows NT,
Chorus

FP202 Fundamental Of Operating System

Client-server model or
microkernel

FP202 Fundamental Of Operating System

Example: Windows NT
Various applications (Win32, OS/2, and POSIX) run

in user space.
Server for each application runs in user space.
Message passing between client application
programs and application servers runs in kernel
space.

FP202 Fundamental Of Operating System

OPERATING
SYSTEM TYPES

1) Batch Operating System


A batch system is one in which jobs are bundled

together with the instructions necessary to allow them


to be processed without intervention.
The basic physical layout of the memory of a batch job
computer is shown below:

Monitor (permanently
resident)
-

User Space
(compilers,
programs,
The monitor
is system software
that isdata,
responsible for
etc.)
interpreting and carrying
out the instructions in the

batch jobs.
- When the monitor starts a job, the entire computer is
dedicated to the job, which then controls the computer
until it finishes.

Advantages:
1)Move much of the work of the operator to the

computer
2)Increased performance since it was possible for job
to start as soon as the previous job finished
Disadvantages:
1)Due to lack of protection scheme, one batch job can
affect
pending jobs (read too many cards, etc)
Example: A job could corrupt the monitor, thus
affecting pending jobs
2)A job could enter an infinite loop

2) Multiprogramming Operating
System
As machines with more and more memory became

available, it was possible to extend the idea of


multiprogramming (or multiprocessing) as used in
batch systems.
This create a systems that would load several jobs
into memory at once and cycle through them in
some order, working on each one for a specified
period of time.
Monitor (more like an operating
The basic physical
layout of
a multiprogramming
system)
system is as shown:
User program 1
User program 2
User program 3
User program 4

At this point the monitor is growing to the point

where it begins to resemble a modern operating


system.
It is responsible for:
1)Starting user jobs
2)Spooling operations
3)IO for user jobs
4) Switching between user jobs
5) Ensuring proper protection while doing the above

There are different type of Multiprogramming

Operating System such as:


1)Multitasking Operating System
A type of multiprogramming operating system

which can perform several process simultaneously.


The earliest multitasking OS available to home
users was the AmigaOS.
All current major operating system support this
feature.

2) Multi-user Operating System

A multi-user operating system allows for


multiple users to use the same computer at the
same time and/or different times.
Linux, Unix,Windows OS are some example of
multitasking operating system.

3) Multiprocessing Operating System

An operating system capable of supporting and


utilizing more than one computer.

4) Real Time Operating System

Often used as a control device in a dedicated


application such as controlling scientific
experiments, medical imaging systems,
industrial control systems, and some display
systems.
Well-defined fixed-time constraints.

A Distributed Operating System is the one that runs

on multiple, autonomous CPUs which provides its


users an illusion of an ordinary Centralized
Operating System that runs on a Virtual
Uniprocessor.
Distributed Operating Systems provide resource
transparency to the user processes.
If you can tell which computer you are using, you
are not using a distributed operating system. Tanenbaum

3) Distributed Operating
System
The Distributed Operating System is unique and

resides on different machines.


User processes can run on any of the CPUs as
allocated by the Distributed Operating System.
Data can be resident on any machine that is the
part of the Distributed System.
All multi-machine systems are not Distributed
Systems.
It is the software not the hardware that determines
whether a system is distributed or not - Tanenbaum

Advantages:
1) Price/Performance advantage (Availability of cheap

and powerful Microprocessors).


2) Resources Sharing
3) Computation speed up load sharing
4) Reliability and Availability.
5) Provides Transparency.
Disadvantages:
1) Lack of security - Easy access also applies to secret

data.

An example of a distributed system: Amoeba


- An open source microkernel-based distributed

operating system developed by Andrew S. Tanenbaum


and others at the Vrije Universiteit.
- The aim of the Amoeba project is to build a
timesharing system that makes an entire network of
computers appear to the user as a single machine.
- Development seems to have stalled: the files in the
latest version (5.3) were last modified on 12 February
2001.
- Amoeba runs on several platforms, including i386,
i486, 68030, Sun 3/50 and Sun 3/60.

An example of a distributed system: Amoeba


- An open source microkernel-based distributed

operating system developed by Andrew S. Tanenbaum


and others at the Vrije Universiteit.
- The aim of the Amoeba project is to build a
timesharing system that makes an entire network of
computers appear to the user as a single machine.
- Development seems to have stalled: the files in the
latest version (5.3) were last modified on 12 February
2001.
- Amoeba runs on several platforms, including i386,
i486, 68030, Sun 3/50 and Sun 3/60.

You might also like