Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.lisp > #59365

Re: Synonym Streams

From Spiros Bousbouras <spibou@gmail.com>
Newsgroups comp.lang.lisp
Subject Re: Synonym Streams
Date 2024-02-20 17:54 +0000
Organization A noiseless patient Spider
Message-ID <lStmQJdXRZ69KcmdG@bongo-ra.co> (permalink)
References <6pd1+E7bUWxwHGM59@bongo-ra.co> <uqtv0o$1fckl$2@dont-email.me> <23FZrFyCKlaZfJP1R@bongo-ra.co> <20240219092306.348@kylheku.com> <867cj0qfbq.fsf_-_@williamsburg.bawden.org>

Show all headers | View raw


On Mon, 19 Feb 2024 17:06:33 -0500
Alan Bawden <alan@csail.mit.edu> wrote:
> I no longer remember why we designed this whole synonym stream thing.
> (Where by "we" I really mean Dan Weinreb and Dave Moon, I was mostly
> just in the room when they did this.)  I _think_ it is mimicking
> something that the Multics I/O system does.

Well , there does exist  multicians.org/rjf.html :

    Another class of DIM is one that translates one I/O call to another I/O
    call, i.e., its pseudo-device is a stream. A stream that is used as a
    pseudo-device is termed an object stream. The most important of this
    class of DIMs is the "synonym" module. When an attachment is made via the
    synonym module the specified device is another stream. Any subsequent
    calls to the first stream is transformed by the synonym module to the
    same call on the latter stream. The stream names are, therefore,
    synonymous.

    Applications

    In the Multics system certain stream names are established, by
    convention, for normal use. The first of these is "user_i/o". This stream
    is normally associated with the use;'s primary I/O device, e.g., in a
    normal console session "user_i/o" will be attached to the user's console.
    Two other stream names are also established: "user_input" and
    "user_output". These streams are normally attached to "user_i/o" via the
    "synonym" module as illustrated in Figure 3a, i.e. , they are made
    equivalent to "user_i/o". Since at present most programs that perform I/O
    intended to do so with the user's console, the stream names "user_output"
    and "user_input" are the ones used in calls-to the I/O System in these
    programs. This illustrates one of the important purposes of the "synonym"
    DIM, to permit the manipulation of stream attachments without having to
    attach and detach physical devices. The streams "user_input" and
    "user_output" could normally be attached directly to the user's console
    as shown in Figure 3b. However, this would force the console to be
    detached whenever these streams were attached to some other device.
    Detachment and subsequent reattachment implies that certain physical
    hardware action has been taken with regard to the device. In the use of a
    console this might include termination of communication with the console
    and subsequently having to reestablish this communication. It would not
    be difficult to indicate to the DIM to keep the device active, however,
    the use of synonyms is more straightforward and makes more visible the
    states of various devices, i.e., if they are attached they are active. In
    other words, synonyms are an easy, efficient method of changing the
    binding of streams to devices. Because of this use of synonyms the
    "synonym" DIM has been highly optimized for the simple switching
    described above.

Back to comp.lang.lisp | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

CLHS on *DEBUG-IO* and others Spiros Bousbouras <spibou@gmail.com> - 2024-02-17 14:08 +0000
  Re: CLHS on *DEBUG-IO* and others Kaz Kylheku <433-929-6894@kylheku.com> - 2024-02-17 16:34 +0000
  Re: CLHS on *DEBUG-IO* and others Lawrence D'Oliveiro <ldo@nz.invalid> - 2024-02-18 22:06 +0000
    Re: CLHS on *DEBUG-IO* and others Spiros Bousbouras <spibou@gmail.com> - 2024-02-19 12:09 +0000
      Re: CLHS on *DEBUG-IO* and others Kaz Kylheku <433-929-6894@kylheku.com> - 2024-02-19 17:40 +0000
        Synonym Streams Alan Bawden <alan@csail.mit.edu> - 2024-02-19 17:06 -0500
          Re: Synonym Streams Spiros Bousbouras <spibou@gmail.com> - 2024-02-20 17:54 +0000
          Re: Synonym Streams steve <sgonedes1977@gmail.com> - 2024-04-14 11:36 -0400
            Re: Synonym Streams Alan Bawden <alan@csail.mit.edu> - 2024-04-14 18:49 -0400
            Re: Synonym Streams Lawrence D'Oliveiro <ldo@nz.invalid> - 2024-04-15 00:49 +0000
              Re: Synonym Streams steve <sgonedes1977@gmail.com> - 2024-04-19 13:44 -0400
        Re: CLHS on *DEBUG-IO* and others Spiros Bousbouras <spibou@gmail.com> - 2024-02-20 17:47 +0000
          Re: CLHS on *DEBUG-IO* and others Kaz Kylheku <433-929-6894@kylheku.com> - 2024-02-20 18:18 +0000

csiph-web