Deutsch English Français Italiano |
<vlh10l$ltl$1@reader2.panix.com> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!weretis.net!feeder9.news.weretis.net!panix!.POSTED.spitfire.i.gajendra.net!not-for-mail From: cross@spitfire.i.gajendra.net (Dan Cross) Newsgroups: comp.unix.programmer Subject: Re: OT: Windows (Was: Re: Open Source does not mean easily Date: Mon, 6 Jan 2025 16:39:49 -0000 (UTC) Organization: PANIX Public Access Internet and UNIX, NYC Message-ID: <vlh10l$ltl$1@reader2.panix.com> References: <uu54la$3su5b$6@dont-email.me> <vlgots$1le5s$1@dont-email.me> <vlgsgb$r2c$1@reader2.panix.com> <vlgun1$1minf$1@dont-email.me> Injection-Date: Mon, 6 Jan 2025 16:39:49 -0000 (UTC) Injection-Info: reader2.panix.com; posting-host="spitfire.i.gajendra.net:166.84.136.80"; logging-data="22453"; mail-complaints-to="abuse@panix.com" X-Newsreader: trn 4.0-test77 (Sep 1, 2010) Originator: cross@spitfire.i.gajendra.net (Dan Cross) Bytes: 2825 Lines: 43 In article <vlgun1$1minf$1@dont-email.me>, <Muttley@DastardlyHQ.org> wrote: >On Mon, 6 Jan 2025 15:22:51 -0000 (UTC) >cross@spitfire.i.gajendra.net (Dan Cross) wibbled: >>In article <vlgots$1le5s$1@dont-email.me>, <Muttley@DastardlyHQ.org> wrote: >>>In Windows yes, which frankly is probably not a coincidence. Not so much >>>in unix unless you're writing a GUI program. >> >>Very much in Unix, actually. The kernel is highly asynchronous >>(it must be, to match the hardware), and has been since the >>early 1970s. Many user programs similarly. >> >>Historically, many systems have provided direct support for >>asynchronous programming on Unix. Going back to the early >>commerical Unix days, masscomp's real time Unix had ASTs, not >>signals, to support asynch IO directly from userspace. More >>recently, POSIX.1b and POSIX AIO are widely supported. Polling >>interfaces like kqueue and epoll, etc, exist largely to support > >Multiplexing is not asychronous, its simply offloading status checking to >the kernel. Of course. It's a means to allow a program to respond to asynchronous events. >The program using is still very much sequential , at least at >that point. But the events are not. That's the point. This allows a program to initiate a non-blocking IO operation (like, say, establishing a TCP connection using the sockets API), go do something else, and check it's status later. >Posix AIO is not asynch in the strict sense , its more "ok kernel, go do this >and I'll check how you're doing later". Proper asynch where the program >execution path gets bounced around between various callbacks is something >else entirely. The POSIX AIO interface allows the kernel to generate a signal to inform the program that an IO operation has completed, e.g., by setting up the `aio_sigevent` and `SIGEV_SIGNAL`. It doesn't get much more asynchronous than that. - Dan C.