Results 1 - 10
of
10
Unmodified device driver reuse and improved system dependability via virtual machines
- In Proceedings of the 6th Symposium on Operating Systems Design and Implementation
, 2004
"... We propose a method to reuse unmodified device drivers and to improve system dependability using virtual machines. We run the unmodified device driver, with its original operating system, in a virtual machine. This approach enables extensive reuse of existing and unmodified drivers, independent of t ..."
Abstract
-
Cited by 82 (8 self)
- Add to MetaCart
We propose a method to reuse unmodified device drivers and to improve system dependability using virtual machines. We run the unmodified device driver, with its original operating system, in a virtual machine. This approach enables extensive reuse of existing and unmodified drivers, independent of the OS or device vendor, significantly reducing the barrier to building new OS endeavors. By allowing distinct device drivers to reside in separate virtual machines, this technique isolates faults caused by defective or malicious drivers, thus improving a system’s dependability. We show that our technique requires minimal support infrastructure and provides strong fault isolation. Our prototype’s network performance is within 3–8 % of a native Linux system. Each additional virtual machine increases the CPU utilization by about 0.12%. We have successfully reused a wide variety of unmodified Linux network, disk, and PCI device drivers. 1
HiPEC: High Performance External Virtual Memory Caching
, 1994
"... Traditional operating systems use a fixed LRU-like page replacement policy and centralized frame pool that cannot properly serve all types of memory access patterns of various applications. As a result, many memory-intensive applications, such as databases, multimedia applications and scientific sim ..."
Abstract
-
Cited by 44 (1 self)
- Add to MetaCart
Traditional operating systems use a fixed LRU-like page replacement policy and centralized frame pool that cannot properly serve all types of memory access patterns of various applications. As a result, many memory-intensive applications, such as databases, multimedia applications and scientific simulators, induce excessive page faults and page replacement when running on top of existing operating systems. This paper presents a High Performance External virtual memory Caching mechanism (HiPEC) to provide applications with their own specific page replacement management. The user specific policy, programmed in the HiPEC command set, is stored in user address space. When a page fault occurs, the kernel fetches and interprets the corresponding policy commands to perform the user-specific page replacement management. Experimental results show that HiPEC induces little overhead and can significantly improve performance for memory-intensive applications. 1 Introduction Though technological a...
User-level Device Drivers: Achieved Performance
- Journal of Computer Science and Technology
, 2005
"... Running device drivers as unprivileged user-level code, encapsulated into their own process, has often been proposed as a technique for increasing system robustness. ..."
Abstract
-
Cited by 34 (9 self)
- Add to MetaCart
Running device drivers as unprivileged user-level code, encapsulated into their own process, has often been proposed as a technique for increasing system robustness.
The Fluke Device Driver Framework
, 1999
"... Providing efficient device driver support in the Fluke operating system presents novel challenges, which stem from two conflicting factors: (i) a design and maintenance requirement to reuse unmodified legacy device drivers, and (ii) the mismatch between the Fluke kernel's internal execution environm ..."
Abstract
-
Cited by 9 (0 self)
- Add to MetaCart
Providing efficient device driver support in the Fluke operating system presents novel challenges, which stem from two conflicting factors: (i) a design and maintenance requirement to reuse unmodified legacy device drivers, and (ii) the mismatch between the Fluke kernel's internal execution environment and the execution environment expected by these legacy device drivers. This thesis presents a solution to this conflict: a framework whose design is based on running device drivers as usermode servers, which resolves the fundamental execution environment mismatch. This approach
Efficient Sleep/Wake-up Protocols for User-Level IPC
- In: International Conference on Parallel Processing
, 1998
"... We present a new facility for cross-address space IPC that exploits queues in memory shared between the client and server address space. The facility employs only widely available operating system mechanisms, and is hence easily portable to different commercial operating systems. It incorporates blo ..."
Abstract
-
Cited by 4 (0 self)
- Add to MetaCart
We present a new facility for cross-address space IPC that exploits queues in memory shared between the client and server address space. The facility employs only widely available operating system mechanisms, and is hence easily portable to different commercial operating systems. It incorporates blocking semantics to avoid wasting processor cycles, and still achieves almost twice the throughput of the native kernelmediated IPC facilities on SGI and IBM uniprocessors. In addition, we demonstrate significantly higher performance gains on an SGI multiprocessor. We argue that co-operating tasks will be better served if the operating system is aware of the co-operation, and propose an interface for a hand-off scheduling mechanism. Finally, we report initial performance results from a Linux implementation of our proposal. 1 Introduction The performance of Inter-Process Communication (IPC) is crucial to many applications. For this reason, there has been a great deal of research into develop...
Initial Evaluation of a User-Level Device Driver Framework
- IN 9TH ASIA-PACIFIC COMPUTER SYSTEMS ARCHITECTURE CONFERENCE
, 2004
"... Device drivers are a significant source of system instability. In this paper ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
Device drivers are a significant source of system instability. In this paper
Binary Device Driver Reuse
"... Hiermit erkläre ich, die vorliegende Arbeit selbständig verfaßt und keine anderen als die angegebenen Literaturhilfsmittel verwendet zu haben. I hereby declare that this thesis is a work of my own, and that only cited sources have been used. Karlsruhe, den 22. März 2007 ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Hiermit erkläre ich, die vorliegende Arbeit selbständig verfaßt und keine anderen als die angegebenen Literaturhilfsmittel verwendet zu haben. I hereby declare that this thesis is a work of my own, and that only cited sources have been used. Karlsruhe, den 22. März 2007
Network performance in Arena, a customisable
"... This paper describes the provision of networking facilities in a customisable operating system called Arena. Customisable operating systems allow applications to determine their own resource management, so that an application can execute optimally on a particular architecture. On distributed arc ..."
Abstract
- Add to MetaCart
This paper describes the provision of networking facilities in a customisable operating system called Arena. Customisable operating systems allow applications to determine their own resource management, so that an application can execute optimally on a particular architecture. On distributed architectures there are opportunities for tailoring message passing, virtual shared memory and distributed persistent store abstractions for particular applications. However, in all these cases, the eciency of the network management is a critical determinant of performance. Arena seeks to balance exible distributed resource management with ecient network handling. Arena provides an optimised form of network message transfer which avoids unnecessary copying, and allows the application control over the processing of the message. Performance gures are given for Arena network transfer on a distributed store multicomputer, and are compared with results from a microkernel-based operating system on the same hardware.
Network performance in Arena
- Proceedings of High Performance Computing and Networking, Europe. Lecture Notes in Computer Science
, 1996
"... This paper describes the mechanisms used in the Arena customisable operating system (Mayes et al, 1994) to support exible and ecient network handling on a distributed store multicomputer. In order to gain some relative measure of the costs of exibility in the Arena event handling mechanism, Arena ..."
Abstract
- Add to MetaCart
This paper describes the mechanisms used in the Arena customisable operating system (Mayes et al, 1994) to support exible and ecient network handling on a distributed store multicomputer. In order to gain some relative measure of the costs of exibility in the Arena event handling mechanism, Arena network data transfer performance has been compared with that of a microkernel
Device driver reuse via virtual machines
, 2009
"... Device drivers constitute a significant portion of an operating system’s source code. The effort to develop a new driver set is a sobering hurdle to the pursuit of novel operating system ventures. A practical solution is to reuse drivers, but this can contradict design goals in a new operating syste ..."
Abstract
- Add to MetaCart
Device drivers constitute a significant portion of an operating system’s source code. The effort to develop a new driver set is a sobering hurdle to the pursuit of novel operating system ventures. A practical solution is to reuse drivers, but this can contradict design goals in a new operating system. We offer a new approach to device-driver reuse, with a focus on promoting novel operating-system construction, which insulates the new operating system from the invariants of the reused drivers, while also addressing development effort. Our solution runs the drivers along with their original operating systems inside virtual machines, with some minor reuse infrastructure added to the driver’s operating system to interface with the rest of the system. This approach turns the drivers into de-privileged applications of the new operating system, which separates their architectures and reduces cross-influences, and improves system dependability. Virtual machines help reuse drivers, but they also penalize performance. The known solution for improving virtual machine performance, para-virtualization, modifies the operating system to run on a hypervisor, which has an enormous cost:

