On Tue, 29 Mar 2005, Bob Ammerman wrote: >> Afaik on Macs before OS X there was a strong division between system and >> user tasks. There was only one user task running at any one time, but >> several systems tasks could run concurrently. To have a server running one >> had to make it a system task (I'm probably using the wrong terminology for >> the Mac). Example: file sharing worked in parallel with whatever the user >> was doing with not visible side effects. >> >> Peter > > AFAIK, and I have done a fair bit of Mac OS multitasking on pre OS-X was provided by code that ran off the 'vertical > blanking interrupt'. Such code was strictly constrained in what it could do > (most system calls were off limits to it). So, unless file sharing were > driven off the VBI, it would have been constrained to cooperative > multitasking only. > > It is interesting to note that there is a slider control in one of the > preference panels for the OS to choose between good application and good > file-sharing performance. I think that the filesharing (at least some part of it) was driven by the interrupt system in the OS, probably the ethernet card interrupt source. Together with the TCP/IP stack callbacks and a couple of other things that run in the background on any internet and multimedia capable machine. I did not *look* at code but the machines work in that way (at least iMacs above OS9.x). I don't know how they do it but they do it. Peter -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist