¿Cuándo se carga el archivo en la memoria, para llamadas de fread, fopen y fwrite?

Cuando hago un fopen y luego un fread, ¿cuándo se carga el archivo realmente / parcialmente en la memoria durante el fopen o el fread?

¿O se carga parcialmente en fopen según el tamaño del archivo y luego se carga completamente en el momento del fread?

Similarmente, ¿qué sucede internamente a nivel del sistema operativo cuando se llama a fwrite? ¿El archivo está cargado en la memoria en ese momento, o se produce un cambio de página recuperando solo esa parte del archivo en la memoria?

¿Qué sucede a nivel del sistema operativo en cada una de estas llamadas con respecto a la carga de archivos en la memoria?