Observe que o mmap (2) geralmente deseja um descritor de arquivo geralmente fornecido por aberto (2) ; Nesse sentido, open
é mais fundamental. Observe também que o espaço de endereçamento virtual de alguns processo é modificado não apenas por mmap
, munmap
, mprotect (2) mas também por outras chamadas de sistema (incluindo execve(2) ; veja também shm_overview (7) )
BTW, o kernel do Linux não usa mmap
ou open
, mas os fornece e implementa (para nível de aplicativo user-space programs).
Mas o kernel Linux gerencia os cache de páginas que é mais fundamental e relacionado a ambas chamadas de sistema . Veja também LinuxAteMyRam e considere talvez usando madvise (2) , posix_fadvise ( 2) , readahead (2) para dar dicas sobre o cache da página subsistema.
whether these two system calls are fundamentally different
Todas as chamadas do sistema (listadas em syscalls (2) ...) são diferente.
Leia também Programação Avançada em Linux e Sistemas Operacionais: Três Peças Fáceis (ambas podem ser baixadas gratuitamente).