Results 1 -
6 of
6
Steps Toward The Reinvention of Programming -- A Compact and Practical Model of Personal Computing as a Self-Exploratorium
-
, 2006
"... ..."
Running a Java VM Inside an Operating System Kernel
- VEE '08
, 2008
"... Operating system extensions have been shown to be beneficial to implement custom kernel functionality. In most implementations, the extensions are made by an administrator with kernel loadable modules. An alternative approach is to provide a run-time system within the operating system itself that ca ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Operating system extensions have been shown to be beneficial to implement custom kernel functionality. In most implementations, the extensions are made by an administrator with kernel loadable modules. An alternative approach is to provide a run-time system within the operating system itself that can execute user kernel extensions. In this paper, we describe such an approach, where a lightweight Java virtual machine is embedded within the kernel for flexible extension of kernel network I/O. For this purpose, we first implemented a compact Java Virtual Machine with a Just-In-Time compiler on the Intel IA32 instruction set architecture at the user space. Then, the virtual machine was embedded onto the FreeBSD operating system kernel. We evaluate the system to validate the model, with systematic benchmarking.
Live and Heterogeneous Migration of Execution Environments
"... Abstract. Application migration and heterogeneity are inherent issues of pervasive systems. Each implementation of a pervasive system must provide its own migration framework which hides heterogeneity of the different resources. This leads to the development of many frameworks that perform the same ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Abstract. Application migration and heterogeneity are inherent issues of pervasive systems. Each implementation of a pervasive system must provide its own migration framework which hides heterogeneity of the different resources. This leads to the development of many frameworks that perform the same functionality. We propose a minimal execution environment, the micro virtual machine, that factorizes process migration implementation and offers heterogeneity, transparency and performance. Systems implemented on top of this micro virtual machine, such as our own Java virtual machine, will therefore automatically inherit process migration capabilities. 1
Building a Flexible Java Runtime upon a
- n o 1, 2005, p. 27–34. Publications in Conferences and Workshops
, 2005
"... While Java has become a de facto standard for mobile code and distributed programming, it is still a rigid and closed execution environment. Not only does this lack of flexibility severely limit the deployment of innovations, but it imposes artificial constraints to application developers. Theref ..."
Abstract
- Add to MetaCart
While Java has become a de facto standard for mobile code and distributed programming, it is still a rigid and closed execution environment. Not only does this lack of flexibility severely limit the deployment of innovations, but it imposes artificial constraints to application developers. Therefore, many extensions to the JVM have been proposed, each of them dealing with specific limitations, such as emerging devices (mobile phones, smart cards), or constraints (real-time, fault tolerance). It leads to a proliferation of ad hoc solutions requiring the design of new virtual machines. Furthermore, those solutions are still rigid, closed and poorly interoperable.
Concurrent Collection as an Operating System Service for Cross-Runtime Cross-Language Memory Management
"... We present GC-as-a-Service (GaS), a cross-runtime, crosslanguage garbage collection (GC) library that can be used to simplify the implementation of runtime systems, and that exploits available multicore technologies. GaS decouples GC from other runtime components and exposes a fine-grain API for use ..."
Abstract
- Add to MetaCart
We present GC-as-a-Service (GaS), a cross-runtime, crosslanguage garbage collection (GC) library that can be used to simplify the implementation of runtime systems, and that exploits available multicore technologies. GaS decouples GC from other runtime components and exposes a fine-grain API for use by GC-cooperative runtimes of different programming languages for heap memory management. GaS provides concurrent, on-the-fly GC and avoids moving objects for use as a precise or conservative collector. We integrate GaS within production-quality runtime systems for Python and Java. Our experimental evaluation shows that using GaS as an alternative to tightly integrated GC introduces modest overhead and that GaS reduces pause times significantly for Python and Java programs.

