운영하고 있는 시스템에서 사용한 zero copy 개념을 습득하기에 앞서 I/O에 대한 동작 방식을 이해하기 위해 정리한 글이다. How Java I/O Works Internally at Lower Level?의 내용을 요약한 수준이며 추가로 이해가 필요한 개념들을 다른 문서에서 발췌해서 정리했다. I/O의 기본적인 동작방식 input/output는 버퍼로부터 데이터를 넣고 빼는 것을 의미한다. Process 내부 메모리로 디스크에 저장된 데이터를 가져오는 첫 단계로 read() 시스템 콜을 한다. 그럼 커널은 디스트로부터 데이터를 커널 영역의 버퍼에 넣고 캐싱을 한다. 커널 영역에 있는 데이터를 다시 process가 요청했을 때는 버퍼에 있는 데이터를 전달한다. Virtual Memory Virtua..