Porting operating systems to a virtualization layer produces a semantic gap because the assumptions that guest OSes rely on may not be ensured. On multi-core environments, this gap can cause the fatal performance degradations. The lock holder preemption (LHP) problem is a well known example of the sources of the performance degradation. It occurs when a thread holding a spin lock in an OS kernel is preempted by other OS kernels. Some previous proposals can avoid this problem, but none of them cares about the real-time responsiveness of guest OSes. Therefore the approaches are not suitable for embedded systems. We have developed a new technique for avoiding the LHP problem. The approach can ensure both the real-time responsiveness of RTOS and the high throughput of GPOS that supports shared memory multi-processors. This paper introduces the basic approach of our new technique and its experimental results. The results show that our new technique can make RTOS and GPOS coexist without degrading the real-time latency and is suitable to be applied to modern high performance multi-core processor based real-time embedded systems.