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.

DATA SHARING, ALIASING, AND SYNCHRONIZATIONFigure 5-1. Segment Sharing via Common LOTSharing via AliasesWhen tasks need to share simultaneously some, but not all, segments with selected other tasks, thenaliasing is an appropriate method. As figure 2-15 illustrates, each task that shares a segment has a copyof the descriptor for that segment in its LDT. The term alias is used when there are multiple descriptorsfor a segment because each descriptor provides an alternate name for the segment. Not all thealiases for one segment need to be identical. Aliases may, for example, have different type or differentaccess rights.Descriptor manipulation must be restricted to privilege level 0 (PL 0), but procedures at any privilegelevel can benefit from aliasing. Therefore, the operating system must provide high-level interfaces thatcause creation and deletion of aliases. The operating system makes copies of descriptors for the sharedsegments and installs the copies in the LDTs of the sharing tasks (or possibly at other slots in theGDT). The operating system must strictly control which tasks may receive copies of which descriptors.The presence of multiple copies of a segment's descriptor creates additional complexities for theoperating system when it relocates, deletes, or otherwise modifies the segment.Bewareo'f the confusion that can arise when tasks share data structures that contain selectors to aliasdescriptors. Task A may find a selector that points to a slot in Task B's LDT. Nothing prevents Task5-2 121960-001

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

Saved successfully!

Ooh no, something went wrong!