📄 rfc782.txt
字号:
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 majorcomponents: 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 | AU1VT = VIRTUAL TERMINALAU = 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 MODELThe first component embodies the canonical device, while the secondcomponent includes the adaptation unit and its associatedenvironment. Each component will be described in turn below.2.2 The Virtual Terminal Model The objective of virtual terminal protocols is to provide theusers of the service with a common, logical view of terminals. Thecommon user view is attained through a standard, protocol-widerepresentation of a canonical terminal, the virtual terminal. This 10permits the exchanges between users of the protocol to be free ofdevice-specific encodings. The design postulates an integrated virtual terminal model whichextends the nature and scope of this canonical device in severalimportant 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 dialoguesin which a single virtual terminal terminates each end of thecommunication path. We define the virtual terminal as a n-way device where one ormore of the correspondents to this device are local users of theservice, and the remaining correspondents (if any) are peer virtualterminals. Each correspondent to the virtual terminal has its ownbi-directional path to produce virtual input to, and receive virtualoutput from, the virtual terminal. This bi-directional path providesthe vehicle for a virtual terminal session between user and virtualterminal. 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 virtualterminal from its physical realization, a single real terminal.Indeed, a virtual terminal does not map necessarily to just one realdevice, but possibly to many real devices. The virtual terminal is viewed ultimately as a well-defined datastructure which provides its correspondents with a non-dedicatedvirtual terminal service. And these correspondents may have readonly, 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, thebuilding blocks which make up the virtual terminal, is the result ofa feature extraction of the real terminal that it is tailored tosupport. We have conceptualized the virtual terminal as a meta-terminal(i.e., the terminal of terminals). The meta-terminal is composed ofthree well-distinguished building blocks: virtual keys, a virtualcontroller, and a virtual display. 11 2.2.2.1 The Virtual Keys. The analog of the virtual keys isthe physical keyboard of real terminals. However, while the keys ofa physical terminal are controlled by a single manual process, thesevirtual keys can be activated by multiple, concurrent entities (thevirtual terminal correspondents). Each correspondent of the virtualterminal, be it a user of the service or a peer virtual terminal, hasits input stream to the meta-terminal terminated at the virtual keys.The virtual keys provide the control of access of input streams tothe meta-terminal. 2.2.2.2 The Virtual Controller. The virtual controllerprovides virtual terminal session management. It manages theestablishment and termination of a virtual terminal session with acorrespondent; supports the possible negotiation and renegotiation ofthe session attributes; and enables the deactivation and lateractivation of the session. The virtual controller also providesvirtual terminal signalling control by managing the out-of-bandsignals addressed to the virtual terminal. 2.2.2.3 The Virtual Display. The virtual display is thedynamic component in the meta-terminal organization. For each classof real device (e.g. stream, line, page, or graphics-orienteddevices) there is a corresponding virtual terminal class. Theorganization of the virtual terminal data structure is class-specific. A virtual terminal models a particular terminal class whenit is 'fitted' with the proper data structure manager or virtualdisplay. This binding need not be static (e.g., a line-classspecialist, 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 withthe meta-terminal and performs operations on the control and dataelements of the structure. As a direct consequence of theseoperations on the meta-terminal data structure, the virtual displaymay generate display updates to one, some, or all of thecorrespondents. All virtual terminal output streams originate at thevirtual 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 asingle, wide-scoped virtual display with a character-oriented datastructure by constraining it to conform to the model of the deviceclass (e.g., line-oriented devices must be constrained to line-accessrules). For non character-oriented virtual devices (e.g., graphicsdevices), an altogether different virtual display must be used with 12properties better suited for the new domain (e.g., a graphics virtualdisplay based on a structured display file). 2.2.3 Virtual Terminal Architecture The commands, and associated parameters, which are available tothe users of the virtual terminal constitute the virtual terminalarchitecture. The commands available to a user -- to request thevirtual controller to establish, abort, or close a session, anddiscard, suspend, or resume output -- remain invariant to the virtualterminal class. However, as one would expect, the user interface tothe 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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -