Computer Software
Computer Software
Computer hardware is basically dumb equipment. Although it possesses computing power but it cannot
compute on its own. It requires step-by-step instructions for computing. Without instructions it cannot
compute.
Any instruction, which either makes hardware perform a task or ready for performing the task, is called
software. For example, just by switching on the computer and pressing the keys of the keyboard, computer
will not accept the data. Prior to that, it will require set of instructions, which would gear up the hardware
internally, to accept the data. Thus all these instructions will be called software. Similarly after activating the
computer, another set of instructions could be given to:
Accept student’s data
Process the data
Generate result sheet for each student and prepare merit list. This set of instruction is also software.
Now just compare the results achieved by two different sets of instructions, mentioned above. One set of
instruction performs few functions, internally within the computer and another set of instruction performs
noticeable actions externally. (like printing the mark sheet, merit list etc.).
Thus based upon the tasks performed by the software, software’s are broadly classified into following
two categories:
System Software
Application Software
System Software
All those instructions, which computer uses either for its activation or internal resource
management are called system software. For example, software that would transfer the
data/instructions from keyboard to computer’s memory will be system software. Similarly the software
that would make the processor run and do the calculations or print the result of calculations on
printer/monitor will also fall into the category of system software.
Following are the names of few system software’s, which are essentially required for normal
functioning of computer system.
Operating System: Operating system is the first and foremost system software that is required for any
computer system to become operational. For any computer system to become operational, it activates
all its devices, components and resources and makes them ready for work.
It performs all internal management functions and ensures systematic functioning of computer.
Commands: All those instructions, using which, day-to-day housekeeping tasks are performed on
computer, also fall into the category of system software. For example, commands for storing the data in
file, viewing the contents stored in a file, making duplicate copy of a file, renaming a file etc. are all
system software.
Utilities : All those software’s, which safeguard the computer and its resources from hazards or ensure
its proper functioning or build an efficient working environment are called utilities. Utilities are basically
system software. For example, data compression utilities, virus protection utilities, disk fragmentation utilities
etc. are system software.
Device Drivers: That software, which is written with the objective of making a device functional
when it is connected to the computer, is called device driver. For example, device driver for web camera,
device driver for light pen, device driver for printer etc. are example of system software.
Application Software
Those instructions, which are given to the computer for automating a manual task, are called
application software. For example, instructions for adding two matrices, finding sum of given Geometric
Progression (GP) series, calculating income tax for all the employees of an organization, booking air
tickets etc. are examples of applications software.
Application software is either developed using special packages or special computer languages that are
developed for this purpose.
Special software development packages like MS-Office, Photoshop, Flash, 3-D Studio Max etc. are the
packages that are developed to automate specific type of task. For example, MS-Office package has been
developed for automating office activities (like writing letters, preparing reports and charts, making
presentations, handling queries, etc.) Similarly, Photoshop is used for photo editing tasks and 3-D studio Max
is used for crating presentations.
There are many activities, which either don't fall within the scope of ready-made software or for such
activities custom-built software need to be developed. Custom-built software is developed, using
computer languages like Visual Basic, C++, Java etc. For example, there may not be any ready-made
package available to computerize pay management activities of an organization. In this case, a custom-
built pay roll package will have to be developed, for the organization. This package and many other of
this type fall into the category of application software.
Firmware
The software that is built into hardware is called firmware. For example, in computer system, few
special instructions called bootstrap instructions (software) are written (with the help of special
devices) within an electronic chip (hardware) called Read Only Memory (ROM) and this chip is integrated
with the electronics of the computer system. This software basically reads the operating system, loads it
into computer’s memory and makes the hardware functional. Note that bootstrap program is an
example of firmware as it always resides within electronic chip.
Operating System
INTRODUCTION
A computer system is basically combination of hardware and software. For its functioning it
requires different types of hardware devices, electronic components and various types of software.
Operating system is one of the software, which computer uses for its internal functioning. What
operating system is, what are its functions and what types of operating systems are commonly available
for use are the issues that are described in this chapter.
OPERATING SYSTEM BASICS
Operating System is essential software that is required for a computer to become operational. It
provides functionality to computer hardware, so that electro-mechanical components of it perform
read, write and processing functions as human being do.
Without operating system, computer cannot work. In the absence of operating system, neither
input devices will be able to provide data to the computer nor memory will be able to store anything, nor
processor will be able to process the data nor will output devices be able to show the result. Managing
computer's resources and making them work in coordination with each other is the responsibility of
operating system.
Any instruction given by the user to the computer to perform a function is actually carried out by
operating system. It is the operating system, which on receiving instructions from the user invokes all
internal units to perform their duties and workout the result. Details of operating system are described
below.
User Interface
Services
File Management
Copy Functions Disk
copy
Memory Processor
File
Rename Disk File
User Interface
While working on computer, user has to interact with computer. For example, if a program is to
be executed, user has to communicate to the computer that this is the program, which is to be executed.
Note that different operating systems provide different ways of interacting with computer. In computer
terminology, the method of interaction is often referred to as user interface. User interfaces are
basically of two types:
Command Line Interface (CLI).
Graphical User Interface (GUI).
Details of both the types of interfaces are given below:
Command Line Interface
In command line interface, user interacts with the computer by typing the commands in specified
format. Thus he mostly makes use of keyboard to interact with the computer. For example, to copy the
contents of data.dat file in data.bak file, he will have to type the command in following format:
COPY [name of file to be copied] [name of file in which contents have to be copied]
Thus he will type the following contents:
COPY data.dat data.bak
Note that in such type of communications, user has to remember the name and format of the commands.
Spelling mistakes and deviations in format lead to errors and the task is not performed.
MS-DOS, Unix, Linux etc. are few operating systems, which provide command line interface. Visual appearance of
MS-DOS's command line interface is illustrated below.
GUI COMPONENTS
Graphical user interface makes use of following GUI components to make the user interaction easy and
interesting:
Program Icons
All those icons that represent program are called program icons. Some of the program icons are
illustrated in figure 3.4(a). To run the program, you need to double click the mouse on its program icon.
For example, to execute Date/Time program, you will have to double click the mouse on its icon.
Objects Icons
All those icons that represent objects like, devices, files, folders etc. are called object icons. Some of the object
icons are illustrated below.
Represents Floppy drive. Represents hard disk.
Menus Following types of menus appear in GUI. Each menu provides various options. An option is
selected by clicking the mouse on the desired option.
Popup menu
Shortcut menu
Bar menu
List Boxes
List boxes display various choices within a box (names, numbers, symbols etc.). An item of choice is selected
by clicking the mouse on it.
Drop Down List Box
Drop down list box is another type of list box that looks like a text box with a down pointing arrow button on
its right hand side. When you click the mouse on the arrow, a list of options drops down. To select any
option from this list, you need to click the mouse on it.
Check Boxes
Small square shaped buttons (could be one or more) form check boxes. Labels written near the buttons
give an indication of the type of data / information that will get selected, when you click the mouse on it.
When you select a check box, a mark gets placed within the check box. If you wish, you could select more
than one check box from the group.
Radio Buttons
Group of at least two or more rounded buttons form radio buttons. Labels written near buttons give an
indication of the type of data/information that will get selected when you click the mouse on it. Only one radio
button, from the group can be selected. When you select a button, a black dot appears within the selected
button.
Spinner
A spinner consists of two arrow buttons and a text box, with some value written into it. One arrow points
up and the other points down. When you click the mouse on up arrow, the value in the text box
increases. When you click it on down arrow, the value in the text box decreases.
Text box
Text box consists of rectangular blank area, in which contents are typed. Note that the label written
beside the text box gives the idea of the contents that are to be typed in text box. For example, the label
"File name" indicates that the name of the file is to be typed in this text box.
Buttons
Rectangular labels, with some text written on them form buttons. When you click the mouse on the
button, an action takes place. The text written on the buttons, generally gives an indication of the
action, which will take place, when you click the mouse on it. For example, when you click the mouse on
"Open" button, the file mentioned in the dialog box gets opened.
Toolbars
A row of small buttons, with icons in them forms a toolbar. Each button perform a specific task when
you click the mouse on it
MOST DESIRABLE CHARACTERISTICS OF OPERATING SYSTEM
As man's popularity and acceptability depends upon his character, operating system's popularity
depends upon its characteristics. Following are the most desirable characteristics of operating systems:
Easy-To -Use
Be it any operating system, it is required that its user interface should be user friendly. Process of
invoking commands, utilities and applications should be easy. Few decades back, when devices like modern
monitors and consoles were not available, people had to interact with computer through punch cards
and tapes. What data is going into computer could neither be seen nor modified on-line. In those times
working on computer was really a tough task. Price and unfriendly user interface were the two factors
that were against computer's popularity. Introduction of Character User Interface (CUI) made interaction
with computer easy to some extent, but with the advent Graphical User Interface (GUI), problem got
solved to large extent. It is due to Graphical User Interface that even a child can operate computer
these days. Hand writing recognition, voice recognition systems etc. are now being incorporated in
operating systems. They, coupled with other sophisticated modern hardware devices, are adding new
dimensions to computer's functionality. For example, operating system of the table PC supports these
features.
Reliability
Performance of the operating system should be reliable. Each time it executes a program, it
should produce same result with same efficiency. It should sustain abrupt power failures and shutdowns. It
should not so happen that these hazards corrupt user's data or system files. It is required that operating
system should be robust in nature and should withstand all odd conditions.
Speed and Efficiency
Response time is one of the prime factors that attributes to the success of any operating system.
Response time of any operating system partly depends upon the quality of the hardware and partly upon the
efficiency of the algorithms that has been implemented for internal resource management. It is quite obvious
that computer with faster CPU, faster memory etc. will produce faster results. Such a hardware managed by
efficient operating system will produce still faster throughputs.
Reusability
With wide variety of processors and other hardware computers available these days, it is required that
operating system written for one type of computer should be easily portable to other hardware platforms.
This saves time, effort and cost. Object oriented approach for programming promotes reusability to a large
extent.
Security
Security is the most desirable characteristic of any operating system. An operating system should
provide means for safeguarding system resources from unauthorized users and protection of one user's
resources from other users of the system. With the advent of Internet and local area networks getting
popular, even single user computers need to interact with other computers these days. Such situations
demand tight security features. Popular operating systems offer these features through incorporation of
following:
-Login name. -Encryption of data.
-Login password. -Read, write, access file permissions.
-Virus protection software layers
Adaptability
With the advancement in electronics and its focus on miniaturization, wide variety of plug-in
devices has suddenly invaded the market. Each device is meant for getting connected to the computer
and working in coordination with other devices. In this scenario, it is desired that operating system
should be adaptable enough to accommodate these devices easily.
Quite some time back, it was very difficult to add new devices to the system. Lot of changes and
modifications had to be done in system files to make the new device functional. Now the scenario has
completely changed. These days’ operating systems have large database of device drivers built into
them. They support plug and play feature. They automatically sense the presence of new device in the
system and load corresponding device drive automatically. Operating systems have helpful wizards
incorporated in them. In all those events, in which they fall short of any data, software or hardware,
wizards is invoked automatically. Wizard guides the user to perform all necessary steps for making the
device / system operational.
Compatibility
Data communication and resource sharing are the two prime activities that need to take place in
most of the working environments these days. Wide variety of hardware, operating systems, and
applications need to interact with each other. So it is highly desirable that operating system should be
communication protocol rich so that it is compatible with other operating systems. Files and programs of
other computers should be accessible in the same way, as files and programs of local computer remain
available.
Most of the operating systems these days are compatible with other operating systems. Effective protocols
and software layers have been incorporated in operating system to promote compatibility issue.
It is also desired that Internet connectivity and accessibility issues are inbuilt into operating system. No
addition and alterations should be externally required. For example, in the earlier days of Windows-95
operating system, many software and utilities (including internet explorer) had to be installed on top of
operating system to get connected to Internet and avail its services. But in the later versions like
Window-98, Window-XP etc. these services became integral part of the operating system. As soon as
operating system is installed on computer, it becomes ready for Internet access.
Multimedia Support
Computer is no more data crunching tool now. It is more like multimedia electronic device. Its
usage is no more limited to numbers and words. Graphics, sound, animation, video etc. fall within the
preview of its capabilities. These days it is desired that operating system should support all multimedia
features to accommodate wide range of multimedia hardware devices. Multimedia operations like photo
editing, sound editing and playing, animation and video effect etc. should be possible on computer. GUI
based operating system of modern times, like Windows, Linux etc. provide strong support for multimedia
operations.
Characteristics mentioned above are part of most popular operating systems of today. Some of the
characteristics that are not part of modern operating system, but are very much required because of change in
computing requirement are described below.
LINUX
Linux is basically multi user, multitasking operating system. It provides character user interface and
graphical user interface both for interacting with computer.
It was originally designed and developed by Linux Benedict Torvalds in the year 1991. Basic objective
behind developing Linux was to bring out an operating system, which was low in cost and had the power
of UNIX operating system. Linux got his operating system included in GNU project of Free Software
Foundation, to make it available free of cost, all across the world. Its core version is available free of cost
to everyone. Many software- developing companies have incorporated many functionalities into it and
are marketing it. Red Hat's Linux is one such operating system and many more also exist.
Linux also has powerful networking features incorporated into it and has built in Internet facilities.
Linux has gained popularity these days and is emerging as a parallel competitor of Windows and Unix
operating systems.
Linux operating system provides both types of user interface. It supports CUI and GUI both.
Graphical Interface of Linux provides windows look alike working environment. Features like drag and
drop, Cut and paste, file sharing, multitasking etc. are also available in Linux.
Character User Interface of Linux is really powerful and provides thousands of commands for doing wide
variety of tasks. Using Linux's meta language and shell features, many commands can be coupled together and
new commands can be formed. Following are few Linux commands, which are used in day-to-day functions:
ls : This command displays the names of all the files present in current directory.
cat : This command displays the contents of a file.
cp : This command copies the contents of a file into another file.
mv : This command moves a file from one directory to another directory.
mkdir : This command makes a new directory.
rmdir : This command removes a blank directory.
cd : Using this command, user can move from one directory to another.
pwd : This command shows the name of current directory.
vi : Using this command, a new file can be edited and text written in it.
lp : This command prints a file on the printer. passwd : This command is used for changing the
password. chown : This command changes the ownership of a file. chmod : This command changes file
permissions.
who : Names of all current users get list through this command.
ps : Names of all processes, currently running on the system get listed by this command.
find : This command is used for finding, if the file of given name is present on the disk or not.
grep : This command is used for searching the occurrences of a given string in a file.
sort : This command sorts the given contents either in ascending or descending order.
write : Using this command one user can send text message to other user, who is currently on-line in
multi-user environment.
mail : This command is used for sending e-mails to other users of the system.
Linux is a powerful operating system, which is getting more and more popular every day. Most of the
hardware vendors have started bundling their products with Linux. Large population of Personal Computers
(PC) and Laptops comes with preloaded Linux, these days. It is likely to gain more popularity in coming future.
WHAT IS BOOTING?
The process of loading the operating system in computer's memory is called booting. When you switch
on the computer, it reads a special program, called bootstrap program from ROM and execute it. On its
execution, it carries out a self-test. During self-test all the peripherals and devices of computer are
checked. If any fault is found in them a corresponding errors message is displayed on the monitor and
booting process stops. On the other hand, if no peripheral is found faculty, operating system is read
from the disk and loaded into computers memory. At the end of booting process computer becomes
ready for accepting commands, executing them and displaying result. Booting is the first and foremost
task that is to be performed when computer is to be used.
Note that through tunable parameters, booting device searching sequence can be set for the computer.
Once this sequence is set, computer looks for operating system on the devices mentioned in device
searching sequence. For example, if the booting sequence has been set as hard disk, CD drive and floppy
drive then first computer will search the operating s y s t e m on hard disk. If it gets it there, it will load it
in computer's memory. If it doesn't get it there, it will search it on CD drive. If it gets it there it will load
it else it will search the floppy drive. If it doesn't get it on any of the drives, it will display corresponding error
message. As mentioned above, this booting search sequence can be changed as per requirements.
WHAT IS SHUTDOWN?
The process of switching the computer off is called shutdown. The procedure for shutdown varies from
operating system to operating system. During shutdown, computer stops all running processes, saves current
settings, closes all opened files and disconnects from all the links.