1. 서론시스템 프로그래밍 수업을 통해 표준 I/O 라이브러리의 등장 배경을 학습하게 되었다. 이는 시스템 콜을 직접적으로 사용할 때 발생하는 성능 저하를 개선하기 위함이다. 이 문제의 원인을 깊이 이해하면 데이터베이스 등 다양한 I/O 작업과 관련된 코드를 작성할때 도움이 될 것 같아 정리를 하게 되었다.2. 시스템 콜을 직접 사용할때 문제2.1 Alignment 문제Alignment 문제는 운영체제가 파일을 Block 단위로 I/O하기 때문에 발생하는 문제이다. 대부분의 파일 시스템과 디스크는 블록(Block) 단위로 데이터를 읽고 쓰며, 그 단위는4KB 또는 그 배수이다. 즉 프로그래머가 임의의 버퍼에 read 혹은 write 하라는 코드를 작성하면 이 버퍼의 시작 주소 및 크기가 Block의 시작..