[SOLVED] Reading Comprehensive - Wiki volume - Windows XP Articture

shaharhada

Reputable
Jul 27, 2020
302
6
4,685
I know that Windows XP infrastructure is based on Windows NT infrastructure:
What the meaning of the paragraph:
Each program, by default, runs in the same process, thus using the same address space, and the Win16 VDM gives each program its own thread on which to run. However, Windows NT does allow users to run a Win16 program is a separate Win16 VDM, which allows the program to be preemptively multitasked, as Windows NT will pre-empt the whole VDM process, which only contains one running....
1. what is to allow to be preemptively multi-tasked?
2.a. What is the meaning of "Windows NT will pre-empt the whole VDM process"? b. What is the meaning of pre-empt?
Thanks to the people that respond.
 
Solution
The short answer is that each program is run, stopped, and run again while some other process runs. Pre-emptive basically means one program at a time. The multitasking looks simultaneous to us, but the CPU is still doing one thing at a time.

Virtualization here allows older programs to approach a more effective multitasking, I think is what they are getting at.

But this also refers to running 16 bit applications in a 32bit environment (Windows XP 64 can't run 16bit programs)

Eximo

Titan
Ambassador
The short answer is that each program is run, stopped, and run again while some other process runs. Pre-emptive basically means one program at a time. The multitasking looks simultaneous to us, but the CPU is still doing one thing at a time.

Virtualization here allows older programs to approach a more effective multitasking, I think is what they are getting at.

But this also refers to running 16 bit applications in a 32bit environment (Windows XP 64 can't run 16bit programs)
 
  • Like
Reactions: shaharhada
Solution
Each program, by default, runs in the same process, thus using the same address space, and the Win16 VDM gives each program its own thread on which to run. However, Windows NT does allow users to run a Win16 program is a separate Win16 VDM, which allows the program to be preemptively multitasked, as Windows NT will pre-empt the whole VDM process, which only contains one running....
1. what is to allow to be preemptively multi-tasked?
2.a. What is the meaning of "Windows NT will pre-empt the whole VDM process"? b. What is the meaning of pre-empt?
This is talking about compatibility with 16-bit applications. It's helpful to know that x86 processors at the time of Windows XP's time had basically three main modes of operation;
  • Real Mode, which allowed apps unrestricted access to memory.
  • Protected Mode, which allowed restrictions on where apps could access memory if the OS needed it. This is a fundamental security feature.
  • Virtual 8086 Mode, which allowed apps that people wanted to run that only worked in Real Mode to run in an OS that uses Protected Mode
Originally when Microsoft made Windows that ran in Protected Mode, it had an app to run Real Mode apps using the Virtual 8086 Mode. But when this ran, this was the only thing that was running in Windows until the user put the focus on something else. Basically, all of the other apps would freeze. Windows NT made it so this doesn't happen.

See https://en.wikipedia.org/wiki/Virtual_DOS_machine#Windows_NTVDM