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

Computer - Software

This document discusses different types of computer software. It describes system software as programs that control and manage computer hardware, including operating systems, utility programs, device drivers, and programming languages. Application software is designed to perform specific tasks for users. The document provides examples of operating systems and discusses their functions, such as interfacing with users and hardware and managing memory, storage, and I/O devices. It also describes device drivers and their role in enabling communication between operating systems/users and computer components.

Uploaded by

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

Computer - Software

This document discusses different types of computer software. It describes system software as programs that control and manage computer hardware, including operating systems, utility programs, device drivers, and programming languages. Application software is designed to perform specific tasks for users. The document provides examples of operating systems and discusses their functions, such as interfacing with users and hardware and managing memory, storage, and I/O devices. It also describes device drivers and their role in enabling communication between operating systems/users and computer components.

Uploaded by

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

Computer – Software

Software is a set of programs, which is designed to perform a well-defined


function. A program is a sequence of instructions written to solve a
particular problem.
There are two types of software −

 System Software

 Application Software

System Software
The system software is a collection of programs designed to operate,
control, and extend the processing capabilities of the computer itself.
System software is generally prepared by the computer manufacturers.
These software products comprise of programs written in low-level
languages, which interact with the hardware at a very basic level. System
software serves as the interface between the hardware and the end users.
Some examples of system software are Operating System, Compilers,
Interpreter, Assemblers, etc.

Here is a list of some of the most prominent features of a system software


 Close to the system

 Fast in speed

 Difficult to design

 Difficult to understand

 Less interactive

 Smaller in size

 Difficult to manipulate

 Generally written in low-level language


Objectives of Operating System
The objectives of the operating system are −
 To make the computer system convenient to use in an efficient manner.
 To hide the details of the hardware resources from the users.
 To provide users a convenient interface to use the computer system.
 To act as an intermediary between the hardware and its users, making it easier for the users to access
and use other resources.
 To manage the resources of a computer system.
 To keep track of who is using which resource, granting resource requests, and mediating conflicting
requests from different programs and users.
 To provide efficient and fair sharing of resources among users and programs.

Characteristics of Operating System


Here is a list of some of the most prominent characteristic features of
Operating Systems −
 Memory Management − Keeps track of the primary memory, i.e. what part of it is in use by whom,
what part is not in use, etc. and allocates the memory when a process or program requests it.
 Processor Management − Allocates the processor (CPU) to a process and deallocates the processor
when it is no longer required.
 Device Management − Keeps track of all the devices. This is also called I/O controller that decides
which process gets the device, when, and for how much time.
 File Management − Allocates and de-allocates the resources and decides who gets the resources.
 Security − Prevents unauthorized access to programs and data by means of passwords and other similar
techniques.
 Job Accounting − Keeps track of time and resources used by various jobs and/or users.
 Control Over System Performance − Records delays between the request for a service and from the
system.
 Interaction with the Operators − Interaction may take place via the console of the computer in the
form of instructions. The Operating System acknowledges the same, does the corresponding action, and
informs the operation by a display screen.
 Error-detecting Aids − Production of dumps, traces, error messages, and other debugging and error-
detecting methods.
 Coordination Between Other Software and Users − Coordination and assignment of compilers,
interpreters, assemblers, and other software to the various users of the computer systems.

Application Software
Application software products are designed to satisfy a particular need of a
particular environment. All software applications prepared in the computer
lab can come under the category of Application software.
Application software may consist of a single program, such as Microsoft's
notepad for writing and editing a simple text. It may also consist of a
collection of programs, often called a software package, which work
together to accomplish a task, such as a spreadsheet package.
Examples of Application software are the following −

 Payroll Software

 Student Record Software

 Inventory Management Software

 Income Tax Software

 Railways Reservation Software

 Microsoft Office Suite Software

 Microsoft Word

 Microsoft Excel

 Microsoft PowerPoint
Features of application software are as follows −

 Close to the user

 Easy to design

 More interactive

 Slow in speed

 Generally written in high-level language

 Easy to understand

 Easy to manipulate and use

 Bigger in size and requires large storage space


 Explain concept of software along with Unit 2 : Computer Software and Classification (8)
its need
 Differentiate main categories of 2.1 Software and its need
computer software. 2.2 Types of software
 Explore the importance of programming 2.3.1 System Software
languages in software development.  System, Utility Program
 Analyze the trends of new software and  Programming languages
mobile computing.  Assemblers
 List all the major operating system  Compilers
 Illustrate file allocation table  Interpreter
 Describe window operating system 2.3.2 Application Software
 Perform the window based operating 2.3 Programming languages machine, assembly, high Level, 4GL
system 2.4 Trends in software
2.5 Introduction to Disk Operating System: internal and external
commands
2.6 File Allocation Table (FAT & FAT 32)
2.7 Introduction to Window Operating System
2.7.1 GUI environments
2.7.2 Working with Files & Folders
2.7.3 Working with windows application programs
2.7.4 Customizing the taskbar and desktops
2.7.5 Customizing windows
2.7.6 Use of accessories.
2.7.7 Working with control panel
2.8 Mobile Computing
Lab work

 Performing 2.7 activities using window based


operating system
 Demonstration of the mobile operating system
Computer Software
Software is the basic component of a computer system. It refers to a program or a set of
instructions and applications used to manage and control various functions of a device such as a
computer. It tells the machine’s physical components what to do; without them, a computer
cannot do anything at all. It makes the effective utilization of hardware.There are different kinds
of software, each of which serves a specified purpose. These software are broadly classified into
two categories, namely system software, which controls a computer’s internal functioning, and
application software, which directs the computer to execute commands that solve practical
problems.

Types of software
System software
Application software

System Software
System software is a set of one or more programs that are basically designed to control
and manage the operation of a computer system. It deals with the physical complexities of
computer hardware and provides the environment for executing application software. It makes
the operation of the computer system more effective and efficient.
The purposes of the system software are:
a. T o provide basic functionality of a computer
b. T o control computer hardware, and
c. T o act as an interface between user, application software and computer hardware
It consists of four kinds of programs: operating system software, utility programs, device drivers
and language program.
Operating system software
Operating system software is a system software which controls and coordinates the internal
working of the computer and performs a large number of functions which are essential to operate
the computer system. Some examples include versions of Microsoft Windows, Apple’s macOS,
Linux and Unix.
Some of the functions that an operating system performs are as follows:
1. T he operating system provides the basic interface (communication link) to the user to work
on the computer. It receives commands from the users and makes the computer
hardware to act on these commands.
2. T he operating system manages all the hardware devices of a computer including the main
memory, storage devices, input/output devices, etc.
a. I t recognizes inputs given by the keyboard and other input devices.
b. I t manages the RAM space to load multiple programs.
c. I t accesses files to and from the storage devices and drives.
d. I t sends output to the monitor and other output devices.
3. The operating system provides a platform on which other software are executed.

4. The operating system loads the application programs.


Device driver
Device drivers play a major role in the operating system. It is a system software that controls a
particular type of device attached to a computer. It enables the operation of numerous devices,
including mouse, keyboard printer, video card and CD-ROM drive by translating commands
from the operating system or the user into commands understood by the associated component. It
also translates responses from the component back to the operating system, software application
or user.
Utility software
Utility software is a kind of system software designed to help analyze, configure, optimize and
maintain the computer. It performs a specific task related to the management of computer
functions, resources, or files, as password protection, memory management, virus protection and
file compression. Many operating systems have utility programs built directly into the operating
system itself. Other utility programs are sold separately as software packages that the user must
install. A number of different kinds of utility programs are available. Some of the major
categories of utility programs are as follows:

Disk defragmenter: Disk defragmenters rearranges the fragmented files back together
to improve file retrieval speed and efficiency.
Disk check : Disk Check is a free utility that can help you scan your disk drives
for errors and fix them. It can also scan entire disk for bad sectors and try to recover them.
Backup utility: Backup utility is a program that allows you to back up selected
files or an entire disk to a removable storage medium.
Antivirus: Anti-virus software is a program or set of programs that are
designed to prevent, search for, detect, and remove software
viruses, and other malicious software like worms, trojans,
adware, and more.
Disk Cleanup: Disk Cleanup (cleanmgr.exe) is a computer maintenance utility
included in Microsoft Windows designed to free up disk space on
a computer’s hard drive.
Disk partitioning: Disk partitioning is the creation of one or more regions on a hard
disk or other secondary storage, so that an operating system can
manage information in each region separately
Disk compression: Disk compression is software designed to organize or compress
data to maximize free disk space.
File manager: File manager or file browser is a computer program that provides
a user interface to manage files and folders.

Translator program
Translator program is a computer program that converts the programming instructions written in
human convenient form into machine language codes that computers understand and process.
The translating programs are loaded into the computer’s memory at the time of translation
process. There is one translating program for each programming language. There are three basic
kinds of translator programs: assembler, compiler and interpreter.
i. Assembler:
Assembler is a computer program that translates the assembly language
program into machine language program. The assembly language program is called source
program and the machine language program is called object program. The assembler takes the
source program as input, translates it into the object program and the object program is given as
the output.
ii. Compiler C ompiler is a computer program that translates a high-level language
program into a machine code in a single operation. The compiler treats source-program
instructions as data. It reports all the errors of the program along with the line numbers. After all
the errors are removed, the program is recompiled, and an executable file is made which is
compiler independent. Some of the programming languages such as C,
C++ and FORTR AN use compilers.
iii. Interpreter Interpreter is a computer program that translates programs written in
high-level language into machine language, line by line. If there is any error in any line, it is
reported to the user and the execution of the program is stopped. Interpreters are easier to use and
require less storage space. QBASIC program normally uses an interpreter.

Differences between Interpreter and Compiler


Interpreter Compiler
Converts one statement of the program at Converts whole programs in the machine
a time. code in one go.
Executes the statement immediately after Execute the whole program together.
converting it and before going to the next
statement.
Program execution stop as soon as it Program execution is disrupted only when
encounters any type of error. three is a logical error.
Interpreter must reside in the memory while An executable file can be created made,
the program is interpreted and executed. which can be carried to any other computer and
can be executed without the compiler.
Finding errors and removing them is much Difficult to identify the error as all of them are
easier because only one error is given at a given together.
time.

Application Software
Application software is a computer software designed to help the user to perform single or
multiple related specific tasks. It helps the end-user to work faster, more efficiently and more
productively. It can manipulate text, numbers, graphics or a combination of these depending on
the work for which it was designed. Application software may be written by a large software
house which distributes its products widely and addresses a general class of problems, or may be
written by an individual and addresses a particular problem. Application software can further be
sub-divided into two categories:
a. C ustomized software
b. Packaged software

Customized (tailored) software


Customized (tailored) software is the software developed to meet the specific requirements of a
particular person, institution or organization. Tailored software is written on the demand of
individual’s need and serves only a single organization. Industrial automation software, business
software, payroll software of a company, banking software designed especially for a bank, etc.
are examples of some customized (tailored) software.
Packaged software
Packaged software is a generalized set of programs that allows the computer to perform a
specific data processing job for the user. These programs are user friendly and esigned for use in
more than one environment. Packaged software may be purchased from software vendors. The
most popular packaged software are:

Programming Language
A language is a system of communication. A programming language is an artificial language
designed to communicate instructions to a machine, particularly a computer. Programming
languages can be used to create programs that control the behavior of a machine and/or to
express algorithms. The description of a programming language is usually split into the two
components of syntax (form) and semantics (meaning). Programming languages may be created
for a special purpose or they may be general purpose tools that may be suitable for many types of
applications. Programming languages are typically called computer languages; however, some
authors deem programming languages to be subsets of computer languages. Since the oldest
forms of programming languages like COBOL and FORTR AN, thousands of computer
languages have been developed. However, every programming language must have its own basic
instruction sets that permit the operation to be performed:
a. Input/output instructions
T o transfer data and instruction between the CPU and I/O devices.
b. Arithmetic instructions
T o carry all arithmetic operations such as addition, subtraction, multiplication and division.
c. Logic instructions
T o perform logical tests for equality, greater than and less than between operands.
d. Control instructions
T o alter the order in which the program instructions are to be executed.
e. Data moving instructions
T o move data from one location to another in the computer memory from one storage media to
another with or without modification. Programming languages are classified as under, varying with their
closeness to the actual hardware of the machine:
Types of Programming Language
The programming languages are classified as under, varying with their closeness to the actual
hardware of the machine:
i. Machine level language
ii. Assembly language
iii. H igh level language

Machine Level Language (First Generation Language)


Machine level language is a set of instructions written in the form of 0’s and 1’s, where 0
stands for absence of current and 1 stands for presence of current. In machine anguage, the
instructions contain- the operation code (OP code) and memory location codes. These
instructions are specific to the individual computer’s CPU and associated hardware. Different
designs of machines will have different machine language and require different sets of codes to
perform the same task. In other words, the machine language for a Macintosh is not the same as
the machine language for an IBM compatible PC. Machine language programs cannot be easily
transferred from one machine to another.
Advantages:
1. Machine languages make efficient use of storage.
2. Efficiency during execution, as this is only language which computer understands and
follows.
3. Machine language instructions can be used to manipulate the individual bits in a byte of
computer storage.
Disadvantages:
1. Programming in machine language require a detailed knowledge of the hardware and the use
of binary code.
2. T he program becomes very lengthy and is very difficult to locate the errors.
3. Machine language is machine dependent. Programs written in machine language in
one machine cannot be easily transferred to other machines.
4. Machine languages requires a high level of programming skill.
Assembly Language (Second Generation Language)
In order to overcome some of the difficulties in programming in machine level language,
the assembly language was introduced. Assembly language is a low level language that
permits the use of mnemonics for each instruction that the machine can do. The word
mnemonic refers to memory aid. Programs written in assembly language must be
translated into machine understandable code since computers do not understand
mnemonic codes (alphabetic codes). This translation is done by an assembler.
Making the assembler for a machine is a one-time job. Once the assembler is made the
assembly language using mnemonic could be used for writing programs. Converting the
assembly language program to machine language program is called assembling the program.
Every program written in assembly language will have to be assembled before execution. A
program written by the programmer in an assembly language is called a source program.
Program which is obtained after being converted into machine language is called object program.
It is also a machine oriented language i.e.designed for specific make and model of a computer.
Advantages:
1. T he computation time of an assembly language program is less.
2. T he assembly language programmer has the facility to use subroutines.
3. T he symbolic programming of assembly language is easier to understand and saves a lot of
time and effort of the programmer.
4. I t is easier to correct errors and modify program instructions.
Disadvantages:
1. I t is machine dependent i.e each design of the machine has a different assembly language 2.
Assembly level programs are too difficult to understand.
3. C oding in this language is time-consuming.
4. Program execution is slower and less efficient than machine level language.
High Level Language (Third Generation Language)
High level languages are developed to make programming easier. These languages use
instructions that are closer to English and mathematical notation. This language overcomes most
of the shortcomings of machine and assembly languages. The high level language does not
require the programmer to have a detailed knowledge of hardware of the computer. High level
languages are machine independent programs and problem oriented. The use of statements that
are similar to the commonly used language with proper syntax have made it easier for the user to
write programs.
High level languages must also be translated into machine language by a program before run.
Advantages:
1. H igh level languages are simple languages that use English and mathematical symbols like +,
-, %, / etc. for its program construction.
2. H igh level languages are problem-oriented languages because the instructions are suitable for
solving a particular problem.
3. Fewer instructions are required to write a program in high level languages.
4. A program written in a high level language on one type of computer can usually be
converted to operate on another type of computer quite easily. Because of this high level
language programs are described as being portable.
Disadvantages:
High-level language programs normally take up more space and execute more slowly than
equivalent assembly language programs.
Fourth Generation Programming Language (4GL)
Fourth-generation programming language is a programming language or programming
environment designed with a specific purpose in mind, such as the development of
commercial business software. It is closer to human language than other high-level languages
and is accessible to people without formal training as programmers. It allows multiple common
operations to be performed with a single programmer-entered command. It is designed to
reduce programming effort and the cost of software development. Some of the common
fourth generation languages are dBase, FoxPro, Microsoft Access and Oracle.
Advantages:
1. T hey possess friendly interfaces.
2. T hey are easier to use than previously used high level languages.
3. T he programming language contained within a 4GL is closely linked to the English language
structure.
Disadvantages:
1. T he downside of a 4GL is that the programs run slower than those of earlier language
generations because their machine code equivalent is considerably longer and more
complicated to execute.
2. T he recent popularity of 4GLs is closely linked to the development of fast microprocessors.

Fifth Generation Programming Language (5GL)


Fifth generation languages are programming languages that contain visual tools to help develop
a program. Fifth-generation languages are designed to make the computer solve a given
problem without the programmer. This way, the programmer only needs to worry about
what problems need to be solved and what conditions need to be met, without worrying
about how to implement a routine or algorithm to solve them. Fifth generation languages are
used mainly in artificial intelligence research. Prolog, OPS5 and Mercury are examples of fifth
generation languages.

You might also like