> Windows 95 absolutely had memory protection and preemptive multitasking, at least for “native” Win32 applications.
Apparently the first 1MB of RAM was mapped for compatibility with DOS and 16-bit Windows, which meant that the common bug of writing through a null/zero pointer could easily crash the system.
Win32 processes were isolated. The problem is that certain kernel objects were limited and could be leaked leading to stability problems. Compatability with DOS required some regions of memory to be unprotected.
System 7 had neither.