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.

inlerREAL MEMORY MANAGEMENTBEFOREAFTERI "USED"ISIZE"" 16 BYTES(I "USED"I "FREE".. NEWSTARTII\NEWSIZENEXTPRIORI "FREE"I121960-20Figure 3-7. Splitting an Available Block of MemoryGLOBAL PROCEDURESPlacing the module's segment descriptors in the GDT allows all tasks in the system to share the moduleyet requires only one copy of the module's segments to be present in memory. This approach allows forfastest communication between the application and the memory manager.The procedures of the memory manager synchronize with the calling procedure (that is to say, thecalling procedure waits until the memory-management procedure returns). However, more than onetask can be executing the memory-management procedures at one time. This can be an advantage (aswhen there are mUltiple CPUs and the requests are for different regions of the memory space), but itrequires synchronization of changes to space-management data structures (not shown in this example).Segments containing procedures and data structures internal to this most critical operating-systemmodule should have the greatest protection possible. Because none of these procedures and data structuresare PUBLIC, no other modules can gain knowledge of the locations of data and procedures. Thisby itself, however, does not constitute positive protection from accidental or intentional snooping ordestruction. The segments containing these procedures and data should have privilege level 0 (PL 0)so that the processor can prevent any access from less trusted procedures.3-8 121960-001

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

Saved successfully!

Ooh no, something went wrong!