Why UNIX doesn't support event?

John Moore john at anasaz.UUCP
Mon Feb 13 04:50:48 AEST 1989


In article <15886 at mimsy.UUCP> chris at mimsy.UUCP (Chris Torek) writes:
]In article <3921 at cbnews.ATT.COM> rock at cbnews.ATT.COM (Y. Rock Lee) writes:
]>Inside UNIX KERNEL, one can also sleep on an event(address)
]>and expect to be waken up later by someone else.
]>But, on the user level a process can only sleep on TIME.
]>... What is the philosophy behind [this]?
]
]Not true (one can also await a signal with pause() or sigpause()),
]but the essential difference is that, while the kernel is multithreaded
]and thus needs a fancy scheduling mechanism, Unix processes are
](normally) single-threaded so such a primitive is pointless.
]
]You can always write your own, by writing your own scheduler.

I wish this were true! How does one write a SINGLE process that
will wait for a character to appear on two different tty devices?
How about waiting for a semaphore at the same time? I realize that
all of this can be done by splitting the problem into a whole
bunch of processes, but this is both costly of system resources
and results in a more complex applications architecture.

Unix is SERIOUSLY DEFICIENT in event handling. In our data communications
systems that we do on Unix PC's, we wrote our own multi-event wait
device driver to get around this. We'd much rather have good
event management built into the kernel and standardized so that
we can do things in a portable fashion.

While I'm at it, I'd also like to mention that UNIX standard disk
I/O is DEFICIENT. For serious transaction processing it would
be nice to have kernel support for:
  (1) No-wait disk I/O: issue the request, get an event when I/O is
      done.
  (2) Good applications level notification and control for disk
      errors (a la GCOS-3 GEPR).
  (3) Prioritization of disk requests
  (4) Absolute, settable process priorities as an option. (Yeah,
      I know, this has nothing to do with disk I/O. But I thought
      I'd throw it in!)

The best OLTP enhancements that I have seen are done by Pyramid -
now when is AT&T going to wake up and include their sorts of enhancements
in standard Unix so we can use them across a range of machines?

-- 
John Moore (NJ7E)           mcdphx!anasaz!john asuvax!anasaz!john
(602) 861-7607 (day or eve) 
The opinions expressed here are obviously not mine, so they must be
someone else's. :-)



More information about the Comp.unix.wizards mailing list