|
|
|
|
|
by PaulHoule
2 hours ago
|
|
When I was in grad school I worked in a corner which had a mac on one side and an IBM POWER system with a huge screen on the other side. Early on the mac was crashing all the time when I was browsing the net, at some point in the 8-9 era they added a bunch of locks to stop the crashes and then it was beachball city all the time. My understanding was that classic was built on the assumption that events come in from the keyboard and mouse and once you added more events from the network it exposed race conditions. It probably didn't help that we were on "Internet 2" had were early to get 100 Mbps ethernet. If you were using dialup it was probably not so bad. People think "you have race conditions or you don't" and that is true on some level but if your utilization factors are low they might cause problems once a month but increase the load and those problems are happening once an hour. I saw all the symptoms that I expected such as a brand new and faster mac crashing less often than the old mac because it had more capacity to process events and less overlap between them. Yeah '95 was bad, NT not much better despite the fanbois saying otherwise (had terrible fights w/ a prof who was a roommate of Bill Gates who got a grant from Wintel to get new x86 machines.) Once we got those machines there were two of us you'd always find in front of the NT machines: the student who liked NT and myself who would use VNC to log into one of the few Linux machines. One day that prof came around and said "you win Paul!" and announced that most of those NT machines would be switched to Linux. |
|
Classic Mac OS used a cooperative threading model which meant that one program locking up would lock up the whole computer, but Windows 95 was only slightly better in this regard. It didn't have any classical race conditions with the network as you can't "race" in a world with no preemptive threads--control is only ever handed off when a program explicitly yielded.