A Hardware-Software Operating System: Using Heterogeneous Resources through Common Abstractions
Abstract
Current embedded systems are made of multiple heterogeneous devices interconnected. These devices present a great variation of functionality, performance, and interfaces. Therefore, it is difficult to build applications for these platforms. In this paper we present the notion of hardware-software operating systems to increase the abstraction level and to introduce component- based methodologies into hardware-software codesign. We make special emphasis on the use of simple, homogeneous interfaces to hide the inherent complexity of current designs. We show, with a detailed example, that the use of a hardware-software operating system does not imply a significant overhead.