제로카피는 커널에서 유저스페이스로 넘어올때 혹은 그 반대를 얘기하는거지

커널 내의 서브루틴끼리, 유저스페이스 내의 서브루틴끼리 카피하는건 전혀 상관없음


복사 자체는 그다지 비싸지 않음

중요한건 그게 컨텍스트 스위칭 비용을 발생시킨다는거임

복사를 위해선 시스템콜을 호출해야하니까


제로카피는 보통 mmap기반임

프로세스 A <-> 커널 <-> 메시지 버스 <-> 커널 <-> 프로세스 B

이 구조가 아니라

프로세스 A <-(mmap)-> 메시지 버스 <-(카피없이 mmap 주소만 전달)-> 프로세스 B

이 구조를 만들어서 시스템 콜 호출로 인한 무조건적인 컨텍스트 스위칭이 일어나지 않게 하는게 중요한거


추가 버퍼를 쓰냐 마냐는 어떤 처리가 필요하냐 아니면 어떤 API가 제공되냐에 따라 다른거지 프로토콜의 특성이라고는 볼수 없음