Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
System
CHAPTER FOUR
OPERATING SYSTEM
Overview
The reason for an operation system to exist is to make computers more convenient to use. An OS aims
to wrap the underneath hardware resources and provides services to end users in a systematic way.
These services may be divided into two types: services directly available for end users through all kinds
of I/O devices, such as mouse, keyboard, monitor, printer, and so on; and services for application
programs, which in turn provides services for end users.
The goal of this chapter is to help you become literate on Operating System. In becoming literate on
Operating System, you will need to be aware of the importance of computers and be able to use them to
accomplish tasks everyday.
Learning Objectives:
Operating System
Organization of Operating System
Page- 58
Chapter Four Operating
System
Introduction
An operating system (OS) is software, consisting
of programs and data, that runs on computers,
manages computer hardware resources, and
provides common services for execution of various
application software. The operating system is the
most important type of system software in a
computer system. Without an operating system, a
user cannot run an application program on their
computer, unless the application program is self
booting.
For hardware functions such as input and output
and memory allocation, the operating system acts
as an intermediary between application programs
and the computer hardware,although the
Figure 4.1: Position of Operating System
application code is usually executed directly by the hardware and will frequently call the OS or be
interrupted by it. Operating systems are found on almost any device that contains a computer—from
cellular phones and video game consoles to supercomputers and web servers.
Examples of popular modern operating systems are: BSD, Linux, Mac OS X, Microsoft Windows, and
UNIX.
Page- 59
Chapter Four Operating
System
Kernel
A kernel connects the application software to the hardware of a computer.
With the aid of the firmware and device drivers, the operating system provides the most basic level of
control over all of the computer's hardware devices. It manages memory access for programs in the
RAM, it determines which programs get access to which hardware resources, it sets up or resets the
CPU's operating states for optimal operation at all times, and it organizes the data for long-term non-
volatile storage with file systems on such media as disks, tapes, flash memory, etc.
Page- 60
Chapter Four Operating
System
1. Control Program
Control program controls different types of functions such as:
1. I/O Control
2. Resolving Interrupts
3. Error-Handling
4. Sending message to users
5. User Protection and Accounting
6. Time Allocation
7. Resource Control
8. Job Scheduling
a) Supervisory program
A supervisory program or supervisor is a computer program, usually part of an operating system, that
controls the execution of other routines and regulates work scheduling, input/output operations, error
actions, and similar functions and regulates the flow of work in a data processing system.
It can also refer to a program that allocates computer component space and schedules computer events
by task queuing and system interrupts. Control of the system is returned to the supervisory program
frequently enough to ensure that demands on the system are met.
Page- 61
Chapter Four Operating
System
b) Job-Control Program
Job control in computing refers to the control of multiple tasks or Jobs on a computer system, ensuring
that they each have access to adequate resources to perform correctly, that competition for limited
resources does not cause a deadlock where two or more jobs are unable to complete, resolving such
situations where they do occur, and terminating jobs that, for any reason, are not performing as
expected.
2. Service Program
Different services are provided by operating systems to the convenience of the users. The services are:
a) Translator/Processor Program
Translator is a computer program that performs the task of converting a program written in one
programming language into a program in another programming language. Translators of
programming languages are mainly classified into two groups depending on the nature of the source
language accepted by them.
Example of Translator:
1. Compiler
2. Assembler
3. Interpreter
4. Debugger
b) Utility Program
There are some utility program in mainframe and mini computer operating system. Example of utility
program
1. Sort-Merge program
2. Library Program
3. Linker Program and
4. File Handler
Real-time
A real-time operating system is a multitasking operating system that aims at executing real-
time applications. Real-time operating systems often use specialized scheduling algorithms so
that they can achieve a deterministic nature of behavior. The main objective of real-time
operating systems is their quick and predictable response to events. They have an event-driven
or time-sharing design and often aspects of both. An event-driven system switches between
Page- 62
Chapter Four Operating
System
tasks based on their priorities or external events while time-sharing operating systems switch
tasks based on clock interrupts.
Multi-user vs. Single-user
A multi-user operating system allows multiple users to access a computer system concurrently.
Time-sharing system can be classified as multi-user systems as they enable a multiple user
access to a computer through the sharing of time. Single-user operating systems, as opposed to
a multi-user operating system, are usable by a single user at a time. Being able to have multiple
accounts on a Windows operating system does not make it a multi-user system. Rather, only
the network administrator is the real user. But for a Unix-like operating system, it is possible
for two users to login at a time and this capability of the OS makes it a multi-user operating
system.
Multi-tasking vs. Single-tasking
When a single program is allowed to run at a time, the system is grouped under a single-
tasking system, while in case the operating system allows the execution of multiple tasks at
one time, it is classified as a multi-tasking operating system. Multi-tasking can be of two types
namely, pre-emptive or co-operative. In pre-emptive multitasking, the operating system slices
the CPU time and dedicates one slot to each of the programs. Unix-like operating systems such
as Solaris and Linux support pre-emptive multitasking. Cooperative multitasking is achieved
by relying on each process to give time to the other processes in a defined manner. MS
Windows prior to Windows 95 used to support cooperative multitasking.
Distributed
A distributed operating system manages a group of independent computers and makes them
appear to be a single computer. The development of networked computers that could be linked
and communicate with each other, gave rise to distributed computing. Distributed
computations are carried out on more than one machine. When computers in a group work in
cooperation, they make a distributed system.
Embedded
Embedded operating systems are designed to be used in embedded computer systems. They are
designed to operate on small machines like PDAs with less autonomy. They are able to operate
with a limited number of resources. They are very compact and extremely efficient by design.
Windows CE and Minix 3 are some examples of embedded operating systems.
Microsoft Windows
Microsoft Windows is a family of proprietary
operating systems designed by Microsoft Corporation
and primarily targeted to Intel architecture based
computers, with an estimated 88.9 percent total usage
share on Web connected computers. Currently, the
most widely used version of the Windows family is
Windows XP, released on October 25, 2001. The
newest version is Windows 7 for workstations and
Windows Server 2008 R2 for servers. Microsoft
Windows originated in 1985 as an application
running on top of MS-DOS, which was the standard
operating system shipped on most Intel architecture
Page- 63
Chapter Four Operating
System
personal computers at the time. In 1995, Windows 95 was released, combining MS-DOS 7.0 with
Windows on the same medium, removing the need of getting a separate MS-DOS license. Server
editions of Windows are widely used.
Mac OS X
Mac OS X is a line of partially proprietary graphical operating systems developed, marketed, and sold
by Apple Inc., the latest of which is pre-loaded on all
currently shipping Macintosh computers. Mac OS X
is the successor to the original Mac OS, which had
been Apple's primary operating system since 1984.
Unlike its predecessor, Mac OS X is a UNIX
operating system built on technology that had been
developed at NeXT through the second half of the
1980s and up until Apple purchased the company in
early 1997. Operating system was first released in
1999 as Mac OS X Server 1.0, with a desktop-
oriented version (Mac OS X v10.0) following in
March 2001. Since then, six more distinct "client" and "server" editions of Mac OS X have been
released, the most recent being Mac OS X 10.7, which was first made available on July 20, 2011.
Releases of Mac OS X are named after big cats; the current version of Mac OS X is "Lion".
Page- 64
Chapter Four Operating
System
System Library - System libraries are special functions or programs using which application
programs or system utilities accesses Kernel's features. These libraries implements most of the
functionalities of the operating system and do not requires kernel module's code access rights.
System Utility - System Utility programs are responsible to do specialized, individual level
tasks.
Basic Features
Following are some of the important features of Linux Operating System.
Portable - Portability means softwares can works on different types of hardwares in same
way.Linux kernel and application programs supports their installation on any kind of hardware
platform.
Open Source - Linux source code is freely available and it is community based development
project. Multiple teams works in collaboration to enhance the capability of Linux operating
system and it is continuously evolving.
Multi-User - Linux is a multiuser system means multiple users can access system resources
like memory/ ram/ application programs at same time.
Multiprogramming - Linux is a multiprogramming system means multiple applications can
run at same time.
Hierarchical File System - Linux provides a standard file structure in which system files/ user
files are arranged.
Shell - Linux provides a special interpreter program which can be used to execute commands
of the operating system. It can be used to do various types of operations, call application
programs etc.
Security - Linux provides user security using authentication features like password protection/
controlled access to specific files/ encryption of data.
received via the telecommunication line, is treated as batch and the processed results are communicated
back instantaneously, enabling decision to be made on the basis of the last latest information.
Page- 66
Chapter Four Operating
System
the main memory. Another program C, residing in the main memory, is waiting for the CPU to become
free.
In case of multiprogramming the various programs stored in the main memory, can be in one of the
following three stages:
1. Running: CPU is being used by the program.
2. Ready: Waiting for CPU to be assigned to it.
3. Blocked: Performing I/O operation.
Advantages of multiprogramming:
1. Increased Throughput
Throughput is a measure of the total amount of processing that a computer system can complete over a
fixed period of time. Total through put is significantly increased in multiprogramming because the CPU
is not waiting for I/O for the program it is executing.
2. Shorter Response Time
Turn around time for short jobs can be greatly improved under multiprogramming.
3. Ability to assign priorities of jobs
Most multiprogramming systems have schemes for setting priorities for rotating programs.
Page- 67
Chapter Four Operating
System
client and server. This arrangement is suitable for environments with a limited number of users. In these
models users need to freely access data and programs that reside on other computers across the network.
2. I/O Operations
Each program requires an input and produces output. This involves the use of I/O. The operating
systems hides the user the details of underlying hardware for the I/O. All the user sees is that the I/O has
been performed without any details. So the operating systems by providing I/O make it convenient for
the users to run programs.
For efficiently and protection users cannot control I/O so this service cannot be provided by user-level
programs.
4. Communications
There are instances where processes need to communicate with each other to exchange information. It
may be between processes running on the same computer or running on the different computers. By
providing this service the operating system relieves the user of the worry of passing messages between
Page- 69
Chapter Four Operating
System
processes. In case where the messages need to be passed to processes on the other computers through a
network it can be done by the user programs. The user program may be customized to the specifics of
the hardware through which the message transits and provides the service interface to the operating
system.
5. Error Detection
An error is one part of the system may cause malfunctioning of the complete system. To avoid such a
situation the operating system constantly monitors the system for detecting the errors. This relieves the
user of the worry of errors propagating to various part of the system and causing malfunctioning.
Some popular operating systems for microcomputers
The following table 4.1 describes some popular operating system:
Difference between the batch multiprogramming and time sharing operating system
The following table 4.2 gives the difference between the batch multiprogramming and time sharing:
Difference between the Text based and graphical based operating system
The following table 4.3 gives the difference between the Text based and graphical based operating:
Text based Operating System Graphical based Operating System
Instructions are given in Text based Operating Instructions are given in Graphical based
System by using keyboard. Operating System by using keyboard, mouse,
menu, icons etc
Commands in this operating system needs to There is no need to memorize Commands in this
memorize for different functions. operating system for different functions
After starting this operating system the symbols After starting this operating system different icon,
Page- 70
Chapter Four Operating
System
C:\>- appears at the top left corner. pictures come to the desktop for using.
Small amount of memory is needed for this Large amount of memory is needed for this
operating system operating system
Users can perform their operations very Users can not perform their operations very speedy
speedy. compared with Text based Operating System.
Example of Text based Operating Systems are Example of Graphical based Operating System are
MS DOS, PC DOS,UNIX, LINUX etc MS WINDOWS 95/98/2000,XP, VISTA,
WNDOWS 7, MAC OS etc.
Difference between the Time sharing and Real Time operating system
The following table 4.4 gives the difference between the Time sharing and Real Time operating system:
The following table 4.5 gives the difference between the Batch Processing and Multiprogramming
operating system:
Page- 71
Chapter Four Operating
System
Exercise
1. What do you mean by Operating System?
2. What are the Common features of Operating System?
3. What are the functions of Operating System?
4. Briefly describe about the Organization of Operating System.
5. Briefly describe about the types of Operating System.
6. What are the differences between the batch multiprogramming and time sharing operating system?
7. What are the differences between the Text based and graphical based operating system?
8. What are the differences between the Time sharing and Real Time operating system?
9. What are the differences between the Batch Processing and Multiprogramming operating system?
Page- 72