📄 rfc708.txt
字号:
each format to enable the environment to automatically decode and internalizeincoming parameters should it be desired to provide this service to theapplications 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. WhiteRequest for Comments: 708 Elements of a Distributed Programming System Appendix A: Transmission Formats for PCP Data ObjectsPCPB8, 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. WhiteRequest for Comments: 708 Elements of a Distributed Programming System Appendix B: The Expanded Procedure Call Protocol APPENDIX B THE EXPANDED PROCEDURE CALL PROTOCOLThe Protocol that results from the extensions proposed in this paper issummarized below. The reader should note the concise syntactic descriptionmade possible by the underlying notion of PCP data types.Parameter list masks have been included not only as additional parametersof the CALL message, as proposed in the paper, but as arguments of theTAKEPROCEDURE and SGNLPROCEDURE system procedures as well. Throughout theProtocol 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. WhiteRequest for Comments: 708 Elements of a Distributed Programming System Appendix B: The Expanded Procedure Call ProtocolVariable-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. WhiteRequest for Comments: 708 Elements of a Distributed Programming Appendix C: Summary of RTE Primitives APPENDIX C SUMMARY OF RTE PRIMITIVESThe DPS primitives made available to the applications program as a result ofthe Model extensions proposed in this paper are summarized below. Collectively, they provide the applications programmer with a powerfuland coherent set of tools for constructing distributed systems. Some ofthe primitives (for example, CRTPROCESS and DELPROCESS) are necessary elementsfor a "network operating system (NOS)," into which DPS may itself one dayevolve. 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 SystemRequest for Comments: 708 Appendix D: Additional Areas for Investigation APPENDIX D ADDITIONAL AREAS FOR INVESTIGATIONAlthough the expanded distributed programming system developed in this paperand summarized in the previous appendix is already very powerful, manyadditional aspects of process interaction remain, of course, to be explored.Among the additional facilities that the Protocol must eventually enable theenvironment 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 SystemRequest for Comments: 708 References REFERENCES1. 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 SystemRequest for Comments: 708 Figure List FIGURE LISTFig. 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 + -