> A Unix guru of my acquaintance quoted as the reason
>he cannot and does not use Linux at his work
>absence of 'stream I/O' and TLI in Linux essential
>for his work. He also said most of WAN
>devices are not supported in Linux, which is another
>reason he cannot use Linux at his work.
Streams is an inefficient IPC mechanism that's best left in SVR4
where it belongs. The advantage of strams is its ability to stack
processing modules through messages pass in succession. For example,
terminal line discipline can be implemented as a module that sits
between a serial driver and a process. This adviantage is also the
downfall of streams; there just isn't any way of optimizing the
cumulative effects of the separate modules without merging them.
Quote:> Another remark he made about Linux is that 'ftp.cdrom.com'
>has been running FreeBSD with a few SCSI cards and many hard disks
>chained to them and is very stable while with similar set up,
But FreeBSD also doesn't have streams, as far as I know. They are a
System V feature, not BSD. Someone flame me if I'm wrong.
Quote:> I'm wondering whether 'stream I/O' and 'TLI' are to be
>included in future release of Linux and when they'll be
>if that's the case.
Ask on com.os.linux.development. The issue comes up once in a while.
The verdict on streams is probably "no". It's not worth it, except
as a programming exercise. Streams are elegant, but not practical.
Code that depends on the presence of streams is not portable to not only
Linux but also to many commercial UNIXes. Just about anything done through
the putmsg() getmsg() calls can be accomplished using ordinary socket
operations (which use streams, if you are on System V). the only thing
that's a little bit non-trivial is finding a replacement for
getpmsg() and putpmsg(), for priority-band messages. Socket OOB messages
are only a crude approximation.
Linux _does_ have the mechanisms that are known as "System V IPC":
shared memory segments, semaphores and message queues.
I have taken all the Gates out of my computer, and it still works!