Assembler, Compiler, Interpreter, Linker, Loader
Assembler: A computer will not understand any program written in a language, other
than its machine language. The programs written in other languages must be
translated into the machine language. Such translation is performed with the
help of software. A program which translates an assembly language program into
a machine language program is called an assembler. If an assembler which runs
on a computer and produces the machine codes for the same computer then it is
called self assembler or resident assembler. If an assembler that runs on a
computer and produces the machine codes for other computer then it is called
Cross Assembler.
Assemblers are further divided into two
types: One Pass Assembler and Two Pass Assembler. One pass assembler is the
assembler which assigns the memory addresses to the variables and translates
the source code into machine code in the first pass simultaneously. A Two Pass
Assembler is the assembler which reads the source code twice. In the first
pass, it reads all the variables and assigns them memory addresses. In the
second pass, it reads the source code and translates the code into object code.
Compiler: It is a program which translates a high level language program into a
machine language program. A compiler is more intelligent than an assembler. It
checks all kinds of limits, ranges, errors etc. But its program run time is
more and occupies a larger part of the memory. It has slow speed. Because a
compiler goes through the entire program and then translates the entire program
into machine codes. If a compiler runs on a computer and produces the machine
codes for the same computer then it is known as a self compiler or resident
compiler. On the other hand, if a compiler runs on a computer and produces the
machine codes for other computer then it is known as a cross compiler.
Interpreter: An interpreter is a program which translates statements of a program
into machine code. It translates only one statement of the program at a time.
It reads only one statement of program, translates it and executes it. Then it
reads the next statement of the program again translates it and executes it. In
this way it proceeds further till all the statements are translated and
executed. On the other hand, a compiler goes through the entire program and
then translates the entire program into machine codes. A compiler is 5 to 25
times faster than an interpreter.
By the compiler, the machine codes are saved
permanently for future reference. On the other hand, the machine codes produced
by interpreter are not saved. An interpreter is a small program as compared to
compiler. It occupies less memory space, so it can be used in a smaller system
which has limited memory space.
Linker: In high level languages, some built in header files or libraries are
stored. These libraries are predefined and these contain basic functions which
are essential for executing the program. These functions are linked to the
libraries by a program called Linker. If linker does not find a library of a
function then it informs to compiler and then compiler generates an error. The
compiler automatically invokes the linker as the last step in compiling a
program.
Not built in libraries, it also links the
user defined functions to the user defined libraries. Usually a longer program
is divided into smaller subprograms called modules. And these modules must be
combined to execute the program. The process of combining the modules is done
by the linker.
Loader: Loader is a program that loads machine codes of a program into the
system memory. In Computing, a loader is the part of an Operating System that is
responsible for loading programs. It is one of the essential stages in the
process of starting a program. Because it places programs into memory and
prepares them for execution. Loading a program involves reading the contents of executable file into memory. Once loading is complete, the
operating system starts the program by passing control to the loaded program
code. All operating systems that support program loading have loaders. In many
operating systems the loader is permanently resident in memory.
241 Comments:
«Oldest ‹Older 401 – 241 of 241 «Oldest ‹Older 401 – 241 of 241
Post a Comment
Subscribe to Post Comments [Atom]
<< Home