Efficient software-based fault isolation
SOSP '93 Proceedings of the fourteenth ACM symposium on Operating systems principles
The SPARC architecture manual (version 9)
The SPARC architecture manual (version 9)
Safe kernel extensions without run-time checking
OSDI '96 Proceedings of the second USENIX symposium on Operating systems design and implementation
Inside COM
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
The Java programming language (2nd ed.)
The Java programming language (2nd ed.)
Inside Java 2 platform security architecture, API design, and implementation
Inside Java 2 platform security architecture, API design, and implementation
Application isolation in the Java Virtual Machine
OOPSLA '00 Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
An approach to safe object sharing
OOPSLA '00 Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Java Virtual Machine Specification
Java Virtual Machine Specification
The Java Language Specification
The Java Language Specification
Incremental Collection of Mature Objects
IWMM '92 Proceedings of the International Workshop on Memory Management
The JavaSeal Mobile Agent Kernel
ASAMA '99 Proceedings of the First International Symposium on Agent Systems and Applications Third International Symposium on Mobile Agents
Generation Scavenging: A non-disruptive high performance storage reclamation algorithm
SDE 1 Proceedings of the first ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
Automated and Portable Native Code Isolation
Automated and Portable Native Code Isolation
Building a Java virtual machine for server applications: the Jvm on 0S/390
IBM Systems Journal
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
Implementing multiple protection domains in java
ATEC '98 Proceedings of the annual conference on USENIX Annual Technical Conference
Termination in language-based systems
ACM Transactions on Information and System Security (TISSEC)
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
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
Xen and the art of virtualization
SOSP '03 Proceedings of the nineteenth ACM symposium on Operating systems principles
Improving availability with recursive microreboots: a soft-state system case study
Performance Evaluation - Dependable systems and networks-performance and dependability symposium (DSN-PDS) 2002: Selected papers
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 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
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 KaffeOS Java runtime system
ACM Transactions on Programming Languages and Systems (TOPLAS)
Adaptive middleware for dynamic component-level deployment
ARM '05 Proceedings of the 4th workshop on Reflective and adaptive middleware systems
Scaling J2EE™ application servers with the Multi-tasking Virtual Machine
Software—Practice & Experience - Research Articles
Task-aware garbage collection in a multi-tasking virtual machine
Proceedings of the 5th international symposium on Memory management
A microkernel virtual machine:: building security with clear interfaces
Proceedings of the 2006 workshop on Programming languages and analysis for security
Transparent resource management and self-adaptability using multitasking virtual machine RM API
Proceedings of the 2006 international workshop on Self-adaptation and self-managing systems
An object-aware memory architecture
Science of Computer Programming - Special issue on five perspectives on modern memory management: Systems, hardware and theory
Writing Solaris device drivers in Java
Proceedings of the 3rd workshop on Programming languages and operating systems: linguistic support for modern operating systems
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
Cloneable JVM: a new approach to start isolated java applications faster
Proceedings of the 3rd international conference on Virtual execution environments
Lightweight flexible isolation for language-based extensible systems
VLDB '02 Proceedings of the 28th international conference on Very Large Data Bases
Future Generation Computer Systems
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
MTM2: Scalable Memory Management for Multi-tasking Managed Runtime Environments
ECOOP '08 Proceedings of the 22nd European conference on Object-Oriented Programming
Towards a new isolation abstraction for OSGi
Proceedings of the 1st workshop on Isolation and integration in embedded systems
SPIN: Service Performance Isolation Infrastructure in Multi-tenancy Environment
ICSOC '08 Proceedings of the 6th International Conference on Service-Oriented Computing
Software hardening: a research agenda
Proceedings for the 1st workshop on Script to Program Evolution
Towards Dynamic Component Isolation in a Service Oriented Platform
CBSE '09 Proceedings of the 12th International Symposium on Component-Based Software Engineering
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
Class loading issues in Java™ RMI and Jini™ network technology
Class loading issues in Java™ RMI and Jini™ network technology
Policy-based management of a JDBC™ connection pool
Policy-based management of a JDBC™ connection pool
Writing solaris device drivers in Java
Writing solaris device drivers in Java
Resource partitioning in a Java™ operating environment
Resource partitioning in a Java™ operating environment
A resource management interface for the Java™ platform
A resource management interface for the Java™ platform
An object-aware memory architecture
An object-aware memory architecture
Scaling J2EE™ application servers with the multi-tasking virtual machine
Scaling J2EE™ application servers with the multi-tasking virtual machine
Using Bytecode Instruction Counting as Portable CPU Consumption Metric
Electronic Notes in Theoretical Computer Science (ENTCS)
VMKit: a substrate for managed runtime environments
Proceedings of the 6th ACM SIGPLAN/SIGOPS international conference on Virtual execution environments
AAOP-based dynamically reconfigurable monitoring system
Information and Software Technology
Adaptability mechanisms for autonomic system implementation with AAOP
Software—Practice & Experience
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
Optimized memory management for class metadata in a JVM
Proceedings of the 9th International Conference on Principles and Practice of Programming in Java
Transparent resource management with java RM API
ICCS'06 Proceedings of the 6th international conference on Computational Science - Volume Part IV
Extending standard java runtime systems for resource management
SEM'04 Proceedings of the 4th international conference on Software Engineering and Middleware
Sharing the runtime representation of classes across class loaders
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
Application object isolation in cross-platform operating environments
OTM'05 Proceedings of the 2005 OTM Confederated international conference on On the Move to Meaningful Internet Systems: CoopIS, COA, and ODBASE - Volume Part II
Virtualization of service gateways in multi-provider environments
CBSE'06 Proceedings of the 9th international conference on Component-Based Software Engineering
A self-healing component sandbox for untrustworthy third party code execution
CBSE'10 Proceedings of the 13th international conference on Component-Based Software Engineering
Adaptive monitoring of end-user OSGi-based home boxes
Proceedings of the 15th ACM SIGSOFT symposium on Component Based Software Engineering
The CloudBrowser web application framework
Proceedings of the 3rd annual conference on Systems, programming, and applications: software for humanity
S-RVM: a secure design for a high-performance java virtual machine
Proceedings of the sixth ACM workshop on Virtual machines and intermediate languages
The JVM is not observable enough (and what to do about it)
Proceedings of the sixth ACM workshop on Virtual machines and intermediate languages
Most influential papers of ICFP, OOPSLA, PLDI, and POPL
ACM SIGPLAN Notices - Supplemental issue
Cloud platforms and embedded computing: the operating systems of the future
Proceedings of the 50th Annual Design Automation Conference
Hi-index | 0.00 |
The multitasking virtual machine (called from now on simply MVM) is a modification of the Java virtual machine. It enables safe, secure, and scalable multitasking. Safety is achieved by strict isolation of application from one another. Resource control augment security by preventing some denial-of-service attacks. Improved scalability results from an aggressive application of the main design principle of MVM: share as much of the runtime as possible among applications and replicate everything else. The system can be described as a 'no compromise'approach --- all the known APIs and mechanisms of the Java programming language are available to applications. MVM is implemented as a series of carefully tuned modifications to the Java HotSpot virtual machine, including the dynamic compiler. this paper presents the design of MVM, focusing on several novel and general techniques: an in-runtime design of lightweight isolation, an extension of a copying, generational garbage collector to provide best-effort management of a portion of the heap space, and a transparent and automated mechanism for safe execution of user-level native code. MVM demonstrates that multitasking in a safe language can be accomplished with a high degree of protection, without constraining the language, and and with competitive performance characteristics