“meeting time-critical constraints on Windows systems” (as well as on ANY system that is not designed for this purpose) sounds sort of nonsensical in itself
Stop. Breathe. Think. Just for once. OK?
Have you ever done work in this space? Because it sounds to me like your spouting a lot of bullshit, with no practical experience to back it up.
As I’ve so often said, average ISR and even DPC latency on most typical Windows systems is actually very good. The problem, really, for most soft real-time tasks is worst case latency. The distribution of latency values is very wide… there tend to be, in my experience, lots of outliers.
This does not necessary, in and of itself, preclude consistently meeting many time-critical constraints. We normally define real-time as "responding to an external event as it occurs. But in implementation, it’s about how you frame the problem to be solved. Every problem has constraints, parameters, and limits. For a problem like “you have to hit a register on each 100us clock pulse” you have to ask “within what time period must I hit the register to be considered on-time?” You have to do this on a true real-time system as well, of course. You see an event, you react to it.
Other problems involving time constraints relate to providing predictable response to long series of events without significant data loss. For some “significant”, right?
So, in fact, “meeting time-critical constraints on Windows systems” is something that every single person who has ever used Media Player, or streamed a video has experienced. Today, there are tons of systems with soft real-time requirements that use regular, out of the box, Windows embedded (Ugh… Windows IoT Enterprise, I think is the name du jour). Lots of “sensor notices something, driver forwards notice to program, programs responds to that thing” – I worked on one quite a while back in which a piece of paper was pushed down a “high speed” conveyor belt. When it broke a light-beam sensor, the (MFC based!) program that controlled the process needed to actuate some arms to fold the paper, then… having done that… open an envelop and stuff it in. The responses here are, indeed, time critical. They’re just not time-critical within very short intervals. This system worked quite well, for many, many, years and hundreds of millions of cycles. If you’ve received a hard-copy of a credit card bill in the past 20 years, this system probably stuffed your credit card statement into the envelope.
The ability for Windows to provide some actual guarantees regarding worst-case latency isn’t so far fetched. The guarantees might not be in nano-seconds. That doesn’t mean they can’t be useful guarantees.
So… relax.
Peter