An Implementation Of IPC Using Direct Thread Switching

Authors

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.