1. HASSAN BIN ALI
Department of IT & Communication
Politeknik Tuanku Syed Sirajuddin
FP202 Fundamental Of Operating System
2. 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
3. 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
user, software and 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
4. Basically, two types of software available:
1) System software
- Groups of program that control the hardware
Systems software includes compilers,loaders, linkers, and
debuggers.
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
5. 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
6. Functions OS:
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
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
7. 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
8. OPERATING
SYSTEM
ARCHITECTURE
FP202 Fundamental Of Operating
System
9. 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
10. 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
11. 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
12. Components above microkernel communicate 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
14. 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
16. 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
- The monitor is system software that is responsible for interpreting
(compilers, programs, data,
and carrying out the instructions in the batch jobs.
etc.)
- When the monitor starts a job, the entire computer is dedicated to
the job, which then controls the computer until it finishes.
17. 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
18. 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.
The basic physical layout of a multiprogramming system is as
shown:
Monitor (more like an operating
system)
User program 1
User program 2
User program 3
User program 4
19. 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
20. 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.
21. 2) Multi-user Operating System
A multi-user operating system allows for multiple users to
use the same process 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.
22. 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.
23. The Distributed Operating System is 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 System provide resource tranparency to
the users processes.
“If you can tell which computer you are using, you are not
using a distributed system ” - Tanenbaum
24. w o rk
s t a t io n s a lo c a l n e t w o r k
T h e In te rn e t
a n e tw o rk h o s t
Distributed Operating System
FP202 Fundamental Of Operating
System
25. 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.
26. 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.