System Software - BIOS, Language translator, Compiler & Interpreter

Posted by Unknown Sunday, July 21, 2013 0 comments
Systems software refers to programs that assist the users to generate, debug, test, modify application programs, and then to executive them. These programs are generally written y computer manufacturers or software developers. The system programs can be used by different users and different application programs. The programs of system software can be grouped into:
  • Operating system
  • Language translators
  • Utiltiy programs
The most important component of system program is the operating system. It is a collection of program modules. Collectively they manage all the hardware, provides user - interface and some other user facilities. Other system programs include language translators (i.e. assembler, compiler, and interpreter), text editors and some utility programs

An operating system is a software system. It acts as an interface between a user of a computer and the computer hardware. The operating system provides an environment in which a user may execute programs. The goals of an operating system are to:
  • Make the computer system convenient for user
  • Make efficient use of the computer hardware.
The operating system controls and coordinates the use of the hardware for different application programs. The basic resourced of a computer system are provided by its hardware, software and data. The operating system provides the means for the proper use of these resources in the operation of the computer system.

An operating system is an important part of a computer system. A computer system can be viewed to have four components:
  • Hardware (CPU, memory, I/O devices etc.)
  • Operating system
  • Applications programs (compilers, database systems, video games, business programs etc.)
  • Users (People, machines or other computers)
The role of BIOS: 
When starts, the computer system has no idea what drives it has and cannot even load its operating system. To solve this problem, a computer users the Basic Input/Output System (BIOS) to turn it on. This small program is permanently stored in a read-only memory (ROM) chip. Science it is a small program embedded in a chip, it occupies a place between the software and hardware. For this reason it is often called firmware. BIOS performs a number of important functions. It interprets key strokes, displays characters on the screen, handles communication through the computer’s ports, and tests the system while turning it on.

When a computer is turned on, the CPU hands over control to the BIOS, and the BIOS runs the power on self test or POST makes sure that all chips on the system board works well. Results of such tests are shown on the monitor at the time of turning on. Finally when the BIOS finds the operating system, in hard disk or floppy disk, it hands over control to the operating system.

Language Translators:
Machine language: The machine language is written in words comprising of 1s and 0s. Computers execute commands on instructions in machine language; programming in machine language has the following disadvantages:
  • The program must be written in machine language
  • Entering machine language program is a tedious process
  • Error detection and correction is tedious and consumes much time
  • Programs written in machine language for a specific machine cannot be used for another type of machine.
Assembler: Programming in assembly language is easier than programming in machine language. The programmer is required to write a source code for each instruction in the program and the assembler translates it to machine language. The programmer maintains total control of the computer operation. Assembly language offers the greatest degree of efficiently in operation and execution of programs.

Many shortcomings of machine language programming are overcome by programming in assembly language. Assembly instructions of a computer have mnemonics associated with them. The assembly program is written using these mnemonics. Assemblers are programs that translate assembly level codes into equivalent machine codes. For programming in assembly language, it is not necessary to write programs in absolute binary, octal or hexadecimal notations.

Compiler and Interpreter: High level languages are widely used. They have been developed to enable the users to program the machines in a language similar to the language of the users. For example BASIC, Pascal, C and Java use scientific notations and subroutines in programming formats that are similar to mathematical formulas and equations. On the other hand, COBAL contains business jargons widely used in business.

A Compiler is a program that translates programs written in high level language into machine language. A programs written by a programmer in a high level language, is called a source program. The source program when converted into machine language by a compiler is referred to as an object program. Unlike the assembler, the compiler generates several machine language instructions for each source statement. A compiler can be made to interface with several different computers. It is not written for any specific computer. A user can write programs that can be adapted to several computing systems. Thus, the user can formulate problems efficiently without precise knowledge of computer architecture. Compilers are complex programs compared to assemblers and they require more storage space than assemblers. An assemblers or a compiler produces the object program, which is loaded into the computer memory before execution.

An interpreter is a translator program that differs from the assembler or the compiler on several significant points. The interpreter does not prepare an object program. It translates and immediately executes each instruction of the source program. Thus an interpretive language is also an interactive language; it enables the user to load one instruction into the computer at a time and have it translated and executed. This process allows the programmer to check the results immediately. The interpreter is also a debugging tool and is useful during the program development stage. In the interpretive mode the execution time of the program is extended, but the program developmental effort and the program development time are decreased.

Comparison of Compiler and Interpreter:
Compiler Interpreter
Compiler prepares an object program from source program Interpreter translates and immediately executes each instruction of the source program
Debugging is complex and time consuming It is a debugging tool and is useful during program developing stage
Lower execution time Higher execution time
Requires higher program development effort and time Requires less program development effort and time
Text Editor: While developing a program, it is often necessary to edit it. Editing involves making corrections or modifications to instructions, deletions and additions of instructions, re-sequencing instructions etc. A special program called editor greatly simplifies the editing tasks. An editor enables the user to retain the program in the memory and modify it as required. A portion of the memory, called buffer, is reserved for editing. Lines of instruction are entered from an external I/O device and stored in the buffer for editing by the editor. The edited text can be printed by a printer or recorded on suitable I/O devices.

0 comments:

Post a Comment

Related Posts Plugin for WordPress, Blogger...