Designing Microkernel IPC
이 글은 마이크로커널 운영체제에서 핵심적인 역할을 하는 프로세스 간 통신(IPC) 설계에 대해 다룹니다. FTL OS의 IPC 설계 경험을 바탕으로 동기식과 비동기식 IPC의 장단점, 데드락 문제 해결을 위한 알림(notify) 메커니즘, 그리고 IDL 기반 메시지 정의와 FTL의 No-IDL 설계 방식을 비교 설명합니다. 특히 FTL은 Plan 9의 철학을 재발견하며, 메시지 직렬화 비용을 없애고 간결한 시스템 호출 인터페이스를 구현한 점이 특징입니다. 또한, 푸시(push) 방식 대신 풀(pull) 방식을 채택해 백프레셔 문제를 완화하는 점도 강조합니다.





