User-mode Linux can be ported to other operating systems that
have the necessary functionality. The ability to virtualize
Linux system calls by intercepting and nullifying them in the
host kernel is essential. An OS that can't do that can't run
this port. Also needed is the ability to map pages into an
address space in multiple places. Without this, virtual memory
emulation can't be done. If those two items are available on a
particular OS, then this port can probably run on it. It would
be convenient to have the equivalent of CLONE_FILES, which
allows processes to share a file descriptor table without
sharing address spaces. This is used to open a file descriptor
in one process and have it be available automatically in all the
other processes in the kernel. An example of this is the file
descriptors that are used by the block device driver. They are
opened when the corresponding block device is opened, usually in
the context of a mount process. After that, any process that
performs operations on that filesys