From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-0.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM, SYSADMIN autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,ce6f6f23c4e880ad X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2002-06-24 21:49:48 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!paloalto-snf1.gtei.net!crtntx1-snh1.gtei.net!lsanca1-snf1!news.gtei.net!enterprise!news.xtra.co.nz!53ab2750!not-for-mail From: "AG" Newsgroups: comp.lang.ada References: <3d123f34.0@news.unibw-muenchen.de> <3D128BA9.8090707@telepath.com> <3D16B14B.2A5D8261@attbi.com> <3D173788.8758A005@san.rr.com> <3D17E1E2.AED28873@san.rr.com> <5VRR8.145$7G4.15087@news.xtra.co.nz> <3D17EF7D.40F88B17@san.rr.com> Subject: Re: Multitasking theory question X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 5.50.4522.1200 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4522.1200 Message-ID: Date: Tue, 25 Jun 2002 16:51:23 +1200 NNTP-Posting-Host: 210.54.72.206 X-Complaints-To: newsadmin@xtra.co.nz X-Trace: news.xtra.co.nz 1024980588 210.54.72.206 (Tue, 25 Jun 2002 16:49:48 NZST) NNTP-Posting-Date: Tue, 25 Jun 2002 16:49:48 NZST Organization: Xtra Xref: archiver1.google.com comp.lang.ada:26688 Date: 2002-06-25T16:51:23+12:00 List-Id: "Darren New" wrote in message news:3D17EF7D.40F88B17@san.rr.com... > Err, well, no. I think you're still missing the point. Say you're trying to > write (say) a web server. The only I/O the OS supports is blocking I/O. > There's no way to say "I have three sockets open, wait for whichever one is > readable first." Do you have access to the timer interrupt? Can you switch into the Kernel mode? (Hose the thing in the process perhaps, but can you?) Can you intercept PowerChute interrupts? If yes to all of the above, then what's the problem? If not, ask your system administrator I guess. > The only way to make this work is either rewrite the > blocking device drivers yourself Yep, and we're back to where we started - you *can* re-write them if you want to... > Of course if you don't use any blocking calls in the OS > then you can write your own scheduler. Just where I joined this thread, thanks for confirming. > > Is it me, or do many of these discussions degenerate into "well, in spite of > the fact that what you're trying to say is obvious, here's one possible way > to read your words such that you'd be mistaken in a small number of special > cases"? >From another side of the fence, I fully agree - they do ;) > If there are OS services you rely on that might possibly take an > unacceptably long time to return to the control of the user program For example, who's talking about "returning control"? Even in blocking calls it is not really neccessary for a call to "return". Use an asynch trap and just abort it. > amount of user-level coding in the run-time system is going to let you > schedule another thread to run during that time. Sorry? Did you just say "user-level coding in the run-time system"? Guess I rest my case.