Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>The minimum number of system calls any reasonable *nix style OS should have are (IMHO):</p> <ul> <li>open</li> <li>close</li> <li>read</li> <li>write</li> <li>fork</li> <li>exec</li> <li>waitpid</li> </ul> <p>the first 4 allow you to both provide input to a program and get its output. (Remember on *nix like operating systems stdout is just another file handle as far as the OS is concerned).</p> <p>The other 3 are the bare minimum needed to start another program and wait for its result. However, it is certain that SanOS already has these since it is already a very functional operating system.</p> <p>It is entirely possible that the additions you need to make won't need to be done at a kernel level.</p> <p><strong>EDIT:</strong></p> <p>As far as what is needed to support a newer JVM, this paragraph from the <a href="http://www.jbox.dk/sanos/java.htm" rel="nofollow noreferrer">SanOS site</a> gives a great hint:</p> <blockquote> <p>You can run the Windows version of Sun HotSpot JVM under sanos. This is possible because sanos supports the standard PE executable format (.EXE and .DLL files). Wrappers are provided for the Win32 DLLs like kernel32.dll, user32.dll, wsock32.dll, etc., as well as the C runtime library msvcrt.dll. I have tested sanos with the following JVMs:</p> </blockquote> <p>Basically, the JVMs are the standard windows exe files. So you would just need to find out which system calls the referenced dlls make and ensure that they exist and are implemented correctly.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload