4 ms·
I always thought it was related to MSDOS compatibility. If I recall correctly cli, sti, in, out, ... are privileged operations in WinNT, but not in Win95. Why?
by reidrac 15y ago
I always thought it was related to MSDOS compatibility.
If I recall correctly cli, sti, in, out, ... are privileged operations in WinNT, but not in Win95. Why? Because these instructions can't work in virtual-8086 mode and need to be handled by the OS, and that was really expensive for early 32bits machines. Win95 required legacy DOS programs to work with a reasonable performance, so the solution was to ignore the problem and allow the privileged operations... and I can't provide more details because I don't remember them :)
So yes, it was a hw limitation thing.
EDIT: typo fixed.
- yuhong 15y agoYea, Intel VME, introduced in the Pentium and SL-enhanced 486 processors, fixed the problem by allowing the processor to maintain the virtual interrupt flag.