A structural view of the Cedar programming environment
ACM Transactions on Programming Languages and Systems (TOPLAS)
Distrbution and Abstract Types in Emerald
IEEE Transactions on Software Engineering - Special issue on distributed systems
Distributed programming in Argus
Communications of the ACM
The Amber system: parallel programming on a network of multiprocessors
SOSP '89 Proceedings of the twelfth ACM symposium on Operating systems principles
Lightweight remote procedure call
ACM Transactions on Computer Systems (TOCS)
Spawn: A Distributed Computational Economy
IEEE Transactions on Software Engineering
Project Oberon: the design of an operating system and compiler
Project Oberon: the design of an operating system and compiler
Sharing and protection in a single-address-space operating system
ACM Transactions on Computer Systems (TOCS) - Special issue on computer architecture
Extensibility safety and performance in the SPIN operating system
SOSP '95 Proceedings of the fifteenth ACM symposium on Operating systems principles
Efficient and language-independent mobile programs
PLDI '96 Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation
Real-Time Systems
OSDI '96 Proceedings of the second USENIX symposium on Operating systems design and implementation
Microkernels meet recursive virtual machines
OSDI '96 Proceedings of the second USENIX symposium on Operating systems design and implementation
Making paths explicit in the Scout operating system
OSDI '96 Proceedings of the second USENIX symposium on Operating systems design and implementation
Dealing with disaster: surviving misbehaved kernel extensions
OSDI '96 Proceedings of the second USENIX symposium on Operating systems design and implementation
Lazy receiver processing (LRP): a network subsystem architecture for server systems
OSDI '96 Proceedings of the second USENIX symposium on Operating systems design and implementation
The Flux OSKit: a substrate for kernel and language research
Proceedings of the sixteenth ACM symposium on Operating systems principles
Extensible security architectures for Java
Proceedings of the sixteenth ACM symposium on Operating systems principles
Dynamic class loading in the Java virtual machine
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Design and implementation of a distributed virtual machine for networked computers
Proceedings of the seventeenth ACM symposium on Operating systems principles
Resource management for extensible Internet servers
Proceedings of the 8th ACM SIGOPS European workshop on Support for composing distributed applications
Nested Java processes: OS structure for mobile code
Proceedings of the 8th ACM SIGOPS European workshop on Support for composing distributed applications
Implementing remote procedure calls
ACM Transactions on Computer Systems (TOCS)
Pilot: an operating system for a personal computer
Communications of the ACM
Java Virtual Machine Specification
Java Virtual Machine Specification
The Java Language Specification
The Java Language Specification
A Hands-On Look at Java Mobile Agents
IEEE Internet Computing
A Survey of Distributed Garbage Collection Techniques
IWMM '95 Proceedings of the International Workshop on Memory Management
Uniprocessor Garbage Collection Techniques
IWMM '92 Proceedings of the International Workshop on Memory Management
COMPCON '97 Proceedings of the 42nd IEEE International Computer Conference
HOTOS '99 Proceedings of the The Seventh Workshop on Hot Topics in Operating Systems
Experience with Secure Multi-Processing in Java
ICDCS '98 Proceedings of the The 18th International Conference on Distributed Computing Systems
Joust: A Platform for Communication-Oriented Liquid Software
Joust: A Platform for Communication-Oriented Liquid Software
Building a Java virtual machine for server applications: the Jvm on 0S/390
IBM Systems Journal
USITS'97 Proceedings of the USENIX Symposium on Internet Technologies and Systems on USENIX Symposium on Internet Technologies and Systems
Implementing multiple protection domains in java
ATEC '98 Proceedings of the annual conference on USENIX Annual Technical Conference
SAFKASI: a security mechanism for language-based systems
ACM Transactions on Software Engineering and Methodology (TOSEM)
Portable resource control in Java
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Termination in language-based systems
ACM Transactions on Information and System Security (TISSEC)
ATEC '02 Proceedings of the General Track of the annual conference on USENIX Annual Technical Conference
A Contract-Based Approach of Resource-Constrained Software Deployment
CD '02 Proceedings of the IFIP/ACM Working Conference on Component Deployment
Luna: a flexible Java protection system
ACM SIGOPS Operating Systems Review - OSDI '02: Proceedings of the 5th symposium on Operating systems design and implementation
JASON: an open platform for discovering and hosting applications in ad hoc networks
UbiMob '04 Proceedings of the 1st French-speaking conference on Mobility and ubiquity computing
Luna: a flexible Java protection system
OSDI '02 Proceedings of the 5th symposium on Operating systems design and implementationCopyright restrictions prevent ACM from being able to make the PDFs for this conference available for downloading
An approach for a dependable Java embedded environment
EW 10 Proceedings of the 10th workshop on ACM SIGOPS European workshop
Processes in KaffeOS: isolation, resource management, and sharing in java
OSDI'00 Proceedings of the 4th conference on Symposium on Operating System Design & Implementation - Volume 4
Detecting malicious java code using virtual machine auditing
SSYM'03 Proceedings of the 12th conference on USENIX Security Symposium - Volume 12
A Java middleware platform for resource-aware distributed applications
ISPDC'03 Proceedings of the Second international conference on Parallel and distributed computing
Hi-index | 0.00 |
Language-based extensible systems, such as Java Virtual Machines and SPIN, use type safety to provide memory safety in a single address space. By using software to provide safety, they can support more efficient IPC. Memory safety alone, however, is not sufficient to protect different applications from each other. Such systems need to support a process model that enables the control and management of computational resources. In particular, language-based extensible systems should support resource control mechanisms analogous to those in standard operating systems. They need to support the separation of processes and limit their use of resources, but still support safe and efficient IPC. We demonstrate how this challenge is being addressed in several Java-based systems. First, we lay out the design choices when implementing a process model in Java. Second, we compare the solutions that have been explored in several projects: Alta, K0, and the J-Kernel. Alta closely models the Fluke operating system; K0 is similar to a traditional monolithic kernel; and the J-Kernel resembles a microkernel-based system. We compare how these systems support resource control, and explore the tradeoffs between the various designs.