Smalltalk-80: the language and its implementation
Smalltalk-80: the language and its implementation
A structural view of the Cedar programming environment
ACM Transactions on Programming Languages and Systems (TOPLAS)
A Remote Procedure Call Facility for Interconnecting Heterogeneous Computer Systems
IEEE Transactions on Software Engineering
Common LISP: the language
SOSP '87 Proceedings of the eleventh ACM Symposium on Operating systems principles
Garbage collection in an uncooperative environment
Software—Practice & Experience
Communications in the mercury system
Proceedings of the Twenty-First Annual Hawaii International Conference on Software Track
An open enviornment for building parallel programming systems
PPEALS '88 Proceedings of the ACM/SIGPLAN conference on Parallel programming: experience with applications, languages and systems
Draft report on requirements for a common prototyping system
ACM SIGPLAN Notices
Experiences creating a portable cedar
PLDI '89 Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation
Combining generational and conservative garbage collection: framework and implementations
POPL '90 Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The structuring of systems using upcalls
Proceedings of the tenth ACM symposium on Operating systems principles
A practical tool kit for making portable compilers
Communications of the ACM
Monitors: an operating system structuring concept
Communications of the ACM
The distributed V kernel and its performance for diskless workstations
SOSP '83 Proceedings of the ninth ACM symposium on Operating systems principles
Experiences creating a portable cedar
PLDI '89 Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation
LFP '90 Proceedings of the 1990 ACM conference on LISP and functional programming
Combining generational and conservative garbage collection: framework and implementations
POPL '90 Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Mostly parallel garbage collection
PLDI '91 Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation
User-level interprocess communication for shared memory multiprocessors
ACM Transactions on Computer Systems (TOCS)
Scheduler activations: effective kernel support for the user-level management of parallelism
SOSP '91 Proceedings of the thirteenth ACM symposium on Operating systems principles
Structuring fault-tolerant object systems for portability
ACM SIGOPS Operating Systems Review
A common compiler for LOTOS and SDL specifications
IBM Systems Journal
PLDI '92 Proceedings of the ACM SIGPLAN 1992 conference on Programming language design and implementation
Fast mutual exclusion for uniprocessors
ASPLOS V Proceedings of the fifth international conference on Architectural support for programming languages and operating systems
Scheduler activations: effective kernel support for the user-level management of parallelism
ACM Transactions on Computer Systems (TOCS)
Chores: enhanced run-time support for shared-memory parallel computing
ACM Transactions on Computer Systems (TOCS)
First-class data-type representations in SCHEMEXEROX
PLDI '93 Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation
Space efficient conservative garbage collection
PLDI '93 Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation
Procs and locks: a portable multiprocessing platform for standard ML of New Jersey
PPOPP '93 Proceedings of the fourth ACM SIGPLAN symposium on Principles and practice of parallel programming
Some computer science issues in ubiquitous computing
Communications of the ACM - Special issue on computer augmented environments: back to the real world
COOL: system support for distributed programming
Communications of the ACM
Multiple threads in cyclic register windows
ISCA '93 Proceedings of the 20th annual international symposium on computer architecture
The Amadeus GRT: generic runtime support for distributed persistent programming
OOPSLA '93 Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications
Using threads in interactive systems: a case study
SOSP '93 Proceedings of the fourteenth ACM symposium on Operating systems principles
Implementing multiple locks using Lamport's mutual exclusion algorithm
ACM Letters on Programming Languages and Systems (LOPLAS)
A fine-grained parallel completion procedure
ISSAC '94 Proceedings of the international symposium on Symbolic and algebraic computation
First-class user-level threads
SOSP '91 Proceedings of the thirteenth ACM symposium on Operating systems principles
Bounding space usage of conservative garbage collectors
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Structuring fault-tolerant object systems for portability
EW 4 Proceedings of the 4th workshop on ACM SIGOPS European workshop
Language- and application-oriented resource management for parallel architectures
EW 6 Proceedings of the 6th workshop on ACM SIGOPS European workshop: Matching operating systems to application needs
Reconsidering custom memory allocation
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
On the design of Chant: a talking threads package
Proceedings of the 1994 ACM/IEEE conference on Supercomputing
SPiCE: A System for Translating Smalltalk Programs Into a C Environment
IEEE Transactions on Software Engineering
Fault-Tolerance in the Advanced Automation System
ACM SIGOPS Operating Systems Review
Space efficient conservative garbage collection
ACM SIGPLAN Notices - Best of PLDI 1979-1999
OOPSLA 2002: Reconsidering custom memory allocation
ACM SIGPLAN Notices - Supplemental issue
Hi-index | 0.02 |
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.