KEMBAR78
Computer Software | PDF | Operating System | Assembly Language
0% found this document useful (0 votes)
32 views5 pages

Computer Software

Software is the logical component of a computer system, guiding hardware on task performance and is classified into system software, software development tools, and application software. System software includes operating systems, utility programs, and language translators, each serving specific functions and managing various computer resources. Application software is designed for specific tasks, such as word processing or data management, while software development tools aid in creating other software.

Uploaded by

adimachai17
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)
32 views5 pages

Computer Software

Software is the logical component of a computer system, guiding hardware on task performance and is classified into system software, software development tools, and application software. System software includes operating systems, utility programs, and language translators, each serving specific functions and managing various computer resources. Application software is designed for specific tasks, such as word processing or data management, while software development tools aid in creating other software.

Uploaded by

adimachai17
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/ 5

SOFTWARE

 This refers to the logical component of computer system.


 It is also defined as a program designed to guides and in structs various parts of hardware
components on how to perform their tasks.
 It is a program written in a language known to the computer, telling the computer what to
do and how to it.

Software is classified into three broad categories:

1. System software.
2. Software development tools.
3. Application software (packages).

SYSTEM SOFTWARE-These are the programs that are designed to assist computer hardware and
both software development tools and application packages on how to perform their tasks.
Examples of system software:

a) Operating systems.
b) Utility programs.
c) Language translators.
Operating system: They are programs that are designed to control and coordinate all computer
operations
Functions of operating systems:

 Works as an interface between the use and computer


 Main memory management
 Error handling and reporting
 Interrupt handler
 Job scheduling
 Provide a user interface
 Provide hardware independence
 Manage system memory
 Manage processing
 Control access to system resources
- Protection against unauthorized access
- Logins and passwords

 Manage files
- Physical storage location
- File permissions
- File access

Examples of Operating System include:

 Ms windows: vista, 2007, XP, 2008


 LINUX
 UNIX.
Resources Controlled By an Operating System

 Input And Output


 Main Memory
 Processor
 Control Unit
 Secondary Storage
 Communication Devices

Factors to consider when choosing an operating system

 Hardware configuration
 Application intended for the computer
 User friendly e.g. can the user use it!
 The cost
 Reliability and its availability in the market

Utility programs- these are special written programs that are designed to perform routine tasks
E.g. – Antivirus, File Management System, Disk Management tools, Compression tools, Disk
cleanup tool, File Management System, Disk Defragmenter, Backup utility

Language translators: These are software’s written to help convert the programs form machine
language to human languages and vice versa.

Computer Language Translator and its Types


A translator is a computer program that translates a program written in a given programming
language into a functionally equivalent program in a different language. Depending on the
translator, this may mean changing or simplifying the flow of the program without changing its
core. This makes a program that works the same as the original.
Types of Language Translators
There are mainly three types of translators that are used to translate different programming
languages into machine-equivalent code:
1. Assembler
2. Compiler
3. Interpreter
Assembler
An assembler translates assembly language into machine code. Assembly language consists of
mnemonics for machine op-codes, so assemblers perform a 1:1 translation from mnemonic to
direct instruction. For example, LDA #4 converts to 0001001000100100.
Conversely, one instruction in a high-level language will translate to one or more instructions at
the machine level.
The Benefits of Using Assembler
Here is a list of the advantages of using assembler:
 As a 1 to 1 relationship, assembly language to machine code translation is very fast.
 Assembly code is often very efficient (and therefore fast) because it is a low-level
language.
 Assembly code is fairly easy to understand due to the use of English, like in mnemonics.
The Drawbacks of Using Assembler
 Assembly language is written for a certain instruction set and/or processor.
 Assembly tends to be optimized for the hardware it is designed for, meaning it is often
incompatible with different hardware.
 Lots of assembly code is needed to do a relatively simple task, and complex programs
require lots of programming time.
Compiler
A compiler is a computer program that translates code written in a high-level language into a
low-level language, machine code. The most common reason for translating source code is to
create an executable program (converting from high-level language into machine language).
Advantages of using a compiler
Below is a list of the advantages of using a compiler:
 Source code is not included; therefore, compiled code is more secure than interpreted
code.
 Tends to produce faster code and is better at interpreting source code.
 Because the program generates an executable file, it can be run without the need for the
source code.
Disadvantages of using a compiler
Below is a list of the disadvantages of using a compiler:
 Before a final executable file can be created, object code must be generated; this can be a
time-consuming process.
 The source code must be 100% correct for the executable file to be produced.
Interpreter
An interpreter program executes other programs directly, running through the program code and
executing it line-by-line. As it analyses every line, an interpreter is slower than running compiled
code, but it can take less time to interpret program code than to compile and then run it. This is
very useful when prototyping and testing code.
Interpreters are written for multiple platforms; this means code written once can be immediately
run on different systems without having to recompile for each. Examples of this include flash-
based web programs that will run on your PC, Mac, gaming console, and mobile phone.
Advantages of using an interpreter
Here is a list of some of the main advantages of using an interpreter:
 Easier to debug (check errors) than a compiler.
 It is easier to create multi-platform code, as each different platform would have an
interpreter to run the same code.
 Useful for prototyping software and testing basic program logic.
Disadvantages of using an interpreter
And here is the list of some of the main disadvantages of using an interpreter:
 Source code is required for the program to be executed, and this source code can be read,
making it insecure.
 Due to the on-line translation method, interpreters are generally slower than compiled
programs.

APPLICATION SOFTWARE:

 These are special written programs that are designed to perform specific task in real life.
 Application Software refers to any program designed to be carried out by a computer to
satisfy a user’s specific need at a given time.
As the name suggests (application), this type of software is limited by application e.g. the
software we use for drawing cannot be used for calculation and vice versa.

Examples of Application Software:


1) Word Processors e.g. Wordpad, Microsoft Word, Lotus word pro, Notepad,
WordPerfect (Windows only), AppleWorks (Mac only), Work pages, OpenOffice Writer
e.t.c they are programs designed to support textual data and perform tasks that are typical
in nature.
2) Spreadsheets e.g. Ms Excel, Quotrro Pro, VisciCalc, VP Planner, Google Workspace,
Quip, Apple Numbers, Zoho Sheet, Minitab Statistical Software, LibreOffice, WPS
Spreadsheets e.t.c these are software’s that are designed to perform tasks that are
predominantly mathematical in nature.
3) Databases e.g. MySQL, SQL Server, MongoDB, Oracle Database, PostgreSQL,
Informix, Sybase e.t.c they are software’s used in organizing and manipulating related
files depending on the criteria provided.
4) Presentation e.g. Visme, Prezi, Google Slides, Keynote, Microsoft PowerPoint, Ludus,
and Slidebean. Presentation software is a category of application software that is
specifically designed to allow users to create a presentation of ideas by stringing together
text, images and audio/video. The presentation tells a story or supports speech or the
presentation of information.
5) Desktop Publishing software e.g. Ms Publisher, adobe PageMaker, Corel Draw e.t.c. are
application for managing publications by manipulation of pictorial documents like
business card, class cards e.t.c
SOFTWARE DEVELOPMENT TOOLS:

These are programs designed to develop other software’s. It is the most traditional tool used in
computer programming. E.g.: Visual Basic, C++, Pascal, Oracle, Dbase, e.t.c.

You might also like