Prepared by: Nor Zuraida Bt Mohd
Gaminan
Department of IT & Communication
Politeknik Tuanku Syed Sirajuddin
Chapter 1
Chapter Summary
At the end of this chapter, student will be
able to:
1)
Defne operating system
2)
List the use of operating system in
computer system
Introduction to Operating
System (OS)
Software program that controls the hardware.
Defnition 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
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
Introduction to Operating
System (OS)
User1 User2 User3
System and application programs Operating system
Hardware
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 afecting other programs.
3) Provision of a Virtual Machine
-This hides interfaces to I/O devices, fling systems, etc, and provides a programming interface for applications.
4) Kernel
Introduction to Operating
System (OS)
OS has three objectives:
1) Convenience
- An OS make a computer more convenient to be used
2) Efciency
- An OS allows the computer system resources to be used in an efcient manner
3) Ability to evolve
- An OS is constructed in such a way to as to permit the efective development, testing and
OPERATING
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)Difcult to understand
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
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.
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
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
OPERATING
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:
- The monitor is system software that is responsible for 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
Monitor (permanently resident)
User Space
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 fnished
Disadvantages:
1)Due to lack of protection scheme, one batch job can afect
pending jobs (read too many cards, etc)
Example: A job could corrupt the monitor, thus afecting pending jobs
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 specifed 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
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
There are diferent 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
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 diferent times.
Linux, Unix,Windows OS are some example of
multitasking operating system.
3) Multiprocessing Operating System
An operating system capable of supporting and
4) Real Time Operating System
Often used as a control device in a dedicated
application such as controlling scientifc experiments, medical imaging systems,
industrial control systems, and some display systems.
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.” -
3) Distributed Operating
System
The Distributed Operating System is unique and
resides on diferent 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.
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
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 fles in the
latest version (5.3) were last modifed on 12 February 2001.
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 fles in the
latest version (5.3) were last modifed on 12 February 2001.