0% found this document useful (0 votes)
12 views30 pages

FIT Lecture 5

The document provides an overview of computer systems, emphasizing the roles of hardware and software, which are essential for operation. It categorizes software into system software, which manages hardware and system functions, and application software, which enables users to perform specific tasks. Additionally, it discusses various types of system management and development programs, including operating systems, utility programs, and application-specific software, highlighting their functions and importance in computing.

Uploaded by

sohair.ateeq6
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views30 pages

FIT Lecture 5

The document provides an overview of computer systems, emphasizing the roles of hardware and software, which are essential for operation. It categorizes software into system software, which manages hardware and system functions, and application software, which enables users to perform specific tasks. Additionally, it discusses various types of system management and development programs, including operating systems, utility programs, and application-specific software, highlighting their functions and importance in computing.

Uploaded by

sohair.ateeq6
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 30

FIT Lecture #

5
Engr. Naveera Sami
 All computer systems consist of two major components,
namely, hardware and software. The hardware refers to the
physical equipments that are necessary for performing
various operations, such as reading and processing data,
storing results and providing output to the users in a desired
form. The software refers to a set of computer programs
that are required to enable the hardware to work and
perform these operations effectively.
 A computer program is basically a set of logical instructions,
written in a computer programming language that tells the
computer how to accomplish a task. The software is
therefore an essential interface between the hardware and
the user
TYPES OF COMPUTER
SOFTWARE
As stated earlier, a computer software performs two distinctive
tasks. The first task is to control and coordinate the hardware
components and manage their performances and the second one is
to enable the users to accomplish their required tasks. The software
that is used to achieve the fi rst task is known as the system
software and the software that is used to achieve the second task is
known as the application software. While the system software is
essential for a computer to work, the application software is the
additional software required for the user to perform a specifi c job.
The system software not only controls the hardware functions but
also enables the hardware to interact with the application software
as well as the users
1. System Software
System software consists of many different programs that
manage and support different tasks. Depending upon the task
performed, the system software can be classified into two major
groups:

System management programs used for managing both the


hardware and software systems.
System development programs used for developing and
executing application software.

2. Application Software
Application software includes a variety of programs that are
designed to meet the information processing needs of end users.
They can be broadly classified into two groups:
Standard application programs that are designed for performing
common application jobs.
Unique application programs that are developed by the users
themselves to support their specific needs.
SYSTEM MANAGEMENT PROGRAMS:
System management programs are those programs that
are meant for operating the hardware system and
managing their resources effectively. They also enable
the users to perform certain utility functions, such as
creating backup files,recovering damaged fi les and
merging files.They minimise the human intervention
during processing and aid in maximising the
productivity of a computer system. System
management programs include:
Operating system
Utility programs
Device drivers
These programs work in close interaction with each
other
Operating System
Operating System (OS) is the principal component of
system software and is responsible for overall
management of computer resources. It also provides an
interface between the computer and the user and helps in
implementing the application programs.
Major functions of an operating system are:
1.Scheduling and execution of all processes.
2. Allocation and management of main memory and other
storage areas to the programs.
3. Coordination and assignment of different hardware
devices
to the programs.
4. Creation, storage and manipulation of files
required by the various processes.
Operating System:
5. Determining and maintaining the order of execution
of programs.
6. Interpretation of commands and instructions.
7. Coordination and assignment of other development
and utility programs.
8. Providing a friendly interface between the computer
and the user.
9. Ensuring security of access to computer resources.
Utility Programs:
Utility programs refer to small programs, which provide additional
capabilities to the computer system in addition to the ones
provided by the operating system. They enable an operating
system to perform some additional tasks, such as searching and
printing the fi les and scanning the viruses, etc. A utility program is
not an essential part of an operating system, because it does not
help the operating system in the execution of a command or a
program. A utility program only provides the additional features to
the computer system. In other words, an operating system can
execute most of the programs without having the utility programs.
Utility programs are added to an operating system to perform
many different tasks, that include:
Utility Programs:
• Search and replace. It enables the operating system to search a fi le on
the basis of the specified search criteria.
• Print. It enables an operating system to initiate the print operation of the
printer connected with the computer system.
• Disk defragmenter. It helps in defragmenting the memory space.
Defragmentation is the process of storing the data at a single place in
the memory instead of disjointed memory locations.
• System profiler. It provides the information related to the various
hardware and software components installed in the computer system. In
other words, it provides a list of the hardware components, which are
presently connected with the computer system, and the software
components, which are currently installed in the computer system.
• Encryption. It enables the operating system to generate the encrypted
format of the messages or the files, which have to be transmitted from
one system to another system over the network or the Internet.
Utility Programs:
• Virus scanner. It enables the operating system to detect
viruses and bugs, which may affect the
correct functioning of the computer system.
• Backup. It enables the creation of a copy of various fi les
and folders on a secondary medium such as magnetic disk
and magnetic tape, in order to keep the original data safe.
• Data recovery. It enables the retrieval of lost data from a
corrupted or damaged primary storage medium.
Like operating systems, utility programs are prewritten by
manufacturers and supplied with the hardware. They may
also be obtained from standard software vendors. A good
range of utility programs can make the life much easier for
the user.
Device Drivers:
A computer system is connected with multiple input and output (I/O)
devices, so that it can communicate with the end user. In order to interact
with the I/O devices, the computer system requires special software called
device driver. The device driver acts as a translator between the I/O
devices and the computer. A device driver of the input device interprets
the input provided by the user into the computer
understandable form and directs it to the operating system. Similarly, the
device drivers of the output devices translate the output generated by the
computer into the user understandable format and display it on the
screen. In other words, a device driver is special software that enables a
hardware device, such as keyboard, monitor and printer to perform an
operation according to the command given by the end user.
Device Drivers:
Whenever a program needs to use a connected hardware device, it issues
a command to the operating system. The operating system calls the
respective routine or process of the device driver, which instructs the
device to perform the task. For providing instruction to the devices, the
device driver sends various control and data signals through buses and
cables to the device. In order to acknowledge the device driver’s signal,
the device sends the acknowledgment signals to the device driver. After
performing the task, the device sends a message to the device driver,
which returns the value to the calling program of the operating system. In
other words, a device driver instructs a hardware device the way it should
accept the input from the operating system and the way in which it
should communicate with the other units of the computer system.
Figure illustrates the working of the device
driver.
SYSTEM DEVELOPMENT PROGRAMS
System development programs known as programming
software allow the users to develop programs in different
programming languages. The process of developing and
executing a program involves the following tasks:
1. Debugging the program
2. Linking the various variables and objects with the
libraries files
3.Translating the code from one language to another
4. Running the machine code to perform the desired task
In order to carry out these tasks, we need the following
system development tools:
Language translators, Linkers, Debuggers, Editors
Language Translators
Language translator is used to convert the program code written in
one language to another language. The program code provided as
an input to the language translator is known as source code. The
source code is a high level or an assembly language program. The
language translator converts the high-level language program into
the low-level language program called object code. Compiler,
interpreter and assembler are the most common examples of
language translator. A compiler translates a high-level program
into a low-level program and an assembler translates an assembly
language program into a low-level program. An interpreter also
produces a low-level program from a high-level program, but the
working of the interpreter is not similar to that of the compiler.
An interpreter processes the high-level program line-by-line and
simultaneously, produces the low-level program.

On the other hand,


a compiler compiles the high-level program in one go.
Figure shows
the input and the output
of the various language translators.
Linkers
Most of the high-level languages allow the developer to
develop a large program containing multiple modules.
Linker arranges the object code of all the modules that
have been generated by the language translator into a
single program. The execution unit of the computer system
is incapable of linking all the modules at the execution time
and therefore, linker is regarded as one of the important
software because of its ability to combine all the modules
into a single program. Linker assembles the various objects
generated by the compiler in such a manner that all the
objects are accepted as a single program during execution.
Linker also includes the links of various objects, which are
defi ned in the runtime libraries. In many cases, linker
inserts the symbolic address of the objects in place of their
real address. Figure 10.8 illustrates the working of a linker.
Debuggers
Debugger is the software that is used to detect the errors and bugs present
in the programs. The debugger locates the position of the errors in the
program code with the help of what is known as the Instruction Set
Simulator (ISS) technique. ISS is capable of stopping the execution of a
program at the point where an erroneous statement is encountered.
Debugger is divided into two types, namely, machine-level debugger and
symbolic debugger. The machine-level debugger debugs the object code of
the program and shows all the lines where bugs are detected. On the other
hand, the symbolic debugger debugs the original code, i.e., the high-level
language code of the program. It shows the position of the bug in the
original code of the program developed by the programmer.
Debuggers
While debugging a program, the debugger
performs a number of functions other than
debugging, such as inserting breakpoints in the
original code, tracking the value of specific
variables, etc. In order to debug the program, a
debugger helps us to perform the following
tasks:
1. Step-by-step execution of a program
2. Back tracking for checking the previous
steps
3. Stopping the execution of the program until
the errors are corrected
Editors
Editor is a special program that allows the user to work with text in the
computer system. It is used for the documentation purposes and
enables us to edit the information present in an existing document or a
file. The editor enables us to perform the various editing operations
such as copy, cut and paste while editing the text. On the basis of the
content edited by the editors, they are divided into the following
categories:

1. Text editor It is used to edit plain text. An operating system always


includes a text editor for updating the configuration files.
2. Digital audio editor It is used to edit the information related to the
audio components of a multimedia application. These editors are used
in audio applications where editing the music and the sound signals is
necessary.
3. Graphics editor It is used to edit the information related to the
graphical object. These editors are generally used in the multimedia
applications where the user is working with multiple animation objects.
4. Binary file editor It is used to edit the digital data or the binary data,
i.e., data having strings of 0s and 1s.
5. HTML editor It is used to edit the information included in the web
pages.
6. Source code editor It is used to edit the source code of a program
STANDARD APPLICATION PROGRAMS
Standard application programs, also known as general-purpose
application programs, are programs that perform certain common
information processing tasks for the users. For example, preparing
documents such as letters and notes are common among almost all
organisations as well as individuals. Similarly, creating and
managing databases of products and employees are very common
activities in large organisations. Ready-to-use programs for such
applications are available from hardware or software vendors. These
programs would not only increase significantly the productivity of
users but also decrease the investment in terms of time and cost.
Examples of standard application programs include:
Word processor
Spreadsheet
Database Manager
Desktop Publisher
Web Browser
We shall briefly discuss some of these programs in this section.
Word Processor
Word processor is an application software that is generally used to
create documents such as letters, reports, etc. It is one of the most
commonly used computer applications. Word processor enables us
to enter text in a document in a particular format. It also allows us
to modify the existing text and apply the formatting features, such
as boldface and italic, change the colour of the text, change the
writing style of the text, etc. The word processor application
software also allows us to perform different operations, such as cut-
paste for moving the text within the document, copy-paste for
copying the text within a document or from one document to
another document, etc. MS Word is the most common example of a
word processor. Figure shows the default window of MS Word.
Desktop Publishing System
Desktop publishing system enables the user to perform various
activities required for publishing of a page or set of pages. These
activities include organising the content layout by setting margins
and justification properties of the page.

In the desktop publishing system, a page layout software is


installed on a computer system that enables the end users to view
the changes done at the time of designing the document. The page
layout software uses the ‘ What You See Is What You Get
(WYSIWYG)’ technique for displaying the preview of the page being
designed. Desktop publishing system is also referred as DTP.
Desktop publishing system is generally used in the publishing
industry, where there is a need to publish information either
through print media or display media. It helps the users to design
the desired page layout containing different components such as
text, graphics and images. Some of the commonly used DTP
application software include: Quark XPress, InDesign, Microsoft
Publisher, Apple Pages.
UNIQUE APPLICATION PROGRAMS
There are situations where organisations need to develop their own
programs to accomplish certain tasks that are unique to their areas of
operations. Similarly, individuals like scientists, engineers, accountants,
teachers and other professionals write their own programs to solve their
problems. Such programs are known as unique application programs or
application-specific programs. These programs are also referred to as
end-user application programs. Examples of unique applications
include:
Managing the inventory of a store
Preparing pay-bills of employees in an organisation
Processing examination results of students
Reserving seats in trains or airlines
Analysing mathematical models
Computing personal income tax
And many more

These programs are usually developed in one of the high-level


languages, such as C, C++ or Java and therefore, developing such
programs in-house would require skilled programmers with deep
knowledge not only in programming languages but also in programming
environment.
We will discuss below in this section two applications which are usually
Inventory Management System
Inventory management system helps in keeping a record of the
huge amount of items stored in warehouse and storerooms. In
order to keep a record of inventory or items, application software
called inventory management system, which makes use of DBMS,
is used. DBMS is responsible for storing the information related to
the items in the form of various fi les and tables. It also helps in
storing the information related
to the location, where a particular item is placed. Inventory
management system enables a user to get a report on the items
stored in the warehouse or storeroom on the basis of the different
conditions, such as availability of items, shipping date of item, etc.
The database of the inventory management system identifies each
item by a unique identification number. The identification number
is used as the primary key of an item in the database.
Inventory Management System
Primary key refers to an attribute, which must contain a unique
value for each item of the database. The identification number can
be dependent on the various properties, such as type, model and
manufacturing date of the items, etc. Nowadays, the identification
number of an item is specified on the barcodes printed on each
item. Barcode is a group of small and black vertical lines of varying
widths. The barcodes are not understandable by a human being and
is always read by an input device called barcode reader. A barcode
reader is similar to the handheld scanner that scans the barcode of
the item in order to enter the barcode in the database. Figure shows
the sample barcode of an item. The use of barcode technology with
inventory management system saves a lot of time as the user is not
required to manually enter the item details. These details are
automatically read by the barcode scanner and stored in the
database of the inventory management system. An inventory
management system finds its application in those organisations
where a constant maintenance and updation of inventory
information is required.
Pay-roll System
Pay-roll system is the application software that enables us to
perform the various activities related to payroll accounting and pay-
roll administration process. It is used by the HR department of an
organisation for the purpose of computation of salary of employees.
A typical pay-roll processing system provides an interface to the
user through which the user can enter salary related details, such as
attendance, tax deduction, etc.
A pay-roll system is an effective and efficient way of computing the
salary of employees as it eliminates the manual task of performing
computations and automates most of the tasks related to pay-roll
processing.
A pay-roll system can be custom built or it can be an off-the-shelf
application software. Several ERP products include a dedicated
module on pay-roll processing which is particularly used in
enterprise-wise implementation of pay-roll processing.
A pay-roll system can also be used to print or e-mail the salary slips
of employees.

You might also like