Paul C. H. Lee, Chi-Wei Yang and Ruei-Chuan Chang
The advances in digital technologies have given birth to many applications, which were hard to image in the past decade but are real in current time. For the versatile but specialized applications, general system software in tradition does not perform well to serve their specific demanding requests, because the general approach is designed to concern with most of the general cases. Besides, there exists complex dependency among software components in a traditional system, such that to modify or to reuse software components is not easy for application designers. In this report, the specialized applications that can be benefited from configurable and customized system components are termed as information-appliances. A framework for building up information-appliances efficiently is the body of this report. All the low-level core components that relate to hardware specifications are designed from scratch. The current version is dedicated for Intel 386 or newer processors.The contributions of this report can be illustrated as follows. First, our work supplies a research and development (R&D) platform. Through our work, researchers and designers can build their information-appliance prototypes efficiently that they do not need to implement so many low-level components first just for trying one tiny idea. Second, all the core components are designed modularly and well documented in exported and imported interface. Information-appliance performance can be benefited from this design by dropping any components that are not used by them. In addition, our work supply higher chances for specific management since each component is isolated and independent to others. Application designers can have more controls in behavior of each component. Third, our work includes a wrapper-socket for incorporating Linux X86 device drivers. This specific core component, the wrapper-socket, enables our work to make reuse of the biggest device driver source pool in the world directly. Any new patches or versions about the Linux device driver sources can patch to our framework directly, just with very minor modifications to the wrapper-socket implementation. Finally, the whole core-work is evaluated via empirical measurements. From these experimental results, the experiences about the system buildup, discussions about the device driver architecture impacts to real-time applications are also presented.