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.