A Fluke region object defines a contiguous range of virtual address space in a task that can be exported to other tasks to map into their address space via mapping objects.
Regions are the primary mechanism by which memory manager tasks partition and control memory resources for the sub-task address spaces they manage. Region references can be created and passed in IPC messages to other tasks which can then insert those references into a mapping object to acquire access to the memory.
The protection associated with a region limits the maximum permission that any derived mapping object can provide. For example, a region excluding FLUKE_PROT_WRITE prevents write access to any memory mapped directly or indirectly by mapping objects even though those objects may themselves allow write access. Any fault that occurs as a result of the restricted permissions of the region causes an idempotent page-fault IPC call to be made to a ``region keeper'' port.