RANDRW.C and RANDRW.EXE -- A Win32 program that determines the chances that writing to a randomly-generated pointer will or won't GP fault. There appears to be a 1-2% chance that a random pointer in Windows 95 will successfully trash memory; the chances go up for each DOS box running, because Win95 maps the four-megabyte "high linear" address space of each and every virtual machine (VM) into the address space of each and every Win32 app! RANDRW has been run under a number of different environments besides Windows 95 -- such as Win32s, Windows NT, OS/2, and Phar Lap's TNT DOS extender -- so the protection provided by the different systems can be compared.
The program generates a RANDRW.LOG file which looks like this:
Megabyte Attempts Hits % Hits --------- -------- ---- ------ 00000000h 258 237 91.86 00100000h 273 138 50.55 00200000h 265 113 42.64 00400000h 236 23 9.75 00500000h 242 1 0.41 00600000h 258 11 4.26 80000000h 218 214 98.17 80100000h 254 254 100.00 80200000h 239 239 100.00 ... etc. ... 83900000h 207 3 1.45 BFE00000h 268 33 12.31 BFF00000h 262 202 77.10 C0000000h 215 58 26.98 C0200000h 234 128 54.70 ... etc. ... C2400000h 242 242 100.00 C2500000h 236 40 16.95 1000000 attempts 5991 hits 0.60% hit rate 519 seconds 1926 attempts/second 11 hits/second