Slashdot today has something pointing to Larry Osterman’s weblog where he tells the story of my ex-roommate David Weise’s career, much of which has been spent at Microsoft. David is generally credited with almost single-handedly making Windows a viable product, when in 1988 he figured out how to get Windows to run on the 286 processor in “protected mode”, something people thought couldn’t be done. At the time Microsoft was planning on abandoning Windows and moving to IBM’s OS/2, but David’s work changed everything.
Osterman gets some things wrong. David, Chuck Whitmer and Nathan Myhrvold were fellow physics graduate students and my roommates at Princeton, not at MIT (for more about Nathan, see an earlier posting). David was in biophysics, Chuck was a student of Steve Adler’s doing lattice gauge theory, and Nathan worked with Malcolm Perry on quantum gravity. It is true that David and Chuck were associated with the MIT blackjack team (this was the early eighties, just after casinos opened in Atlantic City, not the 70s as Osterman has it). There was a lot of practicing of card counting techniques and computer simulation of non-randomness in shuffles going on in our apartment during those days, although I never got really involved in it myself.
After getting their Ph.Ds, Nathan, Chuck and David (together with Nathan’s brother Cameron) founded a software company called Dynamical Systems Research in Oakland, which they ended up selling (along with themselves) to Microsoft. They all ended up getting obscenely rich, with Chuck retiring quite a while ago, Nathan leaving more recently, and finally David is now leaving to work in molecular biology.
The real issue is the “mode switch”, which was nearly impossible on the 286. IBM had no 386 to shoot at when the idea for OS/2 was hatched, but they had ample time to change direction later, as “Windows 386” did. Once IBM got their plans right, they produced OS/2 2.0 and shortly after OS/2 2.11, which were fully preemptive OSes with a nearly perfect “DOS box”, that is, a way of executing DOS programs in “virtual 386” mode. Windows NT was a solution to the very same problem, and a much inferior one until just recently. Windows 95 in contrast, and 98, 98SE, and ME, were still hybrids – cooperative tasking without full preemption. So Microsoft screwed the same pooch three times, and still won the game.
The “DOS box” on early versions of Windows NT was, in contrast to that of OS/2, a total disaster. However, it didn’t bite many people because by then, Microsoft had also captured the market for applications.
You can still see the DOS box in action – fire up an old DOS program or 16bit Windows program under Windows XP, and look in the task list – you’ll see “ntvdm”, “NT Virtual DOS machine”.
-drl
Thanks D.R., I’ll make the corrections… For some reason I’d assumed their PhDs came from MIT, don’t ask why.
I thought the point was, that OS/2 ran on the 286 in protected mode, but the problem was getting into real mode again. Thus, OS/2 had a devil of a time running DOS programs. The 386 had a “virtual DOS mode” so it could go in and out of real mode at will. Windows was targeted at the 386 and the rest is history.
-drl
Pingback: Larry Osterman's WebLog
Pingback: Larry Osterman's WebLog
Pingback: Larry Osterman's WebLog