Browsing by Author "Kantee, Antti"
Now showing 1 - 2 of 2
- Results Per Page
- Sort Options
- Flexible Operating System Internals: The Design and Implementation of the Anykernel and Rump Kernels
School of Science | Doctoral dissertation (monograph)(2012) Kantee, AnttiThe monolithic kernel architecture is significant in the real world due to the large amount of working and proven code. However, the architecture is not without problems: testing and development is difficult, virtualizing kernel services can be done only by duplicating the entire kernel, and security is weak due to a single domain where all code has direct access to everything. Alternate kernel architectures such as the microkernel and exokernel have been proposed to rectify these problems with monolithic kernels. However, alternate system structures do not address the common desire of using a monolithic kernel when the abovementioned problems do not apply. We propose a flexible anykernel architecture which enables running kernel drivers in a variety of configurations, examples of which include microkernel-style servers and application libraries. A monolithic kernel is shown to be convertible into an anykernel with a reasonable amount of effort and without introducing performance-hindering indirection layers. The original monolithic mode of operation is preserved after the anykernel adjustments, and alternate modes of operation for drivers are available as a runtime choice. For non-monolithic modes of operation, the rump kernel is introduced as a lightweight container for drivers. A rump kernel runs on top of a hypervisor which offers high-level primitives such as thread scheduling and virtual memory. A production quality implementation for the NetBSD open source OS has been done. The anykernel architecture and rump kernels are evaluated both against four years of real-world experience from daily NetBSD development as well as against synthetic benchmarks. - Using Application-Driven Checkpointing Logic for Hot Spare High Availability
Helsinki University of Technology | Master's thesis(2004) Kantee, AnttiFor critical services, downtime is not an option. The downtime of a service can be addressed by replicating the units which provide the service. However, if the session state is important, it is not enough to simply replicate units: sharing the continuously updated internal state of the units must also be made possible. If execution can be continued on another unit after the point-of-failure without any significant loss of state, the unit is said to have a Hot Spare. Saving the state of a unit so that it can be restored at a later point in time and space is known as check pointing. For the check pointing approach to be a viable option in interactive services, it must not disrupt the normal program operation in any way noticeable to the user. The goal of this work is to present a check pointing facility which can be used in applications where check pointing should and cannot disrupt normal program operation. To accomplish this, the responsibility of taking a checkpoint is left up to the application. The implications are twofold: check pointing will be done at exactly the right time and for exactly the right set of data, but each application must be individually modified to support check pointing. A framework is provided for the application programmer so that it is possible to concentrate on the important issues when adding Hot Spare capabilities: what to checkpoint and when to checkpoint. Check pointing efficiency is further increased by introducing kernel functionality to support incremental checkpoints.