Design of an Application-Specific Microkernel Operating System

博士 === 國立臺灣大學 === 資訊工程學研究所 === 87 === In this thesis, we present the Noza design. Noza is a new operating system that is designed specifically to meet the needs of application-specific systems. Application-specific systems are typically small, cost-sensitive, resource-constrained, and of special pur...

Full description

Bibliographic Details
Main Authors: Wei-Chao Kao, 高偉超
Other Authors: Jie-Yong Juang
Format: Others
Language:zh-TW
Published: 1999
Online Access:http://ndltd.ncl.edu.tw/handle/66764778792490754694
Description
Summary:博士 === 國立臺灣大學 === 資訊工程學研究所 === 87 === In this thesis, we present the Noza design. Noza is a new operating system that is designed specifically to meet the needs of application-specific systems. Application-specific systems are typically small, cost-sensitive, resource-constrained, and of special purpose. Examples include smart phones, portable computers, digital electronics, set-top box, cameras, network access terminals, or dedicated file servers. In addition to the ease-of-use requirements, these application-specific systems share two major technical characteristics: specialization and diversity. While each individual system is application-specific, their union spans a wide range of functionality. We adopt the microkernel technology to cope with the design issues of diverse functionality of application-specific systems. Besides modularity, the microkernel architecture also implies two strengths for the system design. First, in most cases, it is possible the kernel does not have to be modified or extended any more in building a new system. Second, software specialization for application requirements is not limited to the kernel-internal frameworks. To further substantiate these two strengths, Noza employs four distinctive methods. First, the single address space model is adopted to reduce IPC overheads. Second, reduced execution environments are implemented by using a degenerated process model that evolves to the migrating thread model. The reduced execution environment also provides a simple capability protection model and a comprehensive inter-module procedure call facility, i.e., long procedure call (LPC). Third, the differentiation of trusted program modules and distrusted program modules reflects practical software constructions and allows flexible software specialization. Fourth, I/O hardware resources are defensively exposed to user-level applications. We have implemented a workable version of the Noza kernel. Based on the kernel, an out-of-kernel I/O system is built. To demonstrate the capability and flexibility of the kernel, we port CAVA that is a window-based GUI operating environment from 32-bit DOS extender to the Noza kernel. The result shows that the Noza kernel can efficiently be used to realize application-specific systems.