Mam program, który mapuje sporo (100) dużych plików po 10-100 MB każdy. Potrzebuję ich wszystkich zmapowanych w tym samym czasie.Czy muszę zachować plik otwarty po wywołaniu mmap na nim?
Obecnie Wołam open
następnie mmap
na początku programu, a następnie munmap
i close
na końcu.
Często muszę dostosować limit otwartych plików, uruchamiając ulimit -n
przed uruchomieniem programu.
Pytanie to zrobić I rzeczywiście trzeba zachować pliki otwarte, czy mogę open
mmap
close
zrobić jakąś dużą przetwarzania danych następnie munmap
kiedy jestem finnished.
Strony podręcznika mmap nie wydają mi się zbyt zrozumiałe.
dlaczego 'proc//fd' nie zawiera informacji o zmapowanych plikach? Czy to dlatego, że 'mmap' jest' syscall', więc te fds są w strukturach danych jądra? _asking dla znajomego_ –
Paschalis