Computer Software

Software is generally classified into theree specific categories in the computer world:
1. System software
2. Application software
3. Utility software

1. System software:

This consists of all the programmes, languages and documentation supplied by the manufacturer of the computer. This type of software is required to use the computer efficiently and conveniently. These programmes allow the application developer to write and develop their own programmes.

2. Application software:

These programmes are developed by the user in order to perform some specific function for the organisation. For example, a payroll system to compute the salaries of the employees of an organisation is termed as an application software.

3. Utility software:

Utility software may be considered as an application software or a system software which is very often used in the development of a programme.

Programming Language

A programming language consists of words, symbols and usage rules pertaining to the grammar that permits people to communicate with the computer. permits people to communicate with the computer. Understanding of computer software is imperfect with out a basic knowlede of programming languaes, Programming languages allow the programmers and end users to develop the programmes that are exceuted by users to develop the programmes that are executed by the computer. Many programming languages exist in the world today. Each one of the languages have their own unique vocabulary, grammar and usage. Some of these languages have been created to serve a special purpose while others are more flexible and general purpose and are suitable for many types of applications. However ingeneral, programming languages must cater to the following tasks:

  •  input/ output
  •  text manipulations/ calculations
  •  logic/ comparison
  •  storage/ retrieval

Classification of Programming Language

Machine Languages:

Machine language is the lowest form of computer language. Programmes were only written in binary based machine level language in the first generation computers. The computer understands this language only at its lowest level.
An instruction perpared in machine language has two parts:
1. Op-code: This is the first part and is the command or operation and it tells the computer what function to perform.
2. Operand: The second part of the instruction is the operand and it tells the computer where to find or store the data or instructions that are to be manipulated. The number of operands in an instrution varies from computer to computer. In a single operand machine, the binary equivalent of “ADD0481” could cause the value in a storage location 0481 to be added to a value stored in the arithmatic & logic unit. The single operand format is popular in the smallest microcomputers whereas the two operand structure is found in most other machines.
The set of instructions in a machine level language can be divided into four categories:
1. Arithmatic – add, subtract, multiply and divide
2. Controlled– load, store, jump instructions
3. Input output – Read and write
4. Direct use – Halt, start and end
No arithmatic or comparison operations are done in the primary memory of the computer. Instead it is done in the ALU’s special register called accumulator. Thus if we need to add two numbers, we require one instruction which will order the control unit to place a nuber in the accumulator and another instruction to identify the operation of addition.

Symbolic/ Assembly Languages:

In order to reduce the burden, symbolic languages, commonly known as assembly languages was developed in 1950’s for the second generation computers.
This language permits the use of symbols or mnemonics which are two or three letter abbreviations for the function to be performed by the instruction. These are then translated by using symbolic equivalence table. to control registers etc. However, the disadvantage of using binary has been removed.
Functions of Assembler
(i) The Assembler translates the function code into its machine code equivalent.
(ii) It assigns absolute addresses to any symbolic address or label names.
(iii) It places each instruction in central memory.
(iv) It identifies indirect addresses from direct addresses and sets the appropriate bit in the address portion of the instruction.
(v) It checks the syntax of each instruction and generates error messages.
(vi) It provides, optionally, a cross reference table between all symbolic names and their absolute addresses.
(vii) It informs the control unit to exceute the program after all errors have been corrected.
Advantages of Assembly languages
(i) They save time and reduce detail as compared to machie language.
(ii) Lesser number of errors are made and errors are easier to detect.
(iii) Assembly programs are easier to modify than machine language programs
Disadvantages of Assembly Language
(i) Writing a code is time consuming.
(ii) Assembly languages are machine dependent.

High Level Languages

The disadvantages of using assembly language brought about the development of higher level languages. Unlike the assembly programs, high level language programs may be used with little modification. High level languages are easier to learn than symbolic languages. They require less time to write, are easier to maintain, provide better documentation and 4 or 5 low- level in structions are reduced to a single high level statement.

The Operating System

The operating system is the core software component of the computer. It performs many functions and is in very basic terms an interface between your computer and the outside world. In the section about hard ware, a computer is described as consisting of several components including your monitor, keyboard, mouse and other parts. The operating system provides an interface to these parts using what is referred to as “drivers”. This is why sometimes when you install a new printer or other piece of hardware, you system will ask you to install more software called a driver.

Operating System Types

There are many types of operating systems. The most common is the Microsoft’s operating systems.

  • Windows XP Professional Edition: A version used by many businesses at workstations. It has the ability to become a member of a corporate domain.
  • Windows XP Home Edition: A lower cost version of Windows XP which is for home use only and should not be used in a business.
  • Windows 2000: A better version of the Windows NT operating system which works well both at home and as a workstation in a business. It includes technologies which allow hardware to be automatically detected and other enhancements over Windows NT.
  • Windows 2000: A better version of the Windows NT operating system which works well both at home and as a workstation at a business. It includes technologies which allow hardware to be automatically detected and other enhancements over Windows NT.
  • Windows ME: An upgraded version from windows 98 but it has been historically plagued with programming errors which may be frustrating for home users.
  • Windows 98: This was produced in two main versions. The first Windows 98 version was plagued with programming errors but the Windows 98 Second Edition which came out later was much better with many errors resolved.
  • Windows NT: A version of Windows made specifically for businesses offering better control over work station capabilities to help network administrators.
  • Windows 95: The first version of Windows after the older Windows 3.x, versions offering a better in terface and better library functions for programs.

There are other worthwhile types of operating systems not made by Microsoft. The greatest problem with these operating systems lies in the fact that not as many application programs are written for them. However if you can get the type of application programs you are looking for, one of the systems listed below may be a good choice.

  • Unix: A system that has been around for many years and it is very stable. It is primarily used as a server rather than a workstation and should not be used by anyone who does not understand the system. It can be difficult to learn, Unix must normally run on a computer made by the same company that produces the software.
  • Linux: Linux is similar to Unix in operation but it is free. It also should not be used by anyone who does not understand the system and can be difficult to learn.
  • Apple Macintosh- Most recent versions are based on Unix but it has a good graphical interface so it is both stable (does not crash often or have as many to learn). One drawback to this system is that it can only be run on Apple produced hardware.

An operating system, sometimes called an “OS”, is the main program the computer used to function properly. Operating systems act as a link between you, the user, and the programs you use on a computer. Different types of computers use different types of operating systems. The majority of computers used either run Microsoft Windows or MacOS. While files can be shared between these two types of systems. they are generally incompatible