A structural view of the Cedar programming environment
ACM Transactions on Programming Languages and Systems (TOPLAS)
Fine-grained mobility in the Emerald system
ACM Transactions on Computer Systems (TOCS)
Sharing and protection in a single-address-space operating system
ACM Transactions on Computer Systems (TOCS) - Special issue on computer architecture
Exokernel: an operating system architecture for application-level resource management
SOSP '95 Proceedings of the fifteenth ACM symposium on Operating systems principles
Extensibility safety and performance in the SPIN operating system
SOSP '95 Proceedings of the fifteenth ACM symposium on Operating systems principles
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
Generational stack collection and profile-driven pretenuring
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
JRes: a resource accounting interface for Java
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Dynamic class loading in the Java virtual machine
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Resource containers: a new facility for resource management in server systems
OSDI '99 Proceedings of the third symposium on Operating systems design and implementation
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
Pilot: an operating system for a personal computer
Communications of the ACM
The Java Class Libraries Poster
The Java Class Libraries Poster
The Real-Time Specification for Java
Computer
A Survey of Distributed Garbage Collection Techniques
IWMM '95 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
Overview of the IBM Java just-in-time compiler
IBM Systems Journal
Building a Java virtual machine for server applications: the Jvm on 0S/390
IBM Systems Journal
Operating system protection for fine-grained programs
SSYM'98 Proceedings of the 7th conference on USENIX Security Symposium - Volume 7
Techniques for the design of java operating systems
ATEC '00 Proceedings of the annual conference on USENIX Annual Technical Conference
The eclipse operating system: providing quality of service via reservation domains
ATEC '98 Proceedings of the annual conference on USENIX Annual Technical Conference
Implementing multiple protection domains in java
ATEC '98 Proceedings of the annual conference on USENIX Annual Technical Conference
A numerical study of incompressible flows using the finite element approach
AMATH'09 Proceedings of the 15th american conference on Applied mathematics
The design and implementation of an operating system to support distributed multimedia applications
IEEE Journal on Selected Areas in Communications
Resource management for scalable disconnected access to Web services
Proceedings of the 10th international conference on World Wide Web
Portable resource control in the J-SEAL2 mobile agent system
Proceedings of the fifth international conference on Autonomous agents
Multitasking without comprimise: a virtual machine evolution
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
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)
Heap architectures for concurrent languages using message passing
Proceedings of the 3rd international symposium on Memory management
Incommunicado: efficient communication for isolates
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Ada-Europe '02 Proceedings of the 7th Ada-Europe International Conference on Reliable Software Technologies
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
Portable Resource Reification in Java-Based Mobile Agent Systems
MA '01 Proceedings of the 5th International Conference on Mobile Agents
MA '02 Proceedings of the 6th International Conference on Mobile Agents
Code Sharing among Virtual Machines
ECOOP '02 Proceedings of the 16th European Conference on Object-Oriented Programming
Garbage Collector Memory Accounting in Language-Based Systems
SP '03 Proceedings of the 2003 IEEE Symposium on Security and Privacy
Luna: a flexible Java protection system
ACM SIGOPS Operating Systems Review - OSDI '02: Proceedings of the 5th symposium on Operating systems design and implementation
A security framework for reflective Java applications
Software—Practice & Experience
Kill-safe synchronization abstractions
Proceedings of the ACM SIGPLAN 2004 conference on Programming language design and implementation
Program transformations for portable CPU accounting and control in Java
Proceedings of the 2004 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
A scalable distributed information management system
Proceedings of the 2004 conference on Applications, technologies, architectures, and protocols for computer communications
A Portable CPU-Management Framework for Java
IEEE Internet Computing
Memory accounting without partitions
Proceedings of the 4th international symposium on Memory management
Extending a J2EE™ server with dynamic and flexible resource management
Proceedings of the 5th ACM/IFIP/USENIX international conference on Middleware
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
The entropia virtual machine for desktop grids
Proceedings of the 1st ACM/USENIX international conference on Virtual execution environments
ACM Transactions on Programming Languages and Systems (TOPLAS)
THINK: a secure distributed systems architecture
EW 10 Proceedings of the 10th workshop on ACM SIGOPS European workshop
A microkernel virtual machine:: building security with clear interfaces
Proceedings of the 2006 workshop on Programming languages and analysis for security
Message analysis for concurrent programs using message passing
ACM Transactions on Programming Languages and Systems (TOPLAS)
Deconstructing process isolation
Proceedings of the 2006 workshop on Memory system performance and correctness
Writing Solaris device drivers in Java
Proceedings of the 3rd workshop on Programming languages and operating systems: linguistic support for modern operating systems
Guarding security sensitive content using confined mobile agents
Proceedings of the 2007 ACM symposium on Applied computing
ATEC '03 Proceedings of the annual conference on USENIX Annual Technical Conference
HOTOS'03 Proceedings of the 9th conference on Hot Topics in Operating Systems - Volume 9
Detecting malicious java code using virtual machine auditing
SSYM'03 Proceedings of the 12th conference on USENIX Security Symposium - Volume 12
Cloneable JVM: a new approach to start isolated java applications faster
Proceedings of the 3rd international conference on Virtual execution environments
Sealing OS processes to improve dependability and safety
Proceedings of the 2nd ACM SIGOPS/EuroSys European Conference on Computer Systems 2007
Lightweight flexible isolation for language-based extensible systems
VLDB '02 Proceedings of the 28th international conference on Very Large Data Bases
SIF: enforcing confidentiality and integrity in web applications
SS'07 Proceedings of 16th USENIX Security Symposium on USENIX Security Symposium
XMem: type-safe, transparent, shared memory for cross-runtime communication and coordination
Proceedings of the 2008 ACM SIGPLAN conference on Programming language design and implementation
Program transformations for light-weight CPU accounting and control in the Java virtual machine
Higher-Order and Symbolic Computation
Towards a new isolation abstraction for OSGi
Proceedings of the 1st workshop on Isolation and integration in embedded systems
Designing highly flexible virtual machines: the JnJVM experience
Software—Practice & Experience
SPIN: Service Performance Isolation Infrastructure in Multi-tenancy Environment
ICSOC '08 Proceedings of the 6th International Conference on Service-Oriented Computing
Enhancing the platform independence of the real-time specification for Java
Proceedings of the 7th International Workshop on Java Technologies for Real-Time and Embedded Systems
Surviving sensor network software faults
Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles
Writing solaris device drivers in Java
Writing solaris device drivers in Java
A resource management interface for the Java™ platform
A resource management interface for the Java™ platform
Using Bytecode Instruction Counting as Portable CPU Consumption Metric
Electronic Notes in Theoretical Computer Science (ENTCS)
Message analysis for concurrent languages
SAS'03 Proceedings of the 10th international conference on Static analysis
Stabilizing trust and reputation for self-stabilizing efficient hosts in spite of Byzantine guests
SSS'07 Proceedings of the 9h international conference on Stabilization, safety, and security of distributed systems
Safe to the last instruction: automated verification of a type-safe operating system
PLDI '10 Proceedings of the 2010 ACM SIGPLAN conference on Programming language design and implementation
Stabilizing trust and reputation for self-stabilizing efficient hosts in spite of byzantine guests
ACM SIGOPS Operating Systems Review
DEFCON: high-performance event processing with information security
USENIXATC'10 Proceedings of the 2010 USENIX conference on USENIX annual technical conference
Retaining sandbox containment despite bugs in privileged memory-safe code
Proceedings of the 17th ACM conference on Computer and communications security
Cross-language, type-safe, and transparent object sharing for co-located managed runtimes
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
A Java middleware platform for resource-aware distributed applications
ISPDC'03 Proceedings of the Second international conference on Parallel and distributed computing
A2-VM: a cooperative Java VM with support for resource-awareness and cluster-wide thread scheduling
OTM'11 Proceedings of the 2011th Confederated international conference on On the move to meaningful internet systems - Volume Part I
Extending standard java runtime systems for resource management
SEM'04 Proceedings of the 4th international conference on Software Engineering and Middleware
Live and heterogeneous migration of execution environments
OTM'06 Proceedings of the 2006 international conference on On the Move to Meaningful Internet Systems: AWeSOMe, CAMS, COMINF, IS, KSinBIT, MIOS-CIAO, MONET - Volume Part II
Unpicking the knot: teasing apart VM/application interdependencies
VEE '12 Proceedings of the 8th ACM SIGPLAN/SIGOPS conference on Virtual Execution Environments
Concurrency and Computation: Practice & Experience
S-RVM: a secure design for a high-performance java virtual machine
Proceedings of the sixth ACM workshop on Virtual machines and intermediate languages
Multitasking without compromise: a virtual machine evolution
ACM SIGPLAN Notices - Supplemental issue
Hi-index | 0.00 |
Single-language runtime systems, in the form of Java virtual machines, are widely deployed platforms for executing untrusted mobile code. These runtimes provide some of the features that operating systems provide: inter-application memory protection and basic system services. They do not, however, provide the ability to isolate applications from each other, or limit their resource consumption. This paper describes KaffeOS, a Java runtime system that provides these features. The KaffeOS architecture takes many lessons from operating system design, such as the use of a user/kernel boundary, and employs garbage collection techniques, such as write barriers. The KaffeOS architecture supports the OS abstraction of a process in a Java virtual machine. Each process executes as if it were run in its own virtual machine, including separate garbage collection of its own heap. The difficulty in designing KaffeOS lay in balancing the goals of isolation and resource management against the goal of allowing direct sharing of objects. Overall, KaffeOS is no more than 11% slower than the freely available JVM on which it is based, which is an acceptable penalty for the safety that it provides. Because of its implementation base, KaffeOS is substantially slower than commercial JVMs for trusted code, but it clearly outperforms those JVMs in the presence of denial-of-service attacks or misbehaving code.