Some applications need RAM and need that it not be Swapped out.
Often such needs are sporadic and may or may not be know with much forewarning.
Not all needs may be met, of course, but current operating systems fail to provide for many needs that could well be met with simple operating system hooks.
Here are several resource rights that are useful and that are feasible to produce.
It is not clear which of them should be primitive but they should not all be primitive.
- Rights for some amount of space (RAM or disk) or cycles (CPU or Fire Wire) for some pre specified time.
Such a right might be
- 20 MB of RAM
- 100MHz of the FireWire
- the AD converter
- 2% of the CPU in any 100 ms period
between 1600 & 1630 on next Friday in order to record some program.
-
Many or most of the above have a different flavor depending on the time scale.
The transaction of beginning and ending a delivery period may be carried out in a domain if the period is many thousands of clocks, but needs to be a primitive kernel hook of shorter periods are to be “owned”.