검색 여닫기
검색
메뉴 여닫기
543
253
4
2.1천
noriwiki
둘러보기
대문
최근 바뀜
임의의 문서로
미디어위키 도움말
특수 문서 목록
파일 올리기
환경 설정 메뉴 여닫기
notifications
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.
user-interface-preferences
한국어
개인 도구
로그인
Userfaultfd 문서 원본 보기
noriwiki
문서 공유하기
다른 명령
←
Userfaultfd
문서 편집 권한이 없습니다. 다음 이유를 확인해주세요:
요청한 명령은 다음 권한을 가진 사용자에게 제한됩니다:
사용자
.
문서의 원본을 보거나 복사할 수 있습니다.
[[분류: 리눅스 커널]] https://man7.org/linux/man-pages/man2/userfaultfd.2.html == 개요 == userfaultfd()는 페이지 폴트 처리를 사용자 공간 응용에게 위임하는 데 쓸 수 있는 userfaultfd 객체를 새로 생성하고 그 새 객체를 가리키는 파일 디스크립터를 반환한다. ioctl(2)을 이용해 새 userfaultfd 객체를 설정한다. userfaultfd를 설정하고 나면 응용에서 read(2)를 사용해 userfaultfd 알림을 수신할 수 있다. userfaultfd 읽기는 userfaultfd 생성이나 이어진 fcntl(2) 호출에 사용한 flags 값에 따라 블로킹일 수도 있고 논블로킹일 수도 있다. <ref>https://man7.org/linux/man-pages/man2/userfaultfd.2.html</ref> == 활용 방안 == # Live snapshot: snapshot을 뜰려고 하는 메모리를 포크가 아닌, 스레드로 만들고, memory write이 발생하면 데이터의 일관성을 위해서 userfaultfd가 write을 따로 핸들하고 다시 돌아가면, 처리한 내용을 바탕으로 diff를 계산할 수 있게 되고 이를 통해서 스레드로 snapshot을 뜰수 있다. # Copy-on-write: Live snapshot과 비슷한 활용방안인데, CoW을 구현하기 위해서 운영체제에 의존하는 것이 아니라, user레벨에서 이를 구현하여 활용할 수 있도록 하였다. # System robustness: 시스템의 robustness을 위해서, malicious한 프로그램이 특정 memory 영역을 덮어쓰려고 하는 시도를 userlevel에서 감지하여 이 시도를 무력화 시킬 수 있다. <ref>https://lwn.net/Articles/718198/</ref> == 참고 ==
Userfaultfd
문서로 돌아갑니다.