Unit 3
Computer Software: Software refers to a set of computer
program that are required to enable the hardware to
work and perform varieties of users task. A computer
program is basically a set of logical instructions written in
a computer programming language that tells computer
how to perform the task. Software is therefore, an
essential interface between the hardware and the user.
Basically there are two types of software’s
1) System Software: It performs the basic functions
necessary to start and operate the computer system
i.e it is responsible to boot the computer system. It
controls and monitors the various activities and
resources of computer and makes it easier and more
efficient to use the computer. Types of System
Software:
i) Operating system:
ii) Utility program
iii) Device Drivers
iv) Language Translator
i) Operating System: It is system software that provides
the interface between computer and hardware, and the
application program or user. It performs the
communication between users and computer. It also
manages the use of hardware resources and enable
proper implementation of application program. In short,
the O.S. is the master control program of computer
system. E.g Window, Linux, Unix etc.
ii) Utility Program: Utility program refers to small
program which provides additional capabilities to the
computer system in addition to the one provided by
operating system i.e utility programs enhance the
productivity of our computer system. It enables the
operating system to perform some additional task like
searching, printing, scanning the virus, fragmenting the
disk etc.
v) Device Driver: A computer system is connected
with multiple input output (I/0) devices, so that it
can communicate with users. In order to interact
with I/O devices a computer system requires
special kind of software called device driver.
Device driver acts as an interface between I/O
device and computer. A device driver of input
device convert the input provided by user into
computer understandable form (binary). Similarly,
the device driver of output device convert the
result into human understandable form. In other
word, device driver instruct the hardware the way
it should communicate between the user and
computer.
vi) Language Translator: It is used to translate the
program written in high level language into
machine level language i.e 0 and 1. E.g compiler,
Intrepreter etc.
2)Application software: It includes varieties of program
that are design to meet the information processing
need of user i.e it is a software which is design to
perform the task of users. The application software
is further divided into two types:
a) Tailored software: It is a software that is
developed according to the need of the user i.e
the user will give all the essential requirement and
the developer will develop the software according
to user need. E.g schooling software, banking
software, hospital management software etc.
b) Package software: It is software developed by big
software companies like Microsoft. This type of
software is developed without taking any special
requirement of user. It is developed by
determining that it will be useful to all the general
users as well as to the organizations. To use this
type of software user have to buy the software
license. E.g Microsoft office, Adobe etc.
Operating System:
History:
- During 1940 there was no operating sysem
- People used machine level language and low level
language to develop program.
- During 1950 the O.S like BYK, CAL etc were
developed.
- During 1960, multitasking O.S. were developed
- During 1970, major achievement was found due to
development of O.S. called UNIX
- During 1980, MS- DOS (Microsoft Disk Operating
System) was developed by Microsoft Company.
- During 1990, different O.S. like window 95, window
NT, window 98 etc were developed (GUI) based.
- Now a days different O.S. like Window 7, Window 8,
Window 10 etc are being used widely.
Operating System: It is system software that provides the
interface between computer and hardware, and the
application program or user. It performs the
communication between users and computer. It also
manages the use of hardware resources and enable
proper implementation of application program. In short,
the O.S. is the master control program of computer
system.
Functions of O.S.
1. Process management: A process is a program that
is being currently run by the user in computer
system. A process can be created, executed and
stopped. The process management activities
handled by O.S are:
a) Control access to resources like file, memory,
I/O etc.
b) Control execution of application.
c) To develop, execute and delete process.
d) Cancel and resume process
e) Scheduling the process
2. Memory management: Memory management is
one of the most important functions of O.S.
Memory management directly affect the
execution time of processes. The O.S. must
perform memory management task in such a way
that essential data is always present in main
memory. The activities of memory management
handled by O.S. are:
a) Allocating memory
b) Freeing the memory
c) Re- allocating memory
d) Keep track of memory uses etc.
3. File management: O.S. manages all the files and
directories. A file can be defined as the collection
of information that is stored in the memory of
computer. Every file has its unique name
associated with it. The organization of file and
directories in the computer system is referred as
file system. The file management activities
includes:
a) Creating and deleting files and directories
b) Provide access to files
c) Allocate space for files
d) Keep backup of files
e) Secure files
4. Device management: The function of O.S deals
with the management of peripheral devices like
printer, monitor, projector etc. O.S manages the
peripheral devices by the program called device
driver. The device management task handled by
O.S are:
a) Open, close and write the device driver
b) Communicate, control and monitor device
driver.
5. Protection and security: O.S protects the resources
of computer system from various threats like virus
attack and unauthorized access. O.S uses various
techniques like authentication, authorization,
cryptography etc for ensuring the security of a
computer system. O.S basically provides two types
of securities:
a) Internal security: It is the protection of one
process from another process.
b) External security: It refers to the
implementation of different mechanism to
protect the data and resources of computer
system.
Types of O.S on the basis of Interface:
c) Command line Interface (CLI)
Or Character User Interface (CUI)
d) Graphical user Interface (GUI)
CUI: It is character user interface or command Line
Interface where user can only use different command to
perform different task. There is no clicking and pointing
facility. It is not user friendly. It is not attractive.
Types of O.S:
An Operating System performs all the basic tasks like
managing files, processes, and memory. Thus operating
system acts as the manager of all the resources,
i.e. resource manager. Thus, the operating system
becomes an interface between user and machine.
Types of Operating Systems: Some widely used
operating systems are as follows-
1. Batch Operating System –
This type of operating system does not interact with the
computer directly. There is an operator which takes
similar jobs having the same requirement and group
them into batches. It is the responsibility of the operator
to sort jobs with similar needs.
Advantages of Batch Operating System:
It is very difficult to guess or know the time required
for any job to complete. Processors of the batch
systems know how long the job would be when it is in
queue
Multiple users can share the batch systems
The idle time for the batch system is very less
It is easy to manage large work repeatedly in batch
systems
Disadvantages of Batch Operating System:
The computer operators should be well known with
batch systems
Batch systems are hard to debug
It is sometimes costly
The other jobs will have to wait for an unknown time
if any job fails
Examples of Batch based Operating System: Payroll
System, Bank Statements, etc.
2. Time-Sharing Operating Systems –
Each task is given some time to execute so that all
the tasks work smoothly. Each user gets the time of
CPU as they use a single system. These systems are
also known as Multitasking Systems. The task can be
from a single user or different users also. The time
that each task gets to execute is called quantum.
After this time interval is over OS switches over to
the next task.
Advantages of Time-Sharing OS:
Each task gets an equal opportunity
Fewer chances of duplication of software
CPU idle time can be reduced
Disadvantages of Time-Sharing OS:
Reliability problem
One must have to take care of the security and
integrity of user programs and data
Data communication problem
Examples of Time-Sharing OSs are: Multics, Unix, etc.
3. Distributed Operating System –
These types of the operating system is a recent
advancement in the world of computer technology and
are being widely accepted all over the world with a great
pace. Various autonomous interconnected computers
communicate with each other using a shared
communication network. Independent systems possess
their own memory unit and CPU. The major benefit of
working with these types of the operating system is that
it is always possible that one user can access the files or
software which are not actually present on his system
but some other system connected within this network
i.e., remote access is enabled within the devices
connected in that network.
Advantages of Distributed Operating System:
Failure of one will not affect the other network
communication, as all systems are independent from
each other
Electronic mail increases the data exchange speed
Since resources are being shared, computation is
highly fast and durable
Load on host computer reduces
These systems are easily scalable as many systems can
be easily added to the network
Delay in data processing reduces
Disadvantages of Distributed Operating System:
Failure of the main network will stop the entire
communication
To establish distributed systems the language which is
used are not well defined yet
These types of systems are not readily available as
they are very expensive. Not only that the underlying
software is highly complex and not understood well
yet
Examples of Distributed Operating System
are- LOCUS, etc.
4.
Network Operating System –
These systems run on a server and provide the
capability to manage data, users, groups, security,
applications, and other networking functions. These
types of operating systems allow shared access of
files, printers, security, applications, and other
networking functions over a small private network.
One more important aspect of Network Operating
Systems is that all the users are well aware of the
underlying configuration, of all other users within
the network, their individual connections, etc. and
that’s why these computers are popularly known
as tightly coupled systems.
Advantages of Network Operating System:
Highly stable centralized servers
Security concerns are handled through servers
New technologies and hardware up-gradation are
easily integrated into the system
Server access is possible remotely from different
locations and types of systems
Disadvantages of Network Operating System:
Servers are costly
User has to depend on a central location for most
operations
Maintenance and updates are required regularly
Examples of Network Operating System are: Microsoft
Windows Server 2003, Microsoft Windows Server 2008,
UNIX, Linux, Mac OS X, Novell NetWare, and BSD, etc.
5. Real-Time Operating System –
These types of OSs serve real-time systems. The time
interval required to process and respond to inputs is
very small. This time interval is called response time.
Real-time systems are used when there are time
requirements that are very strict like missile systems, air
traffic control systems, robots, etc.
Advantages of RTOS:
Maximum Consumption: Maximum utilization of
devices and system, thus more output from all the
resources
Task Shifting: The time assigned for shifting tasks in
these systems are very less. For example, in older
systems, it takes about 10 microseconds in shifting
one task to another, and in the latest systems, it takes
3 microseconds.
Focus on Application: Focus on running applications
and less importance to applications which are in the
queue.
Real-time operating system in the embedded
system: Since the size of programs are small, RTOS
can also be used in embedded systems like in
transport and others.
Error Free: These types of systems are error-free.
Memory Allocation: Memory allocation is best
managed in these types of systems.
Disadvantages of RTOS:
Limited Tasks: Very few tasks run at the same time
and their concentration is very less on few
applications to avoid errors.
Use heavy system resources: Sometimes the system
resources are not so good and they are expensive as
well.
Complex Algorithms: The algorithms are very complex
and difficult for the designer to write on.
Device driver and interrupt signals: It needs specific
device drivers and interrupts signals to respond
earliest to interrupts.
Thread Priority: It is not good to set thread priority
as these systems are very less prone to switching
tasks.
Examples of Real-Time Operating Systems
are: Scientific experiments, medical imaging systems,
industrial control systems, weapon systems, robots, air
traffic control systems, etc.
Open Source Operating system:
The term "open source" refers to computer software or
applications where the owners or copyright holders
enable the users or third parties to use, see, and edit the
product's source code. The source code of an open-
source OS is publicly visible and editable. The usually
operating systems such as Apple's iOS, Microsoft's
Windows, and Apple's Mac OS are closed operating
systems.
The open-source operating system allows the use of code
that is freely distributed and available to anyone and for
commercial purposes. Being an open-source application
or program, the program source code of an open-source
OS is available. The user may modify or change those
codes and develop new applications according to the
user requirement. Some basic examples of the open-
source operating systems are Linux, Open Solaris, Free
RTOS, Open BDS, Free BSD, Minix, etc.
Advantages
1. Reliable and efficient
The open-source operating systems are most reliable and
efficient. Thousands of eyes monitor these because the
source code is public. As a result, if there are any bugs or
errors, they are fixed by the best developers worldwide.
2. Cost-efficient
Most of the open-source operating systems are free. And
some of them are far less expensive than commercially
closed products.
3. Flexibility
The great advantage is you may customize it as per your
requirement. And there is creative freedom.
Disadvantages
1. Complicated
It is not as user-friendly as the ones that are closed. To
use this software, you must have a basic understanding
of technology.
2, Security risk
Despite the defects having been detected, there is a risk
of assaults because the attackers have access to the
source code.
3. No support
If you run across an issue, there is no customer support
available to assist you.