computer softwares1

Upload: eidermutum

Post on 03-Apr-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/28/2019 Computer Softwares1

    1/7

    3.0 Computer software

    A computer is a machine that is dumb and unintelligible and it remains so until told to do

    otherwise. One way to do this is to communicate with the computer using programming

    languages understood by the computer. These programming languages will cause the computer

    to perform certain tasks.

    3.1 Software

    This is a general term that applies to any program (set if instructions) that can be loaded into a

    computer from any source. These programs tell the computer what it should do. Generally, there

    are two types of softwareoperating system software and application software.

    3.1.1 Operating system software

    Is a program that initiates and controls the operation of the computer. This software manages

    most of the computer activities which could include maintenance of files, resources and running

    of application software. Operating system software controls the flow of information through the

    computer from the input, processing to the output. It passes control from one program to another

    under a system of priority when more than one application program occupies the main storage. It

    furnishes a complete record of what took place during processing events. It also provides error

    correction routines. That is why it is referred to as resource manager. Also operating system

    software can be used to save, name, retrieve and maintain application packages on the

    computers. It also help in managing peripherals such as printers, plotters,, keyboards and disk

    drives, hence, it is also called a file manager. Examples of operating system software are UNIX,

    Microsoft Window 2000, Win 2003, WinXP, MS-DOS etc.

  • 7/28/2019 Computer Softwares1

    2/7

    3.1.2 Application software

    Are programs written for general use. They are of two types- user-defined (or specialist)

    application software and application package.

    1. User-defined application software: are those that are specially designed and tailored tomeet the specific needs of individuals, corporate bodies or establishments. Examples of

    these types of software are used by banks for on-line transactions, payroll in agencies and

    schools, stock control program and all those used by network service providers in

    marketing competitions. E.g MTN, CELTEL, GLO. Such software are usually very

    expensive to design.

    2. Application packages: these are programs designed for particular types of problems.Since they are for general and unrestricted use, they are mostly cheap and mass-

    produced. Application packages falls into the following categories:

    Commercial software: these are software that are available and offered for salefor commercial purposes. E.g Microsoft word processor, spreadsheets, computer

    graphics

    Public-domain software: are software that are available for interested users.They can be duplicated without infringement of copyright. They can be

    downloaded via the internet.

    Sharewares: are those that are also distributed free of charge, although you couldasked to donate some money for some cause of global concern. e.g wikipedia

    Freeware: are groups of software that are also available to interested users free ofcharge. e.g internet explorer, adobe reader

    Rentwares: are software that are leased out to user for a token of fee.There are other categories of software that are designed for protective purposes and language

    development. These are the utility software and language development software. Utility software

    are variety of different programs designed to aid in computer system maintenance. eg. Virus

    protection (antivirus), disk back-up, hardware analysis and troubleshooting, memory

    management and peripheral supports. On the other hand, language development software are

    used by software developers to write programs.

  • 7/28/2019 Computer Softwares1

    3/7

    3.2 Programming languages

    Are all the technical activities involved in the production of a program, including analysis of

    requirements and all stages of design and implementation. It can also be defined as the coding

    and testing of a program.

    3.2.1 Classification of programming language

    1. Machine language is the only language that can be understood by a computerwithout translation program. This language is written in strings of binary digits 0

    and 1. The circuitry of a computer is wired in such a way that it immediately

    recognizes the machine language and converts it to electrical signals needed to run

    the computer. For example, in the study on how a microprocessor works and control

    systems such as dishwasher, cloth washing machines and all that, you will need to to

    write programs using the data sheets such as Intel 8085 data book. Example of a

    machine code is

    1000001111000000011111111111000000000

    The code could tell the computer to drain water or turn on the tap.

    2. Assembly languageThe next level of programming language is the assembly (or low-level) language,

    which consists of a variety of programming languages in which the control and data

    structure directly reflects the underlying machine architecture. Such languages

    substitutes letters and symbols for strings of binary digits used in machine codes.

    They are called symbolic language or pseudo-language the letters are called

    mnemonics (a shorthand or help). The programs are called assemblers and are

    generally classified as low-level languages. Although assembly language is much

    more convenient than machine language, it still requires that the user be familiar with

    computer set of instruction mnemonics.

    3. High level language

  • 7/28/2019 Computer Softwares1

    4/7

    A large number of high level languages (HLL) have been developed to overcome the

    difficulties associated with assembly and machine languages. They are simpler to

    learn and use. They make it possible to communicate with a computer using English-

    level language and mathematical symbols without the need for detailed knowledge of

    the computers internal architecture or instruction set. High-level languages are

    known as problem-oriented languages (POL). They include the following:

    COBOL: Common Business Oriented Language

    BASIC: Beginners All-purpose Symbolic Instruction Codes

    ALGOL: ALGOrithmetic Language

    FORTRAN: FORmula TRANslation

    Others are PASCAL, C++, JAVA etc

    All programs written in high-level language must exist in two forms before they are executed by

    the computer tom produce the desired results. These states are source and object programs.

    3.2.2 Source program

    Any program written in HLL or LLL is called a source program. Such a program cannot beexecuted or operated upon by the computer until it has been translated into machine language.

  • 7/28/2019 Computer Softwares1

    5/7

    3.2.3 Object program

    Is obtained when a source program is translated using an interpreter, compiler or assembler.

    Source programs are translated into object programs internally by the computer.

    3.2.4 Translator

    Is a program that converts another program written in one language to the equivalent program in

    another language. Three types of translators are assemblers, compilers and interpreters.

    i. Assemblers: is a program that takes as input a program written in assembly

    language and translate it into machine codes

    ii Compiler: is a special program which translates the source program of

    a high-level language in the object program into machine codes. A

    compiler translates the entire program before executing it. Figure 3.1 gives

    the process of compilation.

    CompilerSource program Object program

    Figure 3.1 Process of compilation

  • 7/28/2019 Computer Softwares1

    6/7

    3.2.5 Interpreters

    High-level language can also be translated into machine language by programs called

    interpreters. An interpreter is a language processor that analyses a line of code and then carries

    out specified actions, rather than producing a machine code translation to be executed.

    Exercise

    Explain the difference between an interpreter and compiler.

  • 7/28/2019 Computer Softwares1

    7/7