Writing Solaris device drivers in Java

  • Authors:
  • Hiroshi Yamauchi;Mario Wolczko

  • Affiliations:
  • Purdue University, West Lafayette, IN;Sun Microsystems Laboratories, Menlo Park, CA

  • Venue:
  • Proceedings of the 3rd workshop on Programming languages and operating systems: linguistic support for modern operating systems
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

Operating system kernels have been traditionally written in C for flexibility and efficiency. They, however, often suffer from bugs and security vulnerabilities because C is inherently error-prone and unsafe. While there have been attempts to experimentally construct a complete operating system in a type safe language such as Java for higher safety and reliability, such type safe operating systems are not mainstream as yet. In this paper, we present an experimental implementation of the Java Virtual Machine that runs inside the kernel of the Solaris operating system. Our approach is to extend the existing operating system, rather than creating a new operating system from scratch, in order to reap the benefits of a type safe language in the kernel without expensive development and transition cost for a new operating system architecture. We implemented our system by porting an existing small, portable JVM, Squawk, into the Solaris kernel. Our first application of this system is to allow device drivers to be written in Java. A simple device driver was ported from C to Java. Characteristics of the Java device driver and our device driver interface are described.