<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ko">
	<id>http://junhoahn.kr/noriwiki/index.php?action=history&amp;feed=atom&amp;title=Userfaultfd</id>
	<title>Userfaultfd - 편집 역사</title>
	<link rel="self" type="application/atom+xml" href="http://junhoahn.kr/noriwiki/index.php?action=history&amp;feed=atom&amp;title=Userfaultfd"/>
	<link rel="alternate" type="text/html" href="http://junhoahn.kr/noriwiki/index.php?title=Userfaultfd&amp;action=history"/>
	<updated>2026-04-12T14:04:45Z</updated>
	<subtitle>이 문서의 편집 역사</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>http://junhoahn.kr/noriwiki/index.php?title=Userfaultfd&amp;diff=908&amp;oldid=prev</id>
		<title>Ahn9807: 새 문서: 분류: 리눅스 커널   https://man7.org/linux/man-pages/man2/userfaultfd.2.html  == 개요 == userfaultfd()는 페이지 폴트 처리를 사용자 공간 응용에게 위임하는 데 쓸 수 있는 userfaultfd 객체를 새로 생성하고 그 새 객체를 가리키는 파일 디스크립터를 반환한다. ioctl(2)을 이용해 새 userfaultfd 객체를 설정한다.  userfaultfd를 설정하고 나면 응용에서 read(2)를 사용해 userfaultfd 알림을 수신...</title>
		<link rel="alternate" type="text/html" href="http://junhoahn.kr/noriwiki/index.php?title=Userfaultfd&amp;diff=908&amp;oldid=prev"/>
		<updated>2023-03-16T01:22:54Z</updated>

		<summary type="html">&lt;p&gt;새 문서: &lt;a href=&quot;/noriwiki/index.php?title=%EB%B6%84%EB%A5%98:%EB%A6%AC%EB%88%85%EC%8A%A4_%EC%BB%A4%EB%84%90&quot; title=&quot;분류:리눅스 커널&quot;&gt;분류: 리눅스 커널&lt;/a&gt;   https://man7.org/linux/man-pages/man2/userfaultfd.2.html  == 개요 == userfaultfd()는 페이지 폴트 처리를 사용자 공간 응용에게 위임하는 데 쓸 수 있는 userfaultfd 객체를 새로 생성하고 그 새 객체를 가리키는 파일 디스크립터를 반환한다. ioctl(2)을 이용해 새 userfaultfd 객체를 설정한다.  userfaultfd를 설정하고 나면 응용에서 read(2)를 사용해 userfaultfd 알림을 수신...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[분류: 리눅스 커널]]&lt;br /&gt;
&lt;br /&gt;
 https://man7.org/linux/man-pages/man2/userfaultfd.2.html&lt;br /&gt;
&lt;br /&gt;
== 개요 ==&lt;br /&gt;
userfaultfd()는 페이지 폴트 처리를 사용자 공간 응용에게 위임하는 데 쓸 수 있는 userfaultfd 객체를 새로 생성하고 그 새 객체를 가리키는 파일 디스크립터를 반환한다. ioctl(2)을 이용해 새 userfaultfd 객체를 설정한다.&lt;br /&gt;
&lt;br /&gt;
userfaultfd를 설정하고 나면 응용에서 read(2)를 사용해 userfaultfd 알림을 수신할 수 있다. userfaultfd 읽기는 userfaultfd 생성이나 이어진 fcntl(2) 호출에 사용한 flags 값에 따라 블로킹일 수도 있고 논블로킹일 수도 있다. &amp;lt;ref&amp;gt;https://man7.org/linux/man-pages/man2/userfaultfd.2.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 활용 방안 ==&lt;br /&gt;
# Live snapshot: snapshot을 뜰려고 하는 메모리를 포크가 아닌, 스레드로 만들고, memory write이 발생하면 데이터의 일관성을 위해서 userfaultfd가 write을 따로 핸들하고 다시 돌아가면, 처리한 내용을 바탕으로 diff를 계산할 수 있게 되고 이를 통해서 스레드로 snapshot을 뜰수 있다. &lt;br /&gt;
# Copy-on-write: Live snapshot과 비슷한 활용방안인데, CoW을 구현하기 위해서 운영체제에 의존하는 것이 아니라, user레벨에서 이를 구현하여 활용할 수 있도록 하였다.&lt;br /&gt;
# System robustness: 시스템의 robustness을 위해서, malicious한 프로그램이 특정 memory 영역을 덮어쓰려고 하는 시도를 userlevel에서 감지하여 이 시도를 무력화 시킬 수 있다. &amp;lt;ref&amp;gt;https://lwn.net/Articles/718198/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 참고 ==&lt;/div&gt;</summary>
		<author><name>Ahn9807</name></author>
	</entry>
</feed>