>>514
Windowsに関して言えば、APIは必ずしもシステムコールではないので
API呼んだら常にコンテキストスイッチが発生してカーネルモードの
コードが走るとは限らない
いちいちカーネルモードに遷移しないAPIの典型例は
CriticalSectionやInterlocked系のAPI

現に今のMSVCのmalloc()はHeapAlloc()を使うような実装になっていたと思うよ
HeapAlloc()は内部的にVirtualAlloc()呼ぶときだけカーネルに頼ってる
んじゃないのかな、たぶん