Showing posts with label System Programming. Show all posts
Showing posts with label System Programming. Show all posts
Short Note on Macro Pre – Processor
Macro Pre – Processor :-
Macro pre – processor is accepts an assembly program
containing definition and calls definition and calls. It translate the program
which does not contained any macro definition or calls. It is very economical
because it can use an existing assembler. However, it is not as efficient as a
macro assembler that is an assembler that performed macro expansion as well as
assembler.
Fig – Schematic of a Macro Pre – Processor
Fig – Schematic of a Macro Pre – Processor
Short Note on Relocation Loader
Relocation Loader :- Another function commonly performed by a loader is that of program re – location. Relocation is simply moving a program from one area to another in the storage. It referred to adjustment of address field and not to movement of a program. The task of relocation is to add some constant value to each relative address in the segment the part of a loader which performed relocation is called re – location loader.
Short Note on Linking Loader
Linking Loader :- The need for linking a program with other programs assign because a program written by a programmer or its translated version is really of a stand alone nature. That is a program generally cannot executed on its own. Without requiring the presents of some other programs is computer memory. The standard function must reside into the main memory. The linking function next address of program known to each other, So that such transfers can take place during the execution.
Short Note on Boot Strap Loader
Boot Strap Loader :- When a computer is first turned on or restarted a special type of absolute loader is executed , called Boot Strap Loader. It loads the operation system into the main memory and executes the related programs. It is added to the beginning of all object programs that are to be loaded into and empty ideal system.
Short Note on Assemble – and – go or Compile – and – go loader
Assemble – and – go or Compile – and – go loader :-
Any method of performing the loader function is to have the assembler run in one of the part of memory and place the machine instructions in data directly into assigned memory location. This is a simply solution, involving mode any extra procedure. It is used by the WATFOR FORTAN compiler and other several language processor (PL/I). Such a loading scheme is commonly called compile – and – go and assemble – and – go loader.
Short Note on Dynamic loader
Dynamic loader :- Dynamic loader is the Persian of loader that actually intersect the “calls” and loads the necessary procedure is called over lay super visor or simply flipper. This over all scheme is called Dynamic Loading or Load on Call.
An advantage id Dynamic Loader is that, no over head is in corrected unless the procedure to be called or referenced is actually used. Also the system can be dynamically re – configured.
The major draw back is occurred due to the fact that we here postponed most of the binding process until execution time.
Short Note on Direct Linking Loader
Direct Linking Loader :- Direct linking loader is a general relocatable loader and perhaps the most popular loading scan presently used. It has the advantage of allowing the programmer multiple procedure segments and multiple data segments. It has also an advantage that has given to the programmer complete freedom in referencing data or instructions content in other segments. This provides flexibility of inter segment referencing and accessing while at the same time allowing independent translation of programs.
Short Note on Relocating Loader
Relocating Loader :- To avoid possible reassembling of all subroutines , When a single subroutines is changed and to performed the task of allocation and linking of the programmer. The general class of relocating loader was introduced.
An example of relocating loader is Binary Symbolic Subroutine (BSS) loader, IBM 7294, IBM 1130, GE635 are the BSS loader.
Output of a relocating loader is the object program and information about all other programs its references. In addition ,there is relocating information has two location in this program that need to be changed. If it is to be loaded in an arbitrary location in memory.
Short Note on Absolute Loader
Absolute Loader :- It is a sim placed type of loader scheme. It this scheme the loader simply accepts the machine language code produced by assembler and place it into main memory at the location specified by the assembler. The task of an absolute loader is virtually trivial. Absolute loader is simply to implemented but it has several disadvantage –
First : The programmer must specify to the assembler the address in main memory where the program is to be loaded.
Types of Loader
Types
of Loader :-
There are
eight(8) general loader schemes available. But generally main loader scheme is four(1,2,3,4).
Those are –
1. Absolute Loader.
2. Relocating Loader.
3. Direct Linking Loader.
4. Dynamic Loader.
5. Assemble – and – go or Compile – and
– go loader.
6. Boot Strap Loader.
7. Linking Loader.
8. Relocation Loader.
Absolute Loader :-
It is a sim placed
type of loader scheme. It this scheme the loader simply accepts the machine
language code produced by assembler and place it into main memory at the
location specified by the assembler. The task of an absolute loader is virtually
trivial. Absolute loader is simply to implemented but it has several
disadvantage –
First
: The
programmer must specify to the assembler the address in main memory where the
program is to be loaded.
Second
: The programmer must
remember the address of multiple sub – programs and there performance.
Fig - Absolute Loader
Relocating Loader :-
To avoid possible reassembling of all subroutines , When a single
subroutines is changed and to performed the task of allocation and linking of
the programmer. The general class of relocating loader was introduced.
An example of relocating loader is Binary Symbolic
Subroutine (BSS) loader, IBM 7294, IBM 1130, GE635 are the BSS loader.
Output of a relocating loader is the object program and
information about all other programs its
references. In addition ,there is relocating
information has two location in this program that need to be changed. If
it is to be loaded in an arbitrary location in memory.
Direct Linking Loader :-
Direct linking loader is a general relocatable loader and perhaps the
most popular loading scan presently used. It has the advantage
of allowing the programmer multiple procedure segments and multiple data segments. It has also an advantage that has given to the programmer
complete freedom in referencing data or instructions content in other segments.
This provides flexibility of inter segment referencing and accessing while at
the same time allowing independent translation of programs.
Dynamic loader :- Dynamic loader is the Persian of
loader that actually intersect the “calls” and loads the necessary procedure is
called over lay super visor or simply flipper. This over all scheme is called Dynamic Loading or Load
on Call.
An
advantage id Dynamic Loader is that, no over
head is in corrected unless the procedure to be called or referenced is
actually used. Also the system can be dynamically re – configured.
The major
draw back is occurred due to the fact that we here postponed most of the
binding process until execution time.
Assemble – and – go or
Compile – and – go loader :-
Any method of performing the loader function is to have the
assembler run in one of the part of
memory and place the machine instructions in data directly into assigned
memory location. This is a simply solution, involving mode any extra procedure.
It is used by the WATFOR FORTAN compiler and other several language processor
(PL/I). Such a loading scheme is commonly called compile
– and – go and assemble – and – go
loader.
Boot Strap Loader :- When a computer is first turned on
or restarted a special type of absolute loader is executed , called Boot Strap Loader. It loads the operation
system into the main memory and executes
the related programs. It is added to the beginning of all object programs that
are to be loaded into and empty ideal system.
Linking Loader :- The need for linking a program with
other programs assign because a program
written by a programmer or its translated version is really of a stand alone
nature. That is a program generally cannot executed on its own. Without
requiring the presents of some other programs is computer memory. The standard
function must reside into the main memory. The linking function next address of
program known to each other, So that such transfers can take place during the
execution.
Relocation Loader :- Another
function commonly performed by a loader is that of program re – location. Relocation is simply moving a
program from one area to another in the
storage. It referred to adjustment of address field and not to movement of a
program. The task of relocation is to add some constant value to each
relative address in the segment the part
of a loader which performed relocation is called re – location loader.
Function Of Loader
Function Of Loader :-
There are four function generally performed by loader. Those are –
i. Allocagation :- To allocate the space for the programs in the main memory.
ii. Linking :- To link the program with other library programs.
iii. Relocation :- Adjust all address dependent location such as address constant, to correspond to the allocated space.
iv. Loading :- Physically place the machine instruction and data into main memory.
What is Literal Table (LT) ?
Literal
Table (LT) :-
A table is
use to store each literal encounter and its corresponding assigned location.
What is Pseuso Operation Table (POT) ?
Pseuso
Operation Table (POT) :-
A table that
indicates mnemonic and action to be taken for each pseudo operation in Pass – 1.
What is Machine Operation Table (MOT) ?
Machine
Operation Table (MOT) :-
It indicates
the symbolic mnemonic for each instruction and its length (in byte).
Short Note on Two Pass Assembler
Two Pass Assembler :- In a two pass assembler , the fast pass as only to define the symbol and the second pass can them generate the instruction and addresses. The general task of two pass assembler are as follows –
a) Pass – 1 :-
Purpose : Define symbol and literals.
Activity :
i. Determine the length of the machine instruction.
ii. Track of location counter.
iii. Remember values of symbols until pass – 2
iv. Process sum pseudo operation.
v. Remember literals.
b) Pass – 2 :-
Purpose : Generate object program.
Activity :
i. Look up value of symbols .
ii. Generate Instructions.
iii. Generate data.
iv. Process pseudo operations.
Short Note on One Pass Assembler
One Pass Assembler :-
There are two types of one pass assembler –
a) Produce object code in memory for immediate execution. This type of assembler need not any loader. This kind of “load-an-go” assembler is useful in a system that is oriented towards program development and testing. A university computing system for student used a difficult example of such an environment . A “load-an-go” assembler avoids the over head of writing the object program out and reading it back in. This can be compressed with either a one or two pass assembler. How ever a one pass assembler also avoids the over head of an additional pass over the source program, because it is does not produce object program and it is test difficult for handling the forward referencing problem.
b) This type of assembler produces object program where external working storage devices are not available . Such assembler may also be useful when the external storage is slow or insufficient to other reasons. One pass assembler that produces object program follow a slidely different procedure form the first type of assembler . When the destination of a symbol in encounter, instructions that made forward references to that symbol may no longer be available in memory for modification. In general, they have already been written as a part of test records in the object program. In this case the assembler must generate another text record with the correct operand address. When the program is loaded this address will be inserted into the instruction by the action of the loader.
Subscribe to:
Posts
(
Atom
)