Page 123 - DCAP507_SYSTEM_SOFTWARE
P. 123

Unit 8: Introduction to Linking and Loading




                                                                                                Notes

              Task  Make distinction between absolute address and relative address.

          8.1.6 Direct Linking Loaders

          The direct linking loader is the main common type of loader. This type of loader is a relocatable
          loader. The loader can not have the direct access to the source code. And to position the object
          code in the memory there are two circumstances: either the address of the object code could be
          absolute which then can be directly positioned at the specified location or the address can be
          relative. If at all the address is relative then it is the assembler who notifies the loader regarding
          the relative addresses.

          The assembler should give the following information to the loader:
          1.   The length of the object code segment.
          2.   The list of all the symbols which are not defined 111 the present segment but can be
               utilized in the current segment.
          3.   The list of all the symbols which are defined in the existing segment but can be referred by
               the other segments.

          The list of symbols which are not defined in the current segment but can be used in the current
          segment are stored in a data structure called USE table. The USE table preserves the information
          such as name of the symbol, address, address relativity.
          The list of symbols which are defined in the current segment and can be referred by the other
          segments are accumulated in a data structure known as DEFINITION table. The definition table
          preserves the information like symbol, address.

          Self Assessment

          Fill in the blanks:
          1.   ................................. is defined as a utility program which considers object code as input
               organizes it for implementation and loads the executable code into the memory.
          2.   In  ................................. loader, the instruction is read line by line, its machine code is
               attained and it is directly placed in the major memory at some recognized address.
          3.   In ................................. Scheme loader scheme, the source program is transformed to object
               program by some translator (assembler).

          4.   ................................. is a type of loader in which relocated object files are produced, loader
               accepts these files and positions them at particular locations in the memory.
          5.   To state a subroutine as external, we can use the assembler directive .................................

          6.   The general process of establishing the relations among the subroutines can be theoretically
               known as ................................. linkage.
          7.   ................................. is the procedure of  modernizing the addresses used in the address
               sensitive instructions of a program.
          8.   The ................................. address can be directly utilized to map the object code in the main
               memory.
          9.   The ................................. address is only after the addition of relocation constant to the
               object code address.



                                           LOVELY PROFESSIONAL UNIVERSITY                                   117
   118   119   120   121   122   123   124   125   126   127   128