Multiple different operating systems are enabled to run concurrently on
the same computer. A first operating system is selected to have a
relatively high priority (the realtime operating system, such as C5). At
least one secondary operating system is selected to have a relatively
lower priority (the general purpose operating system, such as Linux). A
common program (a hardware resource dispatcher similar to a nanokernel)
is arranged to switch between these operating systems under predetermined
conditions and modifications are provided to the first and second
operating systems to allow them to be controlled by the common program.