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=-1.9 required=5.0 tests=BAYES_00 autolearn=ham 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-25 18:58:36 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!newsfeed1.cidera.com!Cidera!cyclone.columbus.rr.com!cyclone3.kc.rr.com!news3.kc.rr.com!twister.socal.rr.com.POSTED!not-for-mail Message-ID: <3D191FE8.F6B9144A@san.rr.com> From: Darren New X-Mailer: Mozilla 4.77 [en] (Windows NT 5.0; U) X-Accept-Language: en MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: Multitasking theory question 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> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Date: Wed, 26 Jun 2002 01:58:35 GMT NNTP-Posting-Host: 66.75.151.160 X-Complaints-To: abuse@rr.com X-Trace: twister.socal.rr.com 1025056715 66.75.151.160 (Tue, 25 Jun 2002 18:58:35 PDT) NNTP-Posting-Date: Tue, 25 Jun 2002 18:58:35 PDT Organization: RoadRunner - West Xref: archiver1.google.com comp.lang.ada:26705 Date: 2002-06-26T01:58:35+00:00 List-Id: AG wrote: > > "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... As I said once... "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, no amount of user-level coding in the run-time system is going to let you schedule another thread to run during that time." That's my position. Your position seems to be "It's possible to write a non-blocking OS for any collection of hardware." You see how these two statements are not in conflict? Sure, it's possible to rewrite the blocking device drivers, given enough time and programming competence. It also fails spectacularly when the user unplugs the 10baseT connection and plugs in the new USB-based wireless networking device released five years after you sold him your program. > > 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. Err, we were talking about Ada run-time systems doing multi-tasking under a non-tasking and potentially non-reentrant OS, weren't we? I have no idea what 'case' you think you're resting. I also think I don't care, since I figured out that what you're talking about and what I'm talking about are two different situations. -- Darren New San Diego, CA, USA (PST). Cryptokeys on demand. ** http://home.san.rr.com/dnew/DNResume.html ** ** http://images.fbrtech.com/dnew/ ** My brain needs a "back" button so I can remember where I left my coffee mug.