Friday, February 21, 2014

System Software

Software is the name given to the programs that run on a computer system. It is normally split into two main categories: systems software and applications software.
This is the name given to the programs that help control the running of computer systems eg Operating Systems (such as Windows or Unix), Translators (such as C++, Visual Basic or Pascal), Library programs, System Utilities (such as backup programs, defragmentation programs, etc) and even, in some cases, Database Management Systems.
NOTE If asked to name an example of system software do not mention a specific type. Operating system is correct - Windows is not.




The translator programs come in three types: Assemblers, Interpreters and Compilers. Assemblers take short commands (which correspond to specific binary instructions to the CPU) and convert them into the binary equivalent. This program can then be run. Unfortunately, Assembly Languages are difficult to learn because you are programming the computer at the CPU level. Assembly languages are now only used when great speed and/or compactness in the final, executable program is required.
Interpreters look at each line of the source program in turn, converts this into binary and then runs it. Interpreters, because they are relatively primitive, take up very little space in the computer’s memory. This is why, on the earliest home computers were memory was expensive, you would normally find an interpreter. The Interpreter needs to be in memory at the same time as the source program.
Compilers are more complex and convert the whole of the source program into binary. This converted program now becomes an executable file which can be run without the compiler or the source program being present. The great advantage of compilers being that the final executable program ran quicker than the interpreted equivalent.
A full explanation of Translators can be found in the Fundamentals of Programming notes.

Library programs generally consisted of program routines to solve a particular task. The translator program then linked in the appropriate routine which saves programmer time.

No comments:

Post a Comment