Pseudo persistent process

From MinorFs Wiki

Jump to: navigation, search

In some operating systems, but also some programming languages the concept of ortogonal persistence provides the facilities for processes being persistent even across reboots.

Main stream operating systems do not provide such measures, but MinorFs provides a first basic buildingblock that should allow building systems with persistent processes on Linux by elevating language based ortogonal persistence to the level of OS based ortogonal persistence.

MinorFs uniquely identifies running process as a so called pseudo persistent process and offers each such process private storage. This should allow such a process to store/serialize its internal state to a persistent storage media without disclosing its internal state within a widely accesible part of the filesystem like the users home directory. When language level ortogonal persistence would be combined with this MinorFs facility, Linux could be used to build ortogonaly persistent systems with truely persistent processes.

The information MinorFs uses to isentify a persistent process are:

  • The executable and library files that have pages loaded into the process.
  • The AppArmor profile the process is running with.
  • The executable and library files that have pages loaded into any of the parent processes upto init.
  • The AppArmor profile all the process its parent processes upto init are running with.
  • If the config states that it is needed for one of the executable or library files also:
    • Config Specified enviroment variables.
    • The commandline.
  • A slot number based on N-th claim. Each process accessing MinorFs will implicitly claim the first free slot for the unique combination of the above.
Personal tools