
"Chen explained that the EW_RESTART­WINDOWS flag was passed to the old 16-bit ExitWindows function. The 16-bit Windows kernel shut down, then the 32-bit virtual memory manager shut down, before the CPU finally dropped back into real mode, and handed control to win.com. For the uninitiated, real mode is how x86-compatible CPUs start - it's a legacy mode with direct hardware access that's now just a stepping stone to protected mode, which modern operating systems use."
""If somebody had allocated memory in the space that win.com had given up for protected-mode Windows, then conventional memory will be fragmented, and the 'try to get the system back into the same state that it was in back when win.com had been freshly launched' is not successful because the expected memory layout was 'one giant contiguous block of memory.'""
The EW_RESTARTWINDOWS flag caused the old 16-bit ExitWindows function to run a partial restart path: the 16-bit kernel and the 32-bit virtual memory manager shut down, the CPU dropped into real mode, and control passed to win.com. Win.com, a .com program, relinquished all remaining conventional memory to create one large contiguous block for loading protected-mode Windows. If other programs had allocated memory in that region, conventional memory became fragmented and win.com could not restore the expected layout, so it fell back to a full reboot. Otherwise win.com launched protected-mode Windows and the familiar UI returned quickly.
Read at Theregister
Unable to calculate read time
Collection
[
|
...
]