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.

REAL MEMORY MANAGEMENTGLOBAL DESCRIPTOR TABLE,IIIIII,In + 3CURRENT n+2TASKDESCRIPTORS n: 1Im LWORK DESCRIPTORS . 2FOR MEMORY 'l1+ 1MANAGERmoLOT ALIASLOTTSS ALIASTSSIISLOT CSLOT BSLOT A,II,GOT ALIASNULLRESERVED FOROPERATING SYSTEM121960-19Figure 3-6. Example GDT LayoutWhen returning an unneeded segment to the available list, the procedure RETURN_SPACE checksthe boundary tags of both the lower and higher adjacent segments to see whether there is another freesegment with which to combine. Four cases are possible, as illustrated in figure 3-8 at the end of thischapter. Table 3-1 summarizes the actions taken in each of the four cases.See figure 3-9 at the end of this chapter for the PL/M-<strong>286</strong> code that implements this example of amemory manager.Protection StructureWhere in the two-dimensional grid of protection offered by the <strong>iAPX</strong> <strong>286</strong> should the memorymanagementmodule lie? There are two approaches that offer different advantages:1. The module can be structured as privileged procedures that execute as part of every task thatcalls them.2. The module can execute as a separate task.3-7 121960·001

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

Saved successfully!

Ooh no, something went wrong!