그야말로 깜놀입니다.
Toward real microkernels 라는 논문을 읽었는데
예전 마이크로커널 디자인을 채택한 Mach 가 느렸던 이유가
IPC가 느려서 그렇다거나 디자인 자체가 구현이 어렵다는 등으로 알고 있었는데
결국 실험 결과를 잘못 분석한 통계적인? 오류였다는 주장을 하고 있습니다.
IPC의 시간을 세부적으로 분석해보니
user-kernel 모드 스위치, 주소 공간이나 캐시 스위치 등등에 대한 시간의 포션이 적고
커널에서 잡아먹는 시간이 훨씬 길었고
조사 결과 커널을 만들때 이전 모노리틱 커널을 그대로 가져와서
디자인만 뜯어고치다보니 커널 코드가 길어져서
결국 커널이 엉망이었다는 결과라고 하네요..
아예 첨부터 다시 커널을 만든 L4 등은 IPC 시간의 차이가 별로 안난다는 결과도 있습니다.