Fig: Classification of 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
Software System:
The system software is collection of programs designed to operate, control, and extend the processing capabilities of the computer itself. System software are generally prepared by computer manufactures. 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 hardware and the end users.
Some examples of system software are Operating System, Compilers, Interpreter, Assemblers etc.
Operating System:The operating system is the software that allows you to operate the hardware. The programs that we want to execute, the applications that we want to use all require a platform on which to execute. That platform is provided by the operating system.
One role of the operating system is to provide a virtual machine. This refers to the way that, by clicking on icons and menus, or by typing in commands at a prompt, we get to interact with the computer hardware without having to understand its complexity. By hiding the true complexity of the system from the user, the operating system makes it easier for ordinary people to make computers perform useful tasks.
Language Translators:
Whatever language or type of language we use to write our programs, they need to be in machine code in order to be executed by the computer. There are 3 main categories of translator used,
Assembler
An assembler is a program that translates the mnemonic codes used in assembly language into the bit patterns that represent machine operations. Assembly language has a one-to-one equivalence with machine code, each assembly statement can be converted into a single machine operation.
Compiler
A compiler turns the source code that you write in a high-level language into object code (machine code) that can be executed by the computer.
The compiler is a more complex beast than the assembler. It may require several machine operations to represent a single high-level language statement. As a result, compiling may well be a lengthy process with very large programs.
Interpreter
Interpreters translate the source code at run-time. The interpreter translates statements one-at-a-time as the program is executed.
Interpreters are often used to execute high-level language programs whilst they are being developed since this can be quicker than compiling the entire program. The program would be compiled when it is complete and ready to be released.
Some programming languages make use of both compilers and interpreters. If you were to write a Java program in a text editor, when you came to compile it with the Java compiler, you would actually be creating something called bytecode. Bytecode can be thought of as an intermediate stage between source code and object code. When a computer executes a Java program, library programs on that machine interpret the bytecode. This allows Java to be platform-independent - a user needs the correct run-time libraries for Java on their machine in order to execute the programs.
Application Software:
Application software tends be used for the tasks that have some relationship to the world outside of the computer. For example, you might use a word processor to write a letter or an essay. Although you use the computer to perform the task, the task itself might reasonably be considered to be a non-computer task.
General-Purpose Software
Software is general-purpose if it can be used for lots of different tasks. You can use a word processor to write letters, memos, essays, instructions, notes, faxes, invoices and lots more.
These days we tend to use integrate suites of office software where a range of general-purpose software is provided, usually with the facility to combine elements from each application in a single file.
Special-Purpose Software
This software performs a single specific task. This task might be complex like payroll calculation, stock control etc. but will be based on a single task.
As with many abstract concepts, you can stretch these definitions until they blur a little. These days, web browsers can contain a lot of features. They are still primarily focused on a single task, rendering web pages and so the web browser is special-purpose. Being able to access an application using a browser does not change the main purpose of the browser software itself.
Source: http://www.multiwingspan.co.uk/
No comments:
Post a Comment