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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

USING HARDWARE PROTECTION FEATURESExplicit Variation of TypeFigure 2-11 illustrates one kind of need for aliasing: the need for a different type specification for asegment. Figure 2-12 shows another example of the'same need. In a dynamic application; the operatingsystem may need to modify the GDT, the IDT, TSSs, and LDTs. Changing the interrupt handler fora specific interrupt vector requires changing the IDT. When the operating system places a new segmentinto the address space of a task (as, for example, when transferring an I/O buffer from an I/O task),it must update the task's LDT. Starting a new task may require modification of the GDT to adddescriptors for the new task's LDT and TSS.With the <strong>iAPX</strong> <strong>286</strong>, however, it is not possible to read or write a system segment by loading its selectorinto DS or ES. This restriction prevents indiscriminate use of system segments within the operatingsystem. Such use of a: system segment requires that the operating system have a descriptor that identifiesthe system segmertt'as·a data segment.The Builder allows for . defining aliases for system segments. The Builder, by default, creates datasegmentaliases for ,the 'GDT and the IDTat fixed locations in the GDT.Note that aliases for descriptor tables should have PL 0 in order to maintain the integrity of the protectionmc:;chanism;otherwise, procedures outside the operating system could indiscriminately change thecontents of descriptor.tables.Variation of LengthAs illustrated iii figiJre 2-13, aliases for a segment need not always have the same length. In the caseshown, the processor's use of a descriptor to a TSS requires only that the segment contain 44 bytes.However, the operating system maintains another descriptor that includes additional information aboutthe task.GOT LOT lOT• ALIAS FOR GOT SHOULD ALWAYS BE AVAILABLE TO KERNEL.Figure 2-12; Aliases for <strong>System</strong> Tables121960-122-18 121960-001

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

Saved successfully!

Ooh no, something went wrong!