Hau-Yang Cheng, Yunn-Yen and Chung-Ta King
Department of Computer Science
National Tsing Hua University
Hsinchu, Taiwan 300, R.O.C.
This paper discusses the issues involved in supporting fast I/O operations using multithreaded microkernels. For microkernels, most of the I/O operations are performed by system servers running at the user level. Thus, we concentrate in this paper on the design of system servers for I/O. Multithreading in such microkernels provides the extra functionality in a server of being able to serve more than one client at a time with minimum management overhead. The effectiveness of multithreaded servers for I/O operations are studied, and the characteristics and design issues of multithreaded and single-threaded servers are discussed. The performance of a file I/O server implemented based on these two strategies on top of the Mach microkernel is examined. The experiments show that a multithreaded server with careful design will achieve better performance and resource utilization in environments in which functional units, such as CPU and I/O devices, can operate concurrently.
Keywords: mircokernel, thread, Mach, file I/O server, resource utilization
Received March 26, 1994; revised December 9, 1994.
Communicated by Chuan-lin Wu.
*This paper is a revised version of "The Design and Performance Study of File I/O Servers on MACH," by H.Y. Cheng, Y.Y. Cheng and C.T. King, witch appeared in Proc. 1992 International computer symposium, Dec. 1992, pp.576-583.