MPE/iX 5.5 Operating System Limits

MPE/iX maintains the process locality lists in the MM locality table. These lists are
deleted when a process is launched. But when a process releases a sharable object that is
also linked into other processes locality lists, MPE/iX needs to remove from all these
locality lists the entries that correspond to this object. This case is possible since an object
may be in a process locality list as part of a prefetch request, but the pages have not yet
been brought into memory, and the process does not need the object anymore or the
process has died. In that case removing this object from all the process locality lists
would mean scanning its locality list for each process on the system and removing this
entry if it's there. As this would be very expensive, another table was created for Memory
Management and Virtual Space Management. This table is the MM_VS_LL_HEADERS
table. It consists of headers that point to a linked list of entries into the MM_LL_TABLE.
As this table exists, releasing an object consists of just scanning the corresponding list of
entries pointed to by the header entry and removing each entry from the locality list.
In this table at least one entry is needed per swappable object (including files), and up to
three entries for transient objects with shared pages.
Process locality lists
__________________/\____________________
/ \
Process1 ---> Page1----> Page2----> Page3
\ \ \
\________ \ \
\ | /
Process2 ---> Page4----> Page1----> Page5/
| | | /\
| | | / \
| | | / |
Process3 ---> page4----> Page1----> Page3----> Page6
/ / | | | |
________/ _________/ | | | |__
| / _______/ | \ \ \
| / / | \ \ |
------------------------------------------------------------- |
I Page4 I Page1 I Page2 I ... I Page3 I Page5 I Page6 I \ MM_VS
locality
I I I I I I I I /
Headers
------------------------------------------------------------- |
|
/
Process management:
Item Limit Description Resource Table
1 5460 Concurrent Processes PCB DST