매핑된 파일의 커널 플러시/동기화로 인해 write() 호출이 중단될 수 있습니까?

매핑된 파일의 커널 플러시/동기화로 인해 write() 호출이 중단될 수 있습니까?

mmap나는 (부끄럽게도) 커널이 로 처리된 파일의 더티 페이지를 플러시하는 것을 방지할 방법이 없다는 것을 알고 있으므로 MAP_SHARED제어권을 되찾기 위해 파일을 매핑하고 MAP_PRIVATE플러시하고 싶을 때 다시 mmap사용 MAP_SHARED하고 그런 다음 write개인 지도에서 사용하거나 복사한 memcpy다음 새로 고침을 사용 msync하고 마지막으로 unmap을 사용합니다 munmap. 이제 커널의 플러셔가 내 쓰기를 중단하여 페이지를 두 번째로 동기화하게 만들 수 있는지 궁금합니다 msync(중단된 위치).write

커널 플러셔와 write상호 배제?

그렇지 않은 경우 전체 페이지를 복사할 수 있는 방법이 있습니까? 가상 페이지 포인터를 조작하여 한 페이지의 내용을 다른 페이지로 복사하는 것과 같은가요?

관련 정보