This is not a tutorial on "Real Time Computing"  .
The ability to handle events in real time is restricted to specialized computer operating systems. The desktop operating systems with which most people are familiar place all events into a que and process them in some prespecified priority, which can take minutes or even hours. Pop up windows telling the operator to "please wait until processing is complete", "this may take a few minutes to complete", or "please do not turn of the machine until the following process has completed" are ubiquitous. Operating machines and electronic physical high security systems without specialized real time operating systems is physically unrealizable.
Microsoft Windows is a proprietary operating system preventing open source modification as well as the fact that it is basically a graphical system from the ground up. Running in a terminal window within the standard gui is still graphical based . It is not a consideration here and definitely not supported.
The real time operating system described herein requires the ability to operate command line instructions in a text terminal without a graphics daemon, X Windows, running on the machine (level 3). Ncurses can provide a windows like text terminal in real time .
We are using openSUSE "preempt-rt" because it is synchronized with the latest kernel release and it is very stable.