Different Loading Schemes
- Assembler is loaded in one part of memory and assembled program directly into their assigned memory location
- After the loading process is complete, the assembler transfers the control to the starting instruction of the loaded program.
- The user need not be concerned with the separate steps of compilation, assembling, linking, loading, and executing.
- Execution speed is generally much superior to interpreted systems.
- They are simple and easier to implement.
- There is wastage in memory space due to the presence of the assembler.
- The code must reprocess every time it runs.
General Loader Schemes
- The general loading scheme improves the compile/assemble-and-go scheme by allowing
different source programs (or modules of the same program) to be translated separately
into their respective object programs.
- Moreover, The object code (modules) stored in the secondary storage area; and then, they are
- Similarly, The loader usually combines the object codes and executes them by loading them into the
memory, including space where the assembler had been in the assemble-and-go
- Rather than the entire assembler sitting in the memory, a small utility component called
loader does the job.
- Note that the loader program is comparatively much smaller than the assembler, hence
making more space available to the user for their programs.
Advantages of the general loading scheme: Different Loading Schemes
o Saves memory and makes it available for the user program as loaders are smaller in size than assemblers. The loader replaces the assembler.
o Similarly, Reassembly of the program no more needed for later execution of the program.
The object file/deck available and can load and executed directly at the desired location.
o This scheme allows the use of subroutines in several different languages because the object files processed by the loader utility will all be in machine language.
Disadvantages of the general loading scheme:
o Moreover, The loader more complicated and needs to manage multiple object files.
o Secondary storage required to store object files, and they cannot directly place into the memory by assemblers.