4 ms·
It was not preemptive.
by yuhong 10y ago
It was not preemptive.
- xenadu02 10y agoIt depends. The Windows 3.x 386 "enhanced" mode kernel was in fact what we would call a "hypervisor" today. A 32-bit hypervisor to be specific. It ran 16-bit Windows applications inside one VM, along with any number of DOS VMs. The VMs themselves were preemptively multitasked, but the design of the 16-bit Windows API prevented preemption in that VM (a problem also faced by Apple). If you weren't using an "real-mode" drivers then it never bothered to talk to DOS, it just did everything itself... for example the "32-bit disk mode" stuff was a 32-bit disk and filesystem driver that completely replaced DOS disk routines. Microsoft being Microsoft, if you had DOS TSRs, DOS drivers, or other random DOS crap they would hook those things and drop down to real mode to call them the way they expected to be called... going so far as synchronizing the DOS in-memory data structures before and after the calls to make sure the lie was as complete as possible.
- yuhong 10y agoOP was talking about Windows 1.0 not Windows 3.0