Abstract
Microkernel approach restructures the existing operating system by removing all nonessential
components from the kernel and implementing them as user-level programs. The main function of the
microkernel is to provide a communication facility, such as inter-process communication (IPC), between the
client program and the various services that are also running in user space. Since IPC occurs very often in
microkernel, the performance of IPC highly affects the overall performance of the system. The performance of
IPC decreases tremendously when there are many threads in ready state because many threads need to execute
before IPC receiver thread begins. One of solutions to this problem is direct thread switching, which schedules
the receiver thread immediately after the sender thread send a data. In this paper, we implemented synchronous
IPC for microkernel and adopted direct thread switching to improve IPC performance. Carrying out extensive
performance measurement studies, we showed that direct thread switching enormously improves the
performance of IPC.