OSDN Git Service

(split) LDP: Translate memory related pages
[linuxjm/LDP_man-pages.git] / draft / man2 / msync.2
index 9d7db2e..34971ff 100644 (file)
@@ -81,15 +81,13 @@ POSIX.1\-2001.
 (\fBsysconf\fP(3)  を参照すること。 )
 .SH 注意
 .\" commit 204ec841fbea3e5138168edbc3a76d46747cc987
-According to POSIX, either \fBMS_SYNC\fP or \fBMS_ASYNC\fP must be specified in
-\fIflags\fP, and indeed failure to include one of these flags will cause
-\fBmsync\fP()  to fail on some systems.  However, Linux permits a call to
-\fBmsync\fP()  that specifies neither of these flags, with semantics that are
-(currently) equivalent to specifying \fBMS_ASYNC\fP.  (Since Linux 2.6.19,
-\fBMS_ASYNC\fP is in fact a no\-op, since the kernel properly tracks dirty pages
-and flushes them to storage as necessary.)  Notwithstanding the Linux
-behavior, portable, future\-proof applications should ensure that they
-specify either \fBMS_SYNC\fP or \fBMS_ASYNC\fP in \fIflags\fP.
+POSIX では \fBMS_SYNC\fP と \fBMS_ASYNC\fP のいずれかは必ず \fIflags\fP に指定しなければならないとされており、
+実際にこれらのフラグのいずれかを指定しなかった場合 \fBmsync\fP() が失敗するシステムもある。 しかし、 Linux
+ではこれらのフラグのいずれも指定せずに \fBmsync\fP() を呼び出すことができ、 その場合の動作は (現在のところ) \fBMS_ASYNC\fP
+を指定した場合と等価である。 (Linux 2.6.19 以降では \fBMS_ASYNC\fP は実際には no\-op (何もしない命令) である。
+これはカーネルが正しく dirty ページを追跡し、必要に応じてストレージにそれらをフラッシュするからである。) Linux
+の動作に関係なく、アプリケーションの移植性を考慮し、将来も確実に動くようにするには、 \fBMS_SYNC\fP か \fBMS_ASYNC\fP のいずれかを必ず
+\fIflags\fP に指定するようにすべきである。
 .SH 関連項目
 \fBmmap\fP(2)