운영체제 기본/Linux의 파일 메모리 매핑

운영체제 기본 목차 · 관련 총론: 가상 메모리

read()는 사용자 버퍼로 파일 데이터를 읽어 온다. mmap()은 파일의 범위를 가상 주소 공간에 연결하고, 프로그램은 그 주소를 메모리처럼 읽는다. 매핑을 만드는 시점과 파일 데이터에 실제로 접근하는 시점은 다르다.

Linux v6.12에서 일반 파일을 읽기 전용으로 매핑하는 경로를 다룬다. 파일과 VMA를 연결하는 공통 경로를 설명하고, 시스템 콜과 페이지 폴트 진입은 x86-64와 RISC-V RV64를 비교한다.

읽는 순서

  1. mmap과 주소 공간: 파일을 매핑하는 코드와 커널의 주소 영역 설정.
  2. 첫 접근과 페이지 폴트: 매핑된 주소의 첫 접근에서 파일 데이터를 읽을 수 있게 되기까지.

관련 문서