Results 1 -
4 of
4
A principled approach to operating system construction in Haskell
- In ICFP ’05: Proceedings of the Tenth ACM SIGPLAN International Conference on Functional Programming
, 2005
"... We describe a monadic interface to low-level hardware features that is a suitable basis for building operating systems in Haskell. The interface includes primitives for controlling memory management hardware, user-mode process execution, and low-level device I/O. The interface enforces memory safety ..."
Abstract
-
Cited by 34 (2 self)
- Add to MetaCart
We describe a monadic interface to low-level hardware features that is a suitable basis for building operating systems in Haskell. The interface includes primitives for controlling memory management hardware, user-mode process execution, and low-level device I/O. The interface enforces memory safety in nearly all circumstances. Its behavior is specified in part by formal assertions written in a programming logic called P-Logic. The interface has been implemented on bare IA32 hardware using the Glasgow Haskell Compiler (GHC) runtime system. We show how a variety of simple O/S kernels can be constructed on top of the interface, including a simple separation kernel and a demonstration system in which the kernel, window system, and all device drivers are written in Haskell.
unknown title
"... Abstract We describe a monadic interface to low-level hardware features thatis a suitable basis for building operating systems in Haskell. The interface includes primitives for controlling memory managementhardware, user-mode process execution, and low-level device I/O. The interface enforces memory ..."
Abstract
- Add to MetaCart
Abstract We describe a monadic interface to low-level hardware features thatis a suitable basis for building operating systems in Haskell. The interface includes primitives for controlling memory managementhardware, user-mode process execution, and low-level device I/O. The interface enforces memory safety in nearly all circumstances.Its behavior is specified in part by formal assertions written in a programming logic called P-Logic. The interface has been imple-mented on bare IA32 hardware using the Glasgow Haskell Compiler (GHC) runtime system. We show how a variety of simple O/Skernels can be constructed on top of the interface, including a simple separation kernel and a demonstration system in which the ker-nel, window system, and all device drivers are written in Haskell.
Bounded Frame, Cycle and Large Object Handling in Generational Older-First Garbage Collection
, 2007
"... Over the years, research has been done on several techniques related to garbage collection. Many key insights for copying-based generational garbage collection tech-niques have been revealed. Yet, there is still room for improvement. In this thesis, we introduce various new techniques and algorithms ..."
Abstract
- Add to MetaCart
Over the years, research has been done on several techniques related to garbage collection. Many key insights for copying-based generational garbage collection tech-niques have been revealed. Yet, there is still room for improvement. In this thesis, we introduce various new techniques and algorithms to improve garbage collection. In particular, we introduce the bounded frame marking technique for tracking pointers. This technique allows for efficient computation of the root set. It reuses concepts from two existing techniques, card marking and remembered sets, and uses a bidirectional object layout to improve them by regulating space overhead and reducing the pointer scanning workload. We also present an algorithm to recursively mark reachable objects without using a stack (eliminating the usual space overhead). We adapt this algorithm to implement a depth-first copying collector and increase heap locality. We improve the older-first garbage collection algorithm and its generational variant by adding a mark phase that guarantees the collection of all garbage, including cyclic structures spanning many windows. Finally, we introduce a technique to deal with large objects. In order to test our ideas, we have designed and implemented a portable and extensible garbage collection framework within the SableVM open source Java virtual machine. In it, we have implemented semi-space, older-first, and generational copying garbage collection algorithms. Our experiments show that the bounded frame technique yields competitive performances on many benchmarks. They also show that, for most benchmarks, our depth-first traversal algorithm improves locality and thus increases performance. Our overall performance measurements show that, using our techniques, a garbage collector can deliver competitive performance and surpass existing collectors on various benchmarks.
Non-Stop Java
"... The introduction of multiprocessor multi- and many-core architectures into desktop computers is increasingly commonplace and a roadmap adopted by the majority of chip manufacturers. In response, language implementers are looking to exploit the concurrency and parallelism that these architectures pro ..."
Abstract
- Add to MetaCart
The introduction of multiprocessor multi- and many-core architectures into desktop computers is increasingly commonplace and a roadmap adopted by the majority of chip manufacturers. In response, language implementers are looking to exploit the concurrency and parallelism that these architectures provide. The focus of this exploitation is in the virtual execution environment, the virtual machine, and language’s runtime — primarily

