13.07.2015 Views

iAPX 286 Operating System Writers Guide 1983

iAPX 286 Operating System Writers Guide 1983

iAPX 286 Operating System Writers Guide 1983

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

BINDING AND LOADINGThe OMF of each object module consists of a header followed by a sequence of sections of variouskinds. The sections relevant to this discussion are those in loadable modules; including• DESCRP: contains all the descriptors for the module. A loader can use this section as a templatefor the LDT.• LODTXT: contains the data and instructions to be loaded. A loader fills allocated memory segmentsfrom the records of LODTXT. . . .• DESNAM: provides symbolic names for segments: A loader can use these symbolic names to provid~a load-time interface for making changes to segment parameters (for example, decreasing segmentlimit of an expand-down stack segment to provide more stack space).".",Flow of LoaderA loader must take different action depending on whether the loadable modules' are created by theBinder or by the Builder. The main difference in loading the two types of OMF is' the source of infor~mation for descriptor tables. In the case of Binder OMFs, the DESCRP section is in the format of ailLDT. In the case of Builder-created OMFs, information for the GDT, IDT, and LDTs comes fromvarious LODTXT records. A Boolean in the header of aloadable module distinguishes between Builder"created and Binder-created modules. ..FLOW FOR BINDER-CREATED MODULE1. Allocate space for LDT segment. The size of the segment is eight times the value of the descriptorcount field of the module header. Put LDT descriptor in GDT.2. Read the DESCR section into the LDT segment.3. Allocate space for aU segments specified in the LDT, updating the base-address fields.4. Allocate space for the TSS. (Step 3 does not allocate the TSS because the DESCR section doesnot contain a TSS descriptor.) Put TSS descriptor in GDT.5. Read first LODTXT section into TSS segment. (The first LODTXTrecord is always a TSS.)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!