You are on page 1of 3

c 

› P
The first language to provide such a bootstrap was NELIAC.
The first commercial language to do so was PL/I.
The first self-hosting compiler (excluding assemblers) was
written for Lisp by Hart and Levin at MIT in 1962. They wrote
a Lisp compiler in Lisp, testing it inside an existing Lisp
interpreter. Once they had improved the compiler to the
point where it could compile its own source code, it was self-
hosting.
The compiler as it exists on the standard compiler tape is a
machine language program that was obtained by having
the S-expression definition of the compiler work on itself
through the interpreter.
This technique is only possible when an interpreter already
exists for the very same language that is to be compiled. It
borrows directly from the notion of running a program on
itself as input, which is also used in various proofs
in theoretical computer science, such as the proof that
the halting problem is undecidable.

  P
Alternatively referred to as 
or   ,
a  loader is a program that resides in the
computers EPROM,ROM, or other non-volatile memory that
automatically executed by the processor when the computer
is turned on. The bootstrap loader reads the hard disk
drives boot sector to continue the process of loading the
computers operating system. The term bootstrap comes
from the old phrase "Pull yourself up by your bootstraps."

The boot loader has been replaced in computers that have an


Extensible Firmware Interface (EFI). The boot loader is now
part of the EFI BIOS.

After the microcontroller's bootstrap mode has been


activated, a loader program can be used to store some
routines on the microcontroller. In the next step those
routines are used to upload a new firmware and save it in the
program memory. This provides an easy way to upload a new
firmware. No need to open the device's housing, or replace
the program memory chip.

 
ͻ This scheme is simple to implement. Because assembler is
placed at one part of the memory and loader simply loads
assembled machine instructions into the memory.

 
ͻ In this scheme some portion of memory is occupied by
assembler which is simply a wastage of memory. As this
scheme is combination of assembler and loader activities,
this combination program occupies large block of memory.

ͻ There is no production of .obj file, the source code is


directly converted to executable form. Hence even though
there is no modification in the source program it needs to be
assembled and executed each time, which then becomes a
time consuming activity.

ͻ It cannot handle multiple source programs or multiple


programs written in different languages. This is because
assembler can translate one source language to other target
language.

ͻ For a programmer it is very difficult to make an orderly


modulator program and also it becomes difficult to maintain
such program, and the ͞compile and go͟ loader cannot
handle such programs.

ͻ The execution time will be more in this scheme as every


time program is assembled and then executed.

You might also like