📄 rfc708.txt
字号:
each format to enable the environment to automatically decode and internalize
incoming parameters should it be desired to provide this service to the
applications program.
PCPB36, For Use Between 36-Bit Machines
Bits 0-13 Unused (zero)
Bits 14-17 Data type
EMPTY =1 INTEGER=4 LIST=7
BOOLEAN=2 BITSTR =5
INDEX -3 CHARSTR=6
Bits 18-20 Unused (zero)
Bits 21-35 Value or length N
EMPTY unused (zero)
BOOLEAN 14 zero-bits + 1-bit value (TRUE=1/FALSE=0)
INDEX unsigned value
INTEGER unused (zero)
BITSTR unsigned bit count N
CHARSTR unsigned character count N
LIST unsigned element count N
Bits 36- Value
EMPTY unused (nonexistent)
BOOLEAN unused (nonexistent)
INDEX unused (nonexistent)
INTEGER two's complement full-word value
BITSTR bit string + zero padding to word boundary
CHARSTR ASCII string + zero padding to word boundary
LIST element data objects
-23-
Network Working James E. White
Request for Comments: 708 Elements of a Distributed Programming System
Appendix A: Transmission Formats for PCP Data Objects
PCPB8, For Use Between Dissimilar Machines
Byte 0 Data type
EMPTY =1 INTEGER=4 LIST=7
BOOLEAN=2 BITSTR =5
INDEX =3 CHARSTR=6
Bytes 1- Value
EMPTY unused (nonexistent)
BOOLEAN 7 zero-bits + 1-bit value (TRUE=1/FALSE=0
INDEX 2 byte unsigned value
INTEGER 4-type two's complement value
BITSTR 2-byte unsigned bit count N + bit string
+ zero padding to byte boundary
CHARSTR 2-byte unsigned character count N + ASCII string
LIST 2-byte element count N + element data objects
-24-
Network Working Group James E. White
Request for Comments: 708 Elements of a Distributed Programming System
Appendix B: The Expanded Procedure Call Protocol
APPENDIX B
THE EXPANDED PROCEDURE CALL PROTOCOL
The Protocol that results from the extensions proposed in this paper is
summarized below. The reader should note the concise syntactic description
made possible by the underlying notion of PCP data types.
Parameter list masks have been included not only as additional parameters
of the CALL message, as proposed in the paper, but as arguments of the
TAKEPROCEDURE and SGNLPROCEDURE system procedures as well. Throughout the
Protocol description, "MASK" is shorthand for:
[LIST (variable [CHARSTR], ...)]
Messages
LIST (route INDEX, opcode INDEX CALL=1, tid [INDEX],
pkh [INDEX], procedure CHARSTR, arguments LIST,
argumentlistmask MASK, resultlistmask MASK)
LIST (route INDEX, opcode INDEX RETURN=2, tid INDEX,
outcome BOOLEAN, results LIST)
If OUTCOME is FALSE
RESULTS is LIST (error INDEX, diagnostic CHARSTR)
Process-Related System Procedures
INIPROCESS (program CHARSTR,
credentials LIST (error CHARSTR, password CHARSTR,
account CHARSTR))
ALOPORT (-> ph INDEX, computer CHARSTR, port)
CNNPORT (ph INDEX, computer CHARSTR, port)
DCNPORT (ph INDEX)
CRTROUTE (mycode INDEX, oldcode [INDEX]
-> code INDEX, ph INDEX)
DELROUTE (yourcode INDEX)
Package-Related System Procedures
OPNPACKAGE (packages LISTofCHARSTRs -> pkhs LISTofINDEXs)
CLSPACKAGE (pkhs LISTofINDEXs)
-25-
Network Working Group James E. White
Request for Comments: 708 Elements of a Distributed Programming System
Appendix B: The Expanded Procedure Call Protocol
Variable-Related System Procedures
CRTVARIABLE (variable CHARSTR, value)
DELVARIABLE (variable CHARSTR)
RDVARIABLE (pkh INDEX, variable CHARSTR,
substructure [LISTofINDEXs] -> value)
Procedure-Related System Procedures
TAKEPROCEDURE (tid INDEX, yourtid BOOLEAN, parameters LIST,
argumentlistmask MASK, resultlistmask MASK)
SGNLPROCEDURE (tid INDEX, yourtid BOOLEAN, parameters LIST,
parameterlistmask MASK)
HELPPROCEDURE (tid INDEX, number INDEX, information -> solution)
NOTEPROCEDURE (tid INDEX, number INDEX, information)
ABRTPROCEDURE (tid INDEX)
-26-
Network Working Group James E. White
Request for Comments: 708 Elements of a Distributed Programming
Appendix C: Summary of RTE Primitives
APPENDIX C
SUMMARY OF RTE PRIMITIVES
The DPS primitives made available to the applications program as a result of
the Model extensions proposed in this paper are summarized below.
Collectively, they provide the applications programmer with a powerful
and coherent set of tools for constructing distributed systems. Some of
the primitives (for example, CRTPROCESS and DELPROCESS) are necessary elements
for a "network operating system (NOS)," into which DPS may itself one day
evolve.
CRTPROCESS (computer, program, credentials -> PH)
DELPROCESS (ph)
ITDPROCESS (ph1, ph2 -> ph12, ph21, ih)
SEPPROCESS (ih)
Packages
OPNPACKAGE (ph, packages -> pkhs)
CLSPACKAGE (ph, pkhs)
Variables
CRTVARIABLE (ph, variable, value)
DELVARIABLE (ph, variable)
RDVARIABLE (ph, pkh, variable, substructure -> value)
WRTVARIABLE (ph, pkh, variable, substructure, value)
Procedures
CALLPROCEDURE (ph, pkh, procedure, arguments, argumentlistmask,
resultlistmask, -> outcome, results, tid)
LINKPROCEDURE (tid, arguments, argumentlistmask,
resultlistmask, -> outcome, results)
SGNLPROCEDURE (tid, parameters, parameterlistmask)
HELPPROCEDURE (tid, number, information -> solution)
NOTEPROCEDURE (tid, number, information)
ABRTPROCEDURE (tid)
-27-
Network Working Group Elements of a Distributed Programming System
Request for Comments: 708 Appendix D: Additional Areas for Investigation
APPENDIX D
ADDITIONAL AREAS FOR INVESTIGATION
Although the expanded distributed programming system developed in this paper
and summarized in the previous appendix is already very powerful, many
additional aspects of process interaction remain, of course, to be explored.
Among the additional facilities that the Protocol must eventually enable the
environment to provide are mechanisms for:
(1) Queuing procedure calls for long periods of time (for
example, days).
(2) Broadcasting requests to groups of processes.
(3) Subcontracting work to other processes (without remaining
a middleman).
(4) Supporting brief or infrequent inter-process exchanges
with minimal startup overhead.
(5) Recovering from and restarting after system errors.
-28-
Network Working Group Elements of a Distributed Programming System
Request for Comments: 708 References
REFERENCES
1. White, J. E., "A High-Level Framework for Network-Based Resource Sharing,"
submitted for publication in the AFIPS Conference Proceedings of the 1976
National Computer Conference.
2. Watson, R. W., Some Thoughts on System Design to Facilitate Resource
Sharing, ARPA Network Working Group Request for Comments 592, Augmentation
Research Center, Stanford Research Institute, Menlo Park, California,
November 20, 1973 (SRI-ARC Catalog Item 20391).
3. White, J. E., DPS-10 Version 2.5 Implementor's Guide, Augmentation
Research Center, Stanford Research Institute, Menlo Park, California,
August 15, 1975 (SRI-ARC Catalog Item 26282).
4. White, J. E., DPS-10 Version 2.5 Programmer's Guide, Augmentation Research
Center, Stanford Research Institute, Menlo Park, California, August 13,
1975 (SRI-ARC Catalog Item 26271).
5. White, J. E., DPS-10 Version 2.5 Source Code, Augmentation Research
Center, Stanford Research Institute, Menlo Park, California, August 13,
1975 (SRI-ARC Catalog Item 26267).
6. Bobrow, D. G., Burchfiel, J. D., Murphy, D. L., Tomlinson, R. S., "TENEX,
a paged Time Sharing System for the PDP-10," Communications of the ACM,
Vol. 15, No. 3, pp. 135-143, March 1972.
-29-
Network Working Group Elements of a Distributed Programming System
Request for Comments: 708 Figure List
FIGURE LIST
Fig. 1 Interfacing distant applications programs via their run-time
environments and an IPC channel.
Fig. 2 Two processes that can only be introduced via a logical channel.
Fig. 3 A logical channel.
-30-
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -