Can I use Win9x, NT or CE as a real time OS?
Not as far as the authors of the comp.os.realtime FAQ are concerned. The lack of priority inheritance can make priority inversion deadlocks possible, and there are not enough process and thread priorities for their scheduling needs. Neither Win9x or NT are very good for time critical user mode code. Win9x, lacking a fully re-entrant Win16 subsystem, cannot be used very deterministically. (I.e. you can’t predict whether or not you thread gets locked out from a many API calsl). Win9x should certainly be avoided for time critical code -unless you want to write assembler routines in VxDs, whose their time to respond to an interrupt is very deterministic. Windows NT does have real time priority process and threads, which can be used to get as close to real time as you can hope to do with a Windows app. It can be used more easily for “soft real time” applications; its interrupt handling architecture (interrupt handlers should just schedule deferred procedure calls) make hard real time tasks