rfc782.txt

来自「RFC 的详细文档!」· 文本 代码 · 共 1,299 行 · 第 1/3 页

TXT
1,299
字号
         of the  display  is  a  scarce  resource,  not  all  logical
         displays  need  be  mapped at the same time.  Therefore, the
         workstation may roll-out and roll-in selected displays under
         the  user  control,  thereby  also multiplexing the physical
         display in time.

     o   Multiplexing the workstation input devices in time.


                                  5







         The input devices always map to a single  user  conversation
         (i.e.,  a  single  logical terminal).  However, the user can
         select  a  new  logical  terminal   by   some   well-defined
         interaction  (e.g.,  depressing  a  function  key,  using  a
         pointing  device,  and  such),  effectively  switching   the
         ownership of the input tools.

     o   Concurrent multi-mode use of the workstation.

         The capabilities of the  workstation  limit  the  scope  and
         character   of   the   individual   conversations.   If  the
         workstation  supports   rubout   processing   (i.e.,   erase
         operations  on  lines  and  characters),  then  the  logical
         terminals can be independent,  scrolling  "terminals,"  some
         page-oriented, others line-oriented.  If the architecture of
         the  workstation  supports  graphics  objects  as  primitive
         objects  then so can the individual logical terminals.  As a
         consequence, while some logical  terminal  displays  may  be
         dedicated  to alphanumeric output, others may include raster
         graphics and imaging data together with positioned text.

     o   The sharing of  a  single  logical  terminal  among  several
         users.

         Several end-users may link to  a  single  logical  terminal.
         All linked parties are viewed by the shared "device" as both
         input sources and  output  sinks.   As  a  consequence  this
         device  sharing  need  not be limited only to the sharing of
         device output. In general, each linked party may  have  full
         read  and  write  access  to  the logical terminal, if it so
         desires.

     o   Selective viewing on a logical terminal display.

         In the user's view, a logical terminal display  is  a  user-
         specified  window  on  a  potentially  larger structure, the
         "device"  display.   This  window  provides  the  "peephole"
         through  which the device display is viewed.  The portion of
         the device display mapped on this window is not  limited  to
         its   "present   contents."  Under  the  user  control,  the
         workstation may invoke the viewing of  past  activity  on  a
         logical  terminal  display  when  the  device display is I/O
         file-extended.  Since the window mechanism  is  an  integral
         part  of  the  device  architecture,  it is available on all
         logical terminal displays.  Furthermore, the viewing of past
         activity  does  not  affect  others  sharing  access  to the
         device.


                                  6







     o   Discarding, suspending, and resuming the output of a logical
         terminal always under user control.

         As part of the  user  interface,  the  workstation  provides
         simple  "keys" through which the user controls the output on
         a logical terminal display.  These workstation  "keys"  need
         not  be  physical  keys, but could be other input tools used
         for this purpose (e.g., analog dials, hit-sensitive areas on
         the  physical display, and such).  In any event, through the
         auspices of the workstation,  the  user's  control  requests
         translate   into   the   proper  commands  to  the  "device"
         associated with the logical terminal.

     APPLICATION  <--->  ADAPTATION UNIT

     o   A logical view of real devices.

         For  each  real   terminal   architecture,   one   canonical
         representation:  a logical device.

     o   For  a   particular   logical   device,   several   possible
         interaction paradigms.

         Some logical devices are intrinsically half-duplex (e.g.,  a
         page-oriented  logical  device), some are full-duplex (e.g.,
         communicating  processes  using  a  stream-oriented  logical
         device), and some may be either half or full-duplex (e.g., a
         line-oriented logical  device).   Some  full-duplex  logical
         devices  can  provide  no  echoing, remote echoing, or local
         echoing.   Those  that  interface  with  applications   that
         support command completion (e.g., command-line interpreters)
         can shift the locus of echoing as a function  of  a  dynamic
         break character set.

     o   One application communicating with several logical devices.

         As  part  of  an  application's  model  of  interaction,  an
         application may "own" several logical devices.  For example,
         an editor could use a line-oriented logical device to gather
         top-level  commands,  and  a page-oriented logical device to
         provide editing workspace.

2.1  The VTM Model Components

     The virtual terminal management  model  consists  of  two  major
components:   the  virtual  terminal model, and the workstation model
(see Figures 2.1, 2.2, and 2.3 respectively).


                                  7
















                              AU1
                               |
                         AU0   |    AU2
                          |    |     |
                         _______________
                         |             |
                         |     VT2     |
                         |             |
                         |             |
                         _______________
                                |       _______________
                                |       |             |----AU0
                                |_______|     VT0     |
                                |_______|             |
                                |       |             |----AU1
                                |       _______________
                                |
                         ________________
                         |              |
                         |              |
                         |     VT1      |
                         |              |
                         ________________
                          |     |     |
                         AU0    |    AU2
                                |
                               AU1


VT = VIRTUAL TERMINAL
AU = ADAPTATION UNIT



               FIGURE 2.1 - THE VIRTUAL TERMINAL MODEL








                                  8
















                    ___  ___               ___  ___
                   |VT1||VT2|             |VT1||VT2|
                   ____ _____             _____ ____
                    |     |                 |    |
                  __|_____|_________________|_____|__
                  | |     | |             | |     |  |
                  |  REMOTE | -CONTROLLER-|  REMOTE  |
                  |   KEYS  |             | DISPLAYS |
                  |         |             |          |
                  | VIRTUAL |             |   DATA   |
                  |   KEYS  |             |  STORE   |
                  |         |<----------->|          |
                  |  LOCAL  |             |   LOCAL  |
                  |   KEYS  |             | DISPLAYS |
                  |         |             |          |
                  __|_____|__________________|_____|__
                    |     |                  |     |
                   ____ ____               _____ ____
                  |AU0||AU1|               |AU0||AU1|
                   ____ ____               _____ ____



          FIGURE 2.2 -- VT0 (expanded from previous figure)
















                                  9














                              +--------------------+
                              |                    |
                            o-|-------------------|
                              |     EXECUTIVE      |
                              |--------------------|
   Screen        +-------+  o-|--------------------|      +-----+
+---------+     /|OUTPUT |    |  ADAPTATION UNIT 0 |<---->| VT0 |
|EXECUTIVE|    / |       |<---|--------------------|      +-----+
|---------|   /  |HANDLER|  o-|--------------------|      +-----+
|   AU0   |  /   |-------|    |  ADAPTATION UNIT 1 |<---->| VT1 |
|---------| /    | INPUT |    |--------------------|      +-----+
|   AU1   |/     |       |  o-|--------------------|
|---------|      |HANDLER|    |         .          |
|         |      |    /--|o   |         .          |
~         ~      +-------+   ~         .          ~
~         ~         /        ~                    ~
|---------|        /        o-|--------------------|      +-----+
|   AUK   |       /           |  ADAPTATION UNIT K |<---->| VTK |
+---------+      /            +--------------------+      +-----+
                /             |                    |
+---------+    /              +--------------------+
|Keyboard |   /
+---------+  /
|[] [] [] | /
|[] [] [] |/
+---------+



                 FIGURE 2.3 - THE WORKSTATION MODEL



The first component embodies the canonical device, while  the  second
component   includes   the   adaptation   unit   and  its  associated
environment.  Each component will be described in turn below.

2.2  The Virtual Terminal Model

     The objective of virtual terminal protocols is  to  provide  the
users  of  the service with a common, logical view of terminals.  The
common user  view  is  attained  through  a  standard,  protocol-wide
representation  of  a canonical terminal, the virtual terminal.  This

                                 10







permits the exchanges between users of the protocol  to  be  free  of
device-specific encodings.

     The design postulates an integrated virtual terminal model which
extends  the  nature  and  scope  of this canonical device in several
important ways.  The major aspects of the  model,  its  connectivity,
its organization, and its architecture are described below.

     2.2.1  Virtual Terminal Connectivity

     Most virtual terminal protocols only cater to two-way  dialogues
in  which  a  single  virtual  terminal  terminates  each  end of the
communication path.

     We define the virtual terminal as a n-way device  where  one  or
more  of  the  correspondents  to  this device are local users of the
service, and the remaining correspondents (if any) are  peer  virtual
terminals.   Each  correspondent  to the virtual terminal has its own
bi-directional path to produce virtual input to, and receive  virtual
output from, the virtual terminal.  This bi-directional path provides
the vehicle for a virtual terminal session between user  and  virtual
terminal.   Globally, the cooperating virtual terminals and these bi-
directional paths span a dendritic (tree-like) topology.

     It is important to note  that  we  have  decoupled  the  virtual
terminal  from  its  physical  realization,  a  single real terminal.
Indeed, a virtual terminal does not map necessarily to just one  real
device, but possibly to many real devices.

     The virtual terminal is viewed ultimately as a well-defined data
structure  which  provides  its  correspondents  with a non-dedicated
virtual terminal service.  And these  correspondents  may  have  read
only, write only, or read/write access rights to this data structure.

     2.2.2  Virtual Terminal Organization

     The virtual terminal is an abstraction;  its  organization,  the
building  blocks which make up the virtual terminal, is the result of
a feature extraction of the real terminal  that  it  is  tailored  to
support.

     We have conceptualized the virtual terminal as  a  meta-terminal
(i.e.,  the terminal of terminals).  The meta-terminal is composed of
three well-distinguished building  blocks: virtual  keys,  a  virtual
controller, and a virtual display.




                                 11






     2.2.2.1  The Virtual Keys.  The analog of the  virtual  keys  is
the  physical keyboard of real terminals.  However, while the keys of
a physical terminal are controlled by a single manual process,  these
virtual  keys  can be activated by multiple, concurrent entities (the
virtual terminal correspondents).  Each correspondent of the  virtual
terminal, be it a user of the service or a peer virtual terminal, has
its input stream to the meta-terminal terminated at the virtual keys.
The  virtual  keys  provide the control of access of input streams to
the meta-terminal.


     2.2.2.2    The Virtual Controller.    The   virtual   controller
provides   virtual  terminal  session  management.   It  manages  the
establishment and termination of a virtual terminal  session  with  a
correspondent; supports the possible negotiation and renegotiation of
the session  attributes;  and  enables  the  deactivation  and  later
activation  of  the  session.   The  virtual controller also provides
virtual terminal  signalling  control  by  managing  the  out-of-band
signals addressed to the virtual terminal.


     2.2.2.3   The Virtual Display.   The  virtual  display  is   the
dynamic  component in the meta-terminal organization.  For each class
of  real  device  (e.g.  stream,  line,  page,  or  graphics-oriented
devices)  there  is  a  corresponding  virtual  terminal  class.  The
organization  of  the  virtual  terminal  data  structure  is  class-
specific.  A virtual terminal models a particular terminal class when
it is 'fitted' with the proper  data  structure  manager  or  virtual
display.   This  binding  need  not  be  static  (e.g.,  a line-class
specialist, and so forth), but could be result of decisions  made  at
"run-time" by applying the principle of negotiated options.

     The virtual display manages the data structure  associated  with
the  meta-terminal  and  performs  operations on the control and data
elements  of  the  structure.  As  a  direct  consequence  of   these
operations  on  the meta-terminal data structure, the virtual display
may  generate  display  updates  to  one,  some,  or   all   of   the
correspondents.  All virtual terminal output streams originate at the
virtual display.

     Different virtual terminal  classes  are  spawned  by  different
"kinds" of virtual displays, and this is realized in one of two ways.
For character-oriented virtual devices,  it  is  possible  to  use  a
single,  wide-scoped  virtual  display with a character-oriented data
structure by constraining it to conform to the model  of  the  device
class (e.g., line-oriented devices must be constrained to line-access
rules).  For non character-oriented virtual devices  (e.g.,  graphics
devices),  an  altogether different virtual display must be used with

                                 12






properties better suited for the new domain (e.g., a graphics virtual
display based on a structured display file).

     2.2.3  Virtual Terminal Architecture

     The commands, and associated parameters, which are available  to
the  users  of  the  virtual terminal constitute the virtual terminal
architecture.  The commands available to a user  --  to  request  the
virtual  controller  to  establish,  abort,  or  close a session, and
discard, suspend, or resume output -- remain invariant to the virtual
terminal  class.  However, as one would expect, the user interface to
the virtual display depends on the nature of this data structure.

     Three important architectural features of the meta-terminal are:

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?