0% found this document useful (0 votes)
7 views11 pages

Module 12 Types of Software Component

The document outlines the types of software components, categorizing them into system software and application software. System software includes operating systems, device drivers, and system utilities, which provide essential functions and manage hardware resources, while application software is designed for specific user tasks. It also discusses programming languages, translator software, and the hierarchy of software execution.

Uploaded by

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

Module 12 Types of Software Component

The document outlines the types of software components, categorizing them into system software and application software. System software includes operating systems, device drivers, and system utilities, which provide essential functions and manage hardware resources, while application software is designed for specific user tasks. It also discusses programming languages, translator software, and the hierarchy of software execution.

Uploaded by

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

REPUBLIC OF THE PHILIPPINES

SORSOGON STATE UNIVERSITY


BULAN CAMPUS

Module 10:
Types of Software Component

LEARNING ACTIVITIES

Type of Software

1. System Software
It provides the basic functions that are performed by the computer.
interacts with hardware at one end and with application software at the other end.
2. Application Software
It is used by the users to perform specific tasks.
interacts with the system software and the users of the computer

Below figure shows the hierarchy of software, hardware and users.

Users

Application Software

System Software

Hardware

Figure 1. Software Hierarchy


System Software
System software provides basic functionality to the computer. System software is required
for the working of computer itself. The user of computer does not need to be aware about the
functioning of system software, while using the computer.

The purposes of the system software are:


To provide basic functionality to computer,
To control computer hardware, and
To act as an interface between user, application software and computer hardware.

Two categories
System software for the management and functionality of computer relates to the
functioning of different components of the computer, like, processor, input and output
devices etc. System software is required for managing operations performed by the
components of computer and the devices attached to the computer. It provides support
for various services, as requested by the application software. Operating system, device
drivers and system utilities constitute the system software for management of computer
and its resources.
System software for the development of application software provides services
required for the development and execution of application software. System software
provides the software tools required for the development of application software. The
programming language software, translator software, loader, and linker are also
categorized as system software, and are required for the application software
development.

Operating System.
Is an important part of a computer. OS intermediates between the user of a computer and
the computer hardware. Different kinds of application software use specific hardware resources of
a computer like CPU, I/O devices and memory, as needed by the application software. OS controls
and coordinates the use of hardware among the different application software and the users. It
provides an interface that is convenient for the user to use, and facilitates efficient operations of
the computer system resources. The key functions of OS are:
It provides an environment in which users and application software can do work.
It manages different resources of the computer like the CPU time, memory space, file
storage, I/O devices etc. During the use of computer by other programs or users, operating
system manages various resources and allocates them whenever required, efficiently.
It controls the execution of different programs to prevent occurrence of error.
It provides a convenient interface to the user in the form of commands and graphical
interface, which facilitates the use of computer
Below are some examples of operating system.

Figure 2. Examples of Operating System

Device Drivers
A device driver acts as a translator between the hardware and the software that uses the
devices.
Some devices that are commonly connected to the computer are—keyboard, mouse, hard
disk, printer, speakers, microphone, joystick, webcam, scanner, digital camera, and monitor. For
proper working of a device, its corresponding device driver must be installed on the computer. For
example, when we give a command to read data from the hard disk, the command is sent to the
hard disk driver and is translated to a form that the hard disk can understand. The device driver
software is typically supplied by the respective device manufacturers.
Most device manufacturers, host the device drivers for their devices on their companies’
websites; users can download the relevant driver and install it on their computer.
Each device has its own device driver (figure 3).
Whenever a new device is connected to a computer, its device driver has to be loaded
in the computer’s memory, to enable use of the device. When you buy a new printer,
you get the device driver CD with it. You must install the device driver on your
computer, to use the new printer. Each printer comes with its own device driver. If you
replace your old printer with a new model, you need to install the device driver for the
new printer.
Device drivers can be character or block device drivers. Character device drivers are
for character-based devices like keyboard, which transfer data character by character.
Block device driver are for devices that transfer data as a block, like in hard disk.

Figure 3. Drivers and Utilities CD

Figure 4. Device Driver Model


System Utilities
System utility software is required for the maintenance of computer. System utilities are
used for supporting and enhancing the programs and the data in computer. Some system utilities
may come embedded with OS and others may be added later on. Some examples of system utilities
are:
Anti-virus utility to scan computer for viruses
Data Compression utility to compress the files
Cryptographic utility to encrypt and decrypt files.
Disk Compression utility to compress contents of a disk for increasing the capacity of
a disk.
Disk Partitioning to divide a single drive into multiple logical drives. Each drive is then
treated as an individual drive and has its own file system. Figure 6.6shows a hard disk
with three partitions.
Disk Cleaners to find files that have not been used for a long time. It helps the user to
decide what to delete when the hard disk is full.
Backup Utility to make a copy of all information stored on the disk. It also restores the
backed-up contents in case of disk failure
System Profiling Utility provides detailed information about the software installed on
the computer and the hardware attached to it
Network Managers to check the computer network and to log events.

Programming Languages
A Programming Language consists of a set of vocabulary and grammatical rules, to express
the computations and tasks that the computer has to perform. Programming languages are used to
write a program, which controls the behavior of computer, codify the algorithms precisely, or
enables the human-computer interface. Each language has a unique set of keywords (words that it
understands) and a special syntax for organizing program instructions. The programming language
should be understood, both by the programmer (who is writing the program) and the computer. A
computer understands the language of 0’s and 1’s, while the programmer is more comfortable with
English-like language. Programming Language usually refers to high-level languages like
COBOL, BASIC, FORTRAN, C, C++, Java etc. Programming languages fall into three categories
(Figure 6).

Figure 5. Programming Languages

Figure 6. Category of Programming Language

Machine Language is what the computer can understand but it is difficult for the
programmer to understand. Machine languages consist of numbers only. Each kind of
CPU has its own unique machine language.
Assembly Language falls in between machine language and high-level language. They
are similar to machine language, but easier to program in, because they allow the
programmer to substitute names for numbers.
High-level Language is easier to understand and use for the programmer but difficult
for the computer.
Regardless of the programming language used, the program needs to be converted into
machine language so that the computer can understand it. In order to do this a program is either
compiled or interpreted.
Figure 7 shows the hierarchy of programming languages. The choice of programming
language for writing a program depends on the functionality required from the program and the
kind of program to be written. Machine languages and assembly languages are also called low-
level languages, and are generally used to write the system software. Application software is
usually written in high-level languages. The program written in a programming language is also
called the source code.

Figure 7. Hierarchy of Programming Languages

Translator Software
Translator software is used to convert a program written in high-level language and
assembly language to a form that the computer can understand. Translator software converts a
program written in assembly language, and high-level language to a machine-level language
program. The translated program is called the object code. There are three different kind of
translator software:

Compiler
Source Code Assembler Object Code
Interpreter

Figure 7. Translator Software


Assembler. Assembly language is also referred to as a symbolic representation of the
machine code. Assembler is a software that converts a program written in assembly
language into machine code (Figure 8). There is usually a one-to-one correspondence
between simple assembly statements and machine language instructions. The machine
language is dependent on the processor architecture, though computers are generally
able to carry out the same functionality in different ways. Thus, the corresponding
assembly language programs also differ for different computer architectures.

Figure 8. Assembler
Compiler. A program written in a high-level language has to be converted to a
language that the computer can understand, i.e. Binary form. Compiler is the software
that translates the program written in ahigh-level language to machine language. The
program written in high-level language is referred to as the source code and compiled
program is referred as the object code. The object code is the executable code, which
can run as a stand-alone code. It does not require the compiler to be present during
execution. Each programming language has its own compiler. Some languages that use
a compiler are C++, COBOL, Pascal, and FORTRAN. In some languages, compilation
using the compiler and linking using the linker are required for creating the executable
object code.
The compilation process generally involves two parts—breaking down the
source code into small pieces and creating an intermediate representation, and,
constructing the object code for the intermediate representation. The compiler also
reports syntax errors, if any, in the source code.
Interpreter. The purpose of interpreter is similar to that of a compiler. The interpreter
is used to convert the high-level language program into computer-understandable form.
However, the interpreter functions in a different way than a compiler. Interpreter
performs line-by-line execution of the source code during program execution.
Interpreter reads the source code line-by-line, converts it into machine understandable
form, executes the line, and then proceeds to the next line. Some languages that use an
interpreter are BASIC and Python.
Difference Between a Compiler and An Interpreter
Compiler and Interpreter are used to convert a program written in high-level language to
machine language; however, they work differently. The key differences between a compiler and
an interpreter are as follows:
Interpreter looks at a source code line-by-line. Compiler looks at the entire source code.
Interpreter converts a line into machine executable form, executes the line, and
proceeds with the next line. Compiler converts the entire source code into object-code
and creates the object code. The object code is then executed by the user.
For a given source code, once it is compiled, the object code is created. This object
code can be executed multiple number of times by the user. However, interpreter
executes line-by-line, so executing the program using an interpreter means that during
each execution, the source code is first interpreted and then executed.
During execution of an object code, the compiler is not required. However, for
interpretation, both interpreter and the source code is required during execution
(because source code is interpreted during execution).
Since interpreter interprets line-by-line, the interpreted code runs slower than the
compiled code.
Linker
Linker is a program that links several object modules and libraries toa single executable
program. A source code of a program is often very large consisting of several hundred or more
lines. The source code may also include reference to libraries. All these independent modules may
not be stored in a single object file. The code is broken down into many independent modules for
easy debugging and maintenance. Before execution of the program, these modules and the required
libraries are linked together using the linker software. The compiled and the linked program are
called the executable code.
Loader
The loader software is used to load and re-locate the executable program in the main memory.
Software has to be loaded into the main memory during execution. Loader assigns storage space
to the program in the main memory for execution. Figure 9 shows the working of a Java Runtime
Environment (JRE). The java source file Sample.java is compiled and converted into a set of
bytecodes and are stored in Sample.class file. At runtime, the class loader loads the bytecodes from
the hard disk, checks it, and runs it in an interpreter. The interpreter executes the bytecode and
makes calls to the underlying hardware.

Figure 9. Working of java runtime environment

Figure 10. Hierarchy of program execution


The hierarchy of program execution from writing the program to its execution is show in
figure 10.

Application Software
The software that a user uses for accomplishing a specific task is the application software.
Application software may be a single program or a set of programs. A set of programs that are
written for a specific purpose and provide the required functionality is called software package.
Application software is written for different kinds of applications—graphics, word processors,
media players, database applications, telecommunication, accounting purposes etc.

Some examples of application software package are as follows:


Word Processing Software: For writing letter, reports, documents etc. (e.g. MS-WORD).
Image Processing Software: For assisting in drawing and manipulating graphics (e.g.
Adobe Photoshop).
Accounting Software: For assisting in accounting information, salary, tax returns (e.g.
QuickBooks)
Spreadsheet Software: Used for creating budget, tables etc. (e.g. MS-Excel).
Presentation Software: To make presentations, slide shows (e.g. MS-PowerPoint)
Suite of Software having Word Processor, Spreadsheet and Presentation Software: Some
examples are MS-Office, Google Docs, Sun Open office, Apple iWork.
CAD/CAM Software: To assist in architectural design. (e.g. AutoCAD, Autodesk)
Geographic Information Systems: It captures, stores, analyzes, manages, and presents data,
images and maps that are linked to different locations. (e.g. ArcGIS)
Web Browser Software: To access the World Wide Web to search documents, sounds,
images etc. (e.g. Internet Explorer, Netscape Communicator, Chrome)

SOURCE

Anita Goel; Computer Fundamentals; 2016


https://browseitwebcom.wordpress.com/2018/01/14/interview-questions-on-operating-system/
http://www.sharetechnote.com/html/OS_DeviceDriver.html

You might also like