Re: SVR4 STREAMS (for example LiS)

From: Ihar \ (filia@softhome.net)
Date: Tue Jul 22 2003 - 02:24:38 EST


Luciano Miguel Ferreira Rocha wrote:
> On Mon, Jul 21, 2003 at 10:38:38AM -0400, Richard B. Johnson wrote:
>>Streams are an extension of buffered I/O implimented by the 'C'
>>runtime library. Streams really have nothing to do with the
>>internal workings of kernel I/O. As far as kernel I/O goes,
>>one reads() and writes() from user-space.
>
> Actually, SysV Streams do.
>
> An ex, for openning a pty, on svr4:
> fds = open(pts_name, O_RDWR)
> ioctl(fds, I_PUSH, "ptem")
> ioctl(fds, I_PUSH, "ldterm")
> ioctl(fds, I_PUSH, "ttcompat")
>
> Where ptem, ldterm, ttcompat work as independent modules converting the
> stream, resulting in a pseudo-terminal implementation.
>
> New programs should just use openpty directly, and let libc take care
> of the actual implementation.
>
> Also, BSD sockets were implemented using streams also, thus the compatibility
> libraries.
>
> Anyway, I see no point in caring wether streams are used or not in normal
> programs.
>

    Not every one has normal programmes and normal needs [1].
    Use of STREAMS allows you easily build up your own network protocol
stack for example.

    Sun's autopush(1M) looks really cool.
    http://docs.sun.com/db/doc/805-3173/6j31cplrg?a=view

    Configure special device and just feed it your programme.
    Not more - not less.

    As of me I see not that much uses of STREAMS somewhere outside of
terminal conversions and network stack manipulations. And some rare (but
  nasty indeed) occasions of stupid binary programmes, which happend to
be used and happend to need something special.

    On behalf of conclusion I would summarize: STREAMS are Ok, but
potentially slow and hard to configure (I can easily imagine situation
when app trying to manipulate already prepared by admin stream
/something like this).

[1] <blatant rant on>I absolutely do not need to use 64GB of memory -
but kernel includes HIGH_MEM support. Is it normal for 32bit PC to have
that much memory? *No*. Do you run any normal programme which does need
64GB of memory? I bet *No*.<blatant rant off> There are a lot of
examples of _not_ normal features - read "bloat" - in kernel. And I'm
not talking about user-land... ;-)

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Wed Jul 23 2003 - 22:00:45 EST