The Apertos reflective operating system: the concept and its implementation
OOPSLA '92 conference proceedings on Object-oriented programming systems, languages, and applications
Designing and implementing Choices: an object-oriented system in C++
Communications of the ACM
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
The design and evolution of C++
The design and evolution of C++
An improved algorithm for identifying objects in code
Software—Practice & Experience
Latest developments in operating systems
Communications of the ACM
Message filters for object-oriented systems
Software—Practice & Experience
SIGMETRICS '97 Proceedings of the 1997 ACM SIGMETRICS international conference on Measurement and modeling of computer systems
Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects
Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects
Design goals of object-oriented wrappers for the Mach microkernel
COMPCON '95 Proceedings of the 40th IEEE Computer Society International Conference
Finding objects in procedural programs: an alternative approach
WCRE '95 Proceedings of the Second Working Conference on Reverse Engineering
Categorization of Common Coupling and Its Application to the Maintainability of the Linux Kernel
IEEE Transactions on Software Engineering
Journal of Systems and Software
Cohesion Analysis in Linux Kernel
APSEC '06 Proceedings of the XIII Asia Pacific Software Engineering Conference
OSDI'04 Proceedings of the 6th conference on Symposium on Opearting Systems Design & Implementation - Volume 6
Message filters for hardening the Linux kernel
Software—Practice & Experience
Hi-index | 0.00 |
Linux is an open-source operating system, which has increased in its popularity and size since its birth. Various studies have been conducted in literature on the evolution of the Linux kernel, which have shown that there are considerable maintenance problems arising out of the coupling issues in the Linux kernel and this may hamper the evolution of the kernel in future. We propose an object-oriented (OO) wrapper-based approach to Linux kernel to provide OO abstractions to external modules. As the major growth of the size of the Linux kernel is in device drivers, our approach provides substantial benefits in terms of developing the device drivers in C++, although the kernel is in C. Providing reusability and extensibility features to device drivers improves the maintainability of the kernel. The OO wrappers provide several benefits to module developers in terms of understandability, development ease, support for OO modules, etc. The design and implementation of C++ wrappers for Linux kernel and the performance of a device driver re-engineered in C++ are presented in this paper. Copyright © 2008 John Wiley & Sons, Ltd.