The portable common runtime approach to interoperability
- 1 November 1989
- journal article
- Published by Association for Computing Machinery (ACM) in ACM SIGOPS Operating Systems Review
- Vol. 23 (5) , 114-122
- https://doi.org/10.1145/74851.74862
Abstract
Operating system abstractions do not always reach high enough for direct use by a language or applications designer. The gap is filled by language-specific runtime environments, which become more complex for richer languages (CommonLisp needs more than C+ +, which needs more than C). But language-specific environments inhibit integrated multi-lingual programming, and also make porting hard (for instance, because of operating system dependencies). To help solve these problems, we have built the Portable Common Runtime (PCR), a language-independent and operating-system-independent base for modern languages. PCR offers four interrelated facilities: storage management (including universal garbage collection), symbol binding (including static and dynamic linking and loading), threads (lightweight processes), and low-level I/O (including network sockets). PCR is “common” because these facilities simultaneously support programs in several languages. PCR supports C. Cedar, Scheme, and CommonLisp intercalling and runs pre-existing C and CommonLisp (Kyoto) binaries. PCR is “portable” because it uses only a small set of operating system features. The PCR source code is available for use by other researchers and developers.Keywords
This publication has 13 references indexed in Scilit:
- Experiences creating a portable cedarPublished by Association for Computing Machinery (ACM) ,1989
- Draft report on requirements for a common prototyping systemACM SIGPLAN Notices, 1989
- Garbage collection in an uncooperative environmentSoftware: Practice and Experience, 1988
- An open enviornment for building parallel programming systemsACM SIGPLAN Notices, 1988
- Implementation of ArgusPublished by Association for Computing Machinery (ACM) ,1987
- A structural view of the Cedar programming environmentACM Transactions on Programming Languages and Systems, 1986
- The structuring of systems using upcallsPublished by Association for Computing Machinery (ACM) ,1985
- A practical tool kit for making portable compilersCommunications of the ACM, 1983
- The distributed V kernel and its performance for diskless workstationsPublished by Association for Computing Machinery (ACM) ,1983
- MonitorsCommunications of the ACM, 1974