OSDN Git Service

長音記号の修正を release に反映
[linuxjm/LDP_man-pages.git] / release / man2 / open.2
index e822f47..ead17de 100644 (file)
@@ -80,7 +80,7 @@
 .\" Updated 2013-05-06, Akihiro MOTOKI <amotoki@gmail.com>
 .\" Updated 2013-08-16, Akihiro MOTOKI <amotoki@gmail.com>
 .\"
-.TH OPEN 2 2014\-12\-31 Linux "Linux Programmer's Manual"
+.TH OPEN 2 2015\-01\-22 Linux "Linux Programmer's Manual"
 .SH 名前
 open, openat, creat \- ファイルのオープン、作成を行う
 .SH 書式
@@ -116,21 +116,21 @@ _ATFILE_SOURCE
 .ad
 .PD
 .SH 説明
-ファイルの \fIpathname\fP を与えると、 \fBopen\fP()  はファイルディスクリプタを返す。
-ファイルディスクリプタは、この後に続くシステムコール (\fBread\fP(2), \fBwrite\fP(2), \fBlseek\fP(2),
-\fBfcntl\fP(2) など)  で使用される小さな非負の整数である。 このシステムコールが成功した場合に返されるファイルディスクリプタは
-そのプロセスがその時点でオープンしていないファイルディスクリプタの うち最小の数字のものとなる。
\83\95ã\82¡ã\82¤ã\83«ã\81® \fIpathname\fP ã\82\92ä¸\8eã\81\88ã\82\8bã\81¨ã\80\81 \fBopen\fP()  ã\81¯ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\82\92è¿\94ã\81\99ã\80\82
\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81¯ã\80\81ã\81\93ã\81®å¾\8cã\81«ç¶\9aã\81\8fã\82·ã\82¹ã\83\86ã\83 ã\82³ã\83¼ã\83« (\fBread\fP(2), \fBwrite\fP(2), \fBlseek\fP(2),
+\fBfcntl\fP(2) ã\81ªã\81©)  ã\81§ä½¿ç\94¨ã\81\95ã\82\8cã\82\8bå°\8fã\81\95ã\81ªé\9d\9eè² ã\81®æ\95´æ\95°ã\81§ã\81\82ã\82\8bã\80\82 ã\81\93ã\81®ã\82·ã\82¹ã\83\86ã\83 ã\82³ã\83¼ã\83«ã\81\8cæ\88\90å\8a\9fã\81\97ã\81\9få ´å\90\88ã\81«è¿\94ã\81\95ã\82\8cã\82\8bã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81¯
\81\9dã\81®ã\83\97ã\83­ã\82»ã\82¹ã\81\8cã\81\9dã\81®æ\99\82ç\82¹ã\81§ã\82ªã\83¼ã\83\97ã\83³ã\81\97ã\81¦ã\81\84ã\81ªã\81\84ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81® ã\81\86ã\81¡æ\9c\80å°\8fã\81®æ\95°å­\97ã\81®ã\82\82ã\81®ã\81¨ã\81ªã\82\8bã\80\82
 .PP
-デフォルトでは、新しいファイルディスクリプタは \fBexecve\fP(2) を実行した後も
\83\87ã\83\95ã\82©ã\83«ã\83\88ã\81§ã\81¯ã\80\81æ\96°ã\81\97ã\81\84ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81¯ \fBexecve\fP(2) ã\82\92å®\9fè¡\8cã\81\97ã\81\9få¾\8cã\82\82
 オープンされたままとなる (つまり、 \fBfcntl\fP(2) に説明がある \fBFD_CLOEXEC\fP
-ファイルディスクリプタフラグは最初は無効である); 後述の \fBO_CLOEXEC\fP フラグ
\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\83\95ã\83©ã\82°ã\81¯æ\9c\80å\88\9dã\81¯ç\84¡å\8a¹ã\81§ã\81\82ã\82\8b); å¾\8cè¿°ã\81® \fBO_CLOEXEC\fP ã\83\95ã\83©ã\82°
 を使うとこのデフォルトを変更することができる。 ファイルオフセット
 (file offset) はファイルの先頭に設定される (\fBlseek\fP(2) 参照)。
 .PP
 \fBopen\fP()  を呼び出すと、「オープンファイル記述」 \fI(open file description)\fP
-が作成される。ファイル記述とは、システム全体のオープン中のファイルのテーブルのエントリである。
\81\8cä½\9cæ\88\90ã\81\95ã\82\8cã\82\8bã\80\82ã\83\95ã\82¡ã\82¤ã\83«è¨\98è¿°ã\81¨ã\81¯ã\80\81ã\82·ã\82¹ã\83\86ã\83 å\85¨ä½\93ã\81®ã\82ªã\83¼ã\83\97ã\83³ä¸­ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\81®ã\83\86ã\83¼ã\83\96ã\83«ã\81®ã\82¨ã\83³ã\83\88ã\83ªã\83¼ã\81§ã\81\82ã\82\8bã\80\82
 このオープンファイル記述は、ファイルオフセットとファイル状態フラグ (下記参照) が保持する。
-ファイルディスクリプタはオープンファイルっ記述への参照である。 この後で \fIpathname\fP
\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81¯ã\82ªã\83¼ã\83\97ã\83³ã\83\95ã\82¡ã\82¤ã\83«ã\81£è¨\98è¿°ã\81¸ã\81®å\8f\82ç\85§ã\81§ã\81\82ã\82\8bã\80\82 ã\81\93ã\81®å¾\8cã\81§ \fIpathname\fP
 が削除されたり、他のファイルを参照するように変更されたりしても、 この参照は影響を受けない。 オープンファイル記述の詳細な説明は「注意」の節を参照。
 .PP
 引き数 \fIflags\fP には、アクセスモード \fBO_RDONLY\fP, \fBO_WRONLY\fP, \fBO_RDWR\fP
@@ -162,31 +162,31 @@ flag) を 0 個以上「ビット単位の OR (bitwise\-or)」で 指定する
 .\" http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=453946
 .\" http://nfs.sourceforge.net/
 ファイルを追加 (append) モードでオープンする。 毎回の \fBwrite\fP(2)  の前に \fBlseek\fP(2)
-を行ったかのように、ファイルポインタをファイルの最後に移動する。 NFS ファイルシステムで、 \fBO_APPEND\fP
\82\92è¡\8cã\81£ã\81\9fã\81\8bã\81®ã\82\88ã\81\86ã\81«ã\80\81ã\83\95ã\82¡ã\82¤ã\83«ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\82\92ã\83\95ã\82¡ã\82¤ã\83«ã\81®æ\9c\80å¾\8cã\81«ç§»å\8b\95ã\81\99ã\82\8bã\80\82 NFS ã\83\95ã\82¡ã\82¤ã\83«ã\82·ã\82¹ã\83\86ã\83 ã\81§ã\80\81 \fBO_APPEND\fP
 を使用すると、複数のプロセスがひとつのファイルに同時にデータを追加した場合、 ファイルが壊れてしまうことがある。 これは NFS
 が追加モードをサポートしていないため、 クライアントのカーネル (kernel) がそれをシミュレートしなければならないのだが、
 競合状態を避けることはできないからである。
 .TP 
 \fBO_ASYNC\fP
-シグナル駆動 I/O (signal\-driven I/O) を有効にする: このファイルディスクリプタへの
\82·ã\82°ã\83\8aã\83«é§\86å\8b\95 I/O (signal\-driven I/O) ã\82\92æ\9c\89å\8a¹ã\81«ã\81\99ã\82\8b: ã\81\93ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81¸ã\81®
 入力または出力が可能になった場合に、シグナルを生成する (デフォルトは \fBSIGIO\fP であるが、 \fBfcntl\fP(2)
 によって変更可能である)。 この機能が使用可能なのは端末、疑似端末、ソケットのみであり、 (Linux 2.6 以降では) パイプと FIFO
 に対しても使用できる。 さらに詳しい説明は \fBfcntl\fP(2)  を参照すること。 下記の「バグ」も参照。
 .TP 
 \fBO_CLOEXEC\fP (Linux 2.6.23 以降)
 .\" NOTE! several other man pages refer to this text
-新しいファイルディスクリプタに対して close\-on\-exec フラグを有効にする。 このフラグを指定することで、 プログラムは
\96°ã\81\97ã\81\84ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81«å¯¾ã\81\97ã\81¦ close\-on\-exec ã\83\95ã\83©ã\82°ã\82\92æ\9c\89å\8a¹ã\81«ã\81\99ã\82\8bã\80\82 ã\81\93ã\81®ã\83\95ã\83©ã\82°ã\82\92æ\8c\87å®\9aã\81\99ã\82\8bã\81\93ã\81¨ã\81§ã\80\81 ã\83\97ã\83­ã\82°ã\83©ã\83 ã\81¯
 \fBFD_CLOEXEC\fP フラグをセットするために \fBfcntl\fP(2) \fBF_SETFD\fP 操作を別途呼び出す必要がなくなる。
 
 .\" This flag fixes only one form of the race condition;
 .\" The race can also occur with, for example, descriptors
 .\" returned by accept(), pipe(), etc.
 ある種のマルチスレッドのプログラムはこのフラグの使用は不可欠である点に注意すること。 なぜなら、個別に \fBFD_CLOEXEC\fP フラグを設定する
-\fBfcntl\fP(2) \fBF_SETFD\fP 操作を呼び出したとしても、あるスレッドがファイルディスクリプタを オープンするのと同時に別のスレッドが
+\fBfcntl\fP(2) \fBF_SETFD\fP æ\93\8dä½\9cã\82\92å\91¼ã\81³å\87ºã\81\97ã\81\9fã\81¨ã\81\97ã\81¦ã\82\82ã\80\81ã\81\82ã\82\8bã\82¹ã\83¬ã\83\83ã\83\89ã\81\8cã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\82\92 ã\82ªã\83¼ã\83\97ã\83³ã\81\99ã\82\8bã\81®ã\81¨å\90\8cæ\99\82ã\81«å\88¥ã\81®ã\82¹ã\83¬ã\83\83ã\83\89ã\81\8c
 \fBfork\fP(2) と \fBexecve\fP(2) を実行するという競合条件を避けるのには十分ではないからである。
-実行の順序に依存して、この競合条件の結果、 \fBopen\fP() が返したファイルディスクリプタが \fBfork\fP(2)
+å®\9fè¡\8cã\81®é \86åº\8fã\81«ä¾\9då­\98ã\81\97ã\81¦ã\80\81ã\81\93ã\81®ç«¶å\90\88æ\9d¡ä»¶ã\81®çµ\90æ\9e\9cã\80\81 \fBopen\fP() ã\81\8cè¿\94ã\81\97ã\81\9fã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81\8c \fBfork\fP(2)
 で作成された子プロセスにより実行されるプログラムに意図せず見えてしまう可能性がある。 (この種の競合は、 本質的に、 close\-on\-exec
-フラグをセットすべきファイルディスクリプタを作成するどのシステムコールでも起こり得るものであり、 他のいろいろな Linux
\83\95ã\83©ã\82°ã\82\92ã\82»ã\83\83ã\83\88ã\81\99ã\81¹ã\81\8dã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\82\92ä½\9cæ\88\90ã\81\99ã\82\8bã\81©ã\81®ã\82·ã\82¹ã\83\86ã\83 ã\82³ã\83¼ã\83«ã\81§ã\82\82èµ·ã\81\93ã\82\8aå¾\97ã\82\8bã\82\82ã\81®ã\81§ã\81\82ã\82\8aã\80\81 ä»\96ã\81®ã\81\84ã\82\8dã\81\84ã\82\8dã\81ª Linux
 システムコールでこの問題に対処するために \fBO_CLOEXEC\fP と同等の機能が提供されている。)
 .TP 
 \fBO_CREAT\fP
@@ -203,7 +203,7 @@ flag) を 0 個以上「ビット単位の OR (bitwise\-or)」で 指定する
 も指定されていない場合、 \fImode\fP は無視される。 有効なアクセス許可は、普段と同じようにプロセスの \fIumask\fP
 によって修正され、作成されたファイルの許可は \fI(mode\ &\ ~umask)\fP となる。
 このモードは、新しく作成されたファイルに対するそれ以降のアクセス にのみ適用される点に注意すること。 読み取り専用のファイルを作成する
-\fBopen\fP()  コールであっても、 読み書き可能なファイルディスクリプタを返すことがありうる。
+\fBopen\fP()  ã\82³ã\83¼ã\83«ã\81§ã\81\82ã\81£ã\81¦ã\82\82ã\80\81 èª­ã\81¿æ\9b¸ã\81\8då\8f¯è\83½ã\81ªã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\82\92è¿\94ã\81\99ã\81\93ã\81¨ã\81\8cã\81\82ã\82\8aã\81\86ã\82\8bã\80\82
 .PP
 \fImode\fP のために以下のシンボル定数が提供されている :
 .TP  9
@@ -246,12 +246,12 @@ flag) を 0 個以上「ビット単位の OR (bitwise\-or)」で 指定する
 .TP 
 \fBO_DIRECT\fP (Linux 2.4.10 以降)
 このファイルに対する I/O のキャッシュの効果を最小化しようとする。このフラグを使うと、一般的に性能が低下する。
-しかしアプリケーションが独自にキャッシングを行っているような 特別な場合には役に立つ。 ファイルの I/O はユーザー空間バッファに対して直接行われる。
-\fBO_DIRECT\fP フラグ自身はデータを同期で転送しようとはするが、 \fBO_SYNC\fP
+しかしアプリケーションが独自にキャッシングを行っているような 特別な場合には役に立つ。 ファイルの I/O
+はユーザー空間バッファーに対して直接行われる。 \fBO_DIRECT\fP フラグ自身はデータを同期で転送しようとはするが、 \fBO_SYNC\fP
 フラグのようにデータと必要なメタデータの転送が保証されるわけではない。同期 I/O を保証するためには、 \fBO_DIRECT\fP に加えて
 \fBO_SYNC\fP を使用しなければならない。下記の「注意」の節の議論も参照。
 .sp
-ブロックデバイスに対する似通った意味のインターフェースが \fBraw\fP(8)  で説明されている (但し、このインタフェースは非推奨である)。
\83\96ã\83­ã\83\83ã\82¯ã\83\87ã\83\90ã\82¤ã\82¹ã\81«å¯¾ã\81\99ã\82\8bä¼¼é\80\9aã\81£ã\81\9fæ\84\8få\91³ã\81®ã\82¤ã\83³ã\82¿ã\83¼ã\83\95ã\82§ã\83¼ã\82¹ã\81\8c \fBraw\fP(8)  ã\81§èª¬æ\98\8eã\81\95ã\82\8cã\81¦ã\81\84ã\82\8b (ä½\86ã\81\97ã\80\81ã\81\93ã\81®ã\82¤ã\83³ã\82¿ã\83¼ã\83\95ã\82§ã\83¼ã\82¹ã\81¯é\9d\9eæ\8e¨å¥¨ã\81§ã\81\82ã\82\8b\80\82
 .TP 
 \fBO_DIRECTORY\fP
 .\" But see the following and its replies:
@@ -296,7 +296,7 @@ PID を組み合わせた名前) を作成し、 \fBlink\fP(2)  を使用して
 .TP 
 \fBO_LARGEFILE\fP
 (LFS) \fIoff_t\fP ではサイズを表せない (だだし \fIoff64_t\fP ではサイズを表せる)ファ
-イルをオープン可能にする。この定義を有効にするためには、(\fIどの\fPヘッダファイ
\82¤ã\83«ã\82\92ã\82ªã\83¼ã\83\97ã\83³å\8f¯è\83½ã\81«ã\81\99ã\82\8bã\80\82ã\81\93ã\81®å®\9a義ã\82\92æ\9c\89å\8a¹ã\81«ã\81\99ã\82\8bã\81\9fã\82\81ã\81«ã\81¯ã\80\81(\fIã\81©ã\81®\fPã\83\98ã\83\83ã\83\80ã\83¼ã\83\95ã\82¡ã\82¤
 ルをインクルードするよりも前に) \fB_LARGEFILE64_SOURCE\fP マクロを定義しなければ
 ならない。
 32 ビットシステムにおいて大きなファイルにアクセスしたい場合、
@@ -325,7 +325,7 @@ PID を組み合わせた名前) を作成し、 \fBlink\fP(2)  を使用して
 .TP 
 \fBO_NONBLOCK\fP または \fBO_NDELAY\fP
 可能ならば、ファイルは非停止 (nonblocking) モードでオープンされる。
-\fBopen\fP() も、返したファイルディスクリプタに対する以後のすべての操作も呼び出
+\fBopen\fP() ã\82\82ã\80\81è¿\94ã\81\97ã\81\9fã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81«å¯¾ã\81\99ã\82\8b以å¾\8cã\81®ã\81\99ã\81¹ã\81¦ã\81®æ\93\8dä½\9cã\82\82å\91¼ã\81³å\87º
 したプロセスを待たせることはない。 FIFO (名前付きパイプ) を扱う場合には
 \fBfifo\fP(7) も参照すること。 強制ファイルロック (mandatory file lock) やファイ
 ルリース (file lease) と組み合わせた場合の、 \fBO_NONBLOCK\fP の効果についての
@@ -340,37 +340,37 @@ PID を組み合わせた名前) を作成し、 \fBlink\fP(2)  を使用して
 .\"    Subject: Re: [PATCH] open(2): document O_PATH
 .\"    Newsgroups: gmane.linux.man, gmane.linux.kernel
 .\"
-このフラグを指定して取得したファイルディスクリプタは、 ファイルシステムツリー内での場所を示すため、
-純粋にファイルディスクリプタレベルでの作用する操作を実行するため、 の二つの目的で使用することができる。 ファイル自身はオープンされず、
\81\93ã\81®ã\83\95ã\83©ã\82°ã\82\92æ\8c\87å®\9aã\81\97ã\81¦å\8f\96å¾\97ã\81\97ã\81\9fã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81¯ã\80\81 ã\83\95ã\82¡ã\82¤ã\83«ã\82·ã\82¹ã\83\86ã\83 ã\83\84ã\83ªã\83¼å\86\85ã\81§ã\81®å ´æ\89\80ã\82\92示ã\81\99ã\81\9fã\82\81ã\80\81
+ç´\94ç²\8bã\81«ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\83¬ã\83\99ã\83«ã\81§ã\81®ä½\9cç\94¨ã\81\99ã\82\8bæ\93\8dä½\9cã\82\92å®\9fè¡\8cã\81\99ã\82\8bã\81\9fã\82\81ã\80\81 ã\81®äº\8cã\81¤ã\81®ç\9b®ç\9a\84ã\81§ä½¿ç\94¨ã\81\99ã\82\8bã\81\93ã\81¨ã\81\8cã\81§ã\81\8dã\82\8bã\80\82 ã\83\95ã\82¡ã\82¤ã\83«è\87ªèº«ã\81¯ã\82ªã\83¼ã\83\97ã\83³ã\81\95ã\82\8cã\81\9aã\80\81
 他のファイル操作 (例えば \fBread\fP(2), \fBwrite\fP(2), \fBfchmod\fP(2), \fBfchown\fP(2),
 \fBfgetxattr\fP(2), \fBmmap\fP(2)) はエラー \fBEBADF\fP で失敗する。
 
-取得したファイルディスクリプタに対して以下の操作を行うことが「できる」。
\8f\96å¾\97ã\81\97ã\81\9fã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81«å¯¾ã\81\97ã\81¦ä»¥ä¸\8bã\81®æ\93\8dä½\9cã\82\92è¡\8cã\81\86ã\81\93ã\81¨ã\81\8cã\80\8cã\81§ã\81\8dã\82\8bã\80\8dã\80\82
 .RS
 .IP * 3
 .\" commit 332a2e1244bd08b9e3ecd378028513396a004a24
 .\" fstat(): commit 55815f70147dcfa3ead5738fd56d3574e2e3c1c2
 \fBclose\fP(2); \fBfchdir\fP(2)  (Linux 3.5 以降); \fBfstat\fP(2)  (Linux 3.6 以降)
 .IP *
-ファイルディスクリプタの複製 (\fBdup\fP(2), \fBfcntl\fP(2)  \fBF_DUPFD\fP など)
\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81®è¤\87製 (\fBdup\fP(2), \fBfcntl\fP(2)  \fBF_DUPFD\fP ã\81ªã\81©)
 .IP *
-ファイルディスクリプタフラグの取得と設定 (\fBfcntl\fP(2) の \fBF_GETFD\fP と \fBF_SETFD\fP)
\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\83\95ã\83©ã\82°ã\81®å\8f\96å¾\97ã\81¨è¨­å®\9a (\fBfcntl\fP(2) ã\81® \fBF_GETFD\fP ã\81¨ \fBF_SETFD\fP)
 .IP *
 \fBfcntl\fP(2) の \fBF_GETFL\fP 操作を使ったオープンされたファイルの状態フラグの取得。 返されるフラグには \fBO_PATH\fP
 ビットが含まれる。
 .IP *
-\fBopenat\fP(2) や他の "*at()" 系のシステムコールの \fIdirfd\fP 引数としてそのファイルディスクリプタを渡す。 これには、
+\fBopenat\fP(2) ã\82\84ä»\96ã\81® "*at()" ç³»ã\81®ã\82·ã\82¹ã\83\86ã\83 ã\82³ã\83¼ã\83«ã\81® \fIdirfd\fP å¼\95æ\95°ã\81¨ã\81\97ã\81¦ã\81\9dã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\82\92渡ã\81\99ã\80\82 ã\81\93ã\82\8cã\81«ã\81¯ã\80\81
 ファイルがディレクトリでない場合に \fBlinkat\fP(2) に \fBAT_EMPTY_PATH\fP が指定された場合 (や procfs 経由で
 \fBAT_SYMLINK_FOLLOW\fP が使用された場合) を含む。
 .IP *
-そのファイルディスクリプタを別のプロセスに UNIX ドメインソケット経由で渡す。 (\fBunix\fP(7) の \fBSCM_RIGHTS\fP を参照)
\81\9dã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\82\92å\88¥ã\81®ã\83\97ã\83­ã\82»ã\82¹ã\81« UNIX ã\83\89ã\83¡ã\82¤ã\83³ã\82½ã\82±ã\83\83ã\83\88çµ\8cç\94±ã\81§æ¸¡ã\81\99ã\80\82 (\fBunix\fP(7) ã\81® \fBSCM_RIGHTS\fP ã\82\92å\8f\82ç\85§)
 .RE
 .IP
 \fIflags\fP に \fBO_PATH\fP が指定された場合、 \fBO_CLOEXEC\fP, \fBO_DIRECTORY\fP, \fBO_NOFOLLOW\fP
 以外のフラグビットは無視される。
 
 \fIpathname\fP がシンボリックリンクで \fBO_NOFOLLOW\fP フラグも合わせて指定された場合、
\81\93ã\81®å\91¼ã\81³å\87ºã\81\97ã\81§ã\81¯ã\82·ã\83³ã\83\9cã\83ªã\83\83ã\82¯ã\83ªã\83³ã\82¯ã\82\92å\8f\82ç\85§ã\81\99ã\82\8bã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\82\92è¿\94ã\81\99ã\80\82 ã\81\93ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿は、 空のパス名を指定した
\81\93ã\81®å\91¼ã\81³å\87ºã\81\97ã\81§ã\81¯ã\82·ã\83³ã\83\9cã\83ªã\83\83ã\82¯ã\83ªã\83³ã\82¯ã\82\92å\8f\82ç\85§ã\81\99ã\82\8bã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\82\92è¿\94ã\81\99ã\80\82 ã\81\93ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼は、 空のパス名を指定した
 \fBfchownat\fP(2), \fBfstatat\fP(2), \fBlinkat\fP(2), \fBreadlinkat\fP(2) の呼び出しで
 \fIdirfd\fP 引数として使うことで、 そのシンボリックリンクに対して操作を行うことができる。
 .TP 
@@ -387,7 +387,7 @@ PID を組み合わせた名前) を作成し、 \fBlink\fP(2)  を使用して
 .\" commit bb458c644a59dbba3a1fe59b27106c5e68e1c4bd
 名前なしの一時ファイルを作成する。 \fIpathname\fP 引き数はディレクトリを指定する。 名前なしの inode
 がそのディレクトリが存在するファイルシステムに作成される。 そのファイルに名前を付与しない限り、 作成されたファイルに書き込まれた内容は、
-最後のファイルディスクリプタがクローズされる際に失われる。
\9c\80å¾\8cã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81\8cã\82¯ã\83­ã\83¼ã\82ºã\81\95ã\82\8cã\82\8bé\9a\9bã\81«å¤±ã\82\8fã\82\8cã\82\8bã\80\82
 
 \fBO_TMPFILE\fP は必ず \fBO_RDWR\fP か \fBO_WRONLY\fP のいずれかと一緒に使わなければならない。 \fBO_EXCL\fP
 も指定することができる。 \fBO_EXCL\fP が指定されなかった場合、 \fBlinkat\fP(2)
@@ -451,7 +451,7 @@ linkat(AT_FDCWD, path, AT_FDCWD, "/path/for/file",
 
 \fIpathname\fP で指定されたパス名が絶対パスの場合、 \fIdirfd\fP は無視される。
 .SH 返り値
-\fBopen\fP(), \fBopenat\fP(), \fBcreat\fP() は新しいファイルディスクリプタを返す。 エラーが発生した場合は \-1 を返す
+\fBopen\fP(), \fBopenat\fP(), \fBcreat\fP() ã\81¯æ\96°ã\81\97ã\81\84ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\82\92è¿\94ã\81\99ã\80\82 ã\82¨ã\83©ã\83¼ã\81\8cç\99ºç\94\9fã\81\97ã\81\9få ´å\90\88ã\81¯ \-1 ã\82\92è¿\94ã\81\99
 (その場合は \fIerrno\fP が適切に設定される)。
 .SH エラー
 \fBopen\fP(), \fBopenat\fP(), \fBcreat\fP() は以下のエラーで失敗する。
@@ -461,7 +461,7 @@ linkat(AT_FDCWD, path, AT_FDCWD, "/path/for/file",
 またはファイルが存在せず、親ディレクトリへの書き込み許可がなかった。 (\fBpath_resolution\fP(7)  も参照すること。)
 .TP 
 \fBEDQUOT\fP
-\fBO_CREAT\fP が指定された場合で、そのファイルが存在せず、ディスクブロックか inode がそのファイルシステムのユーザクォータに達していた。
+\fBO_CREAT\fP ã\81\8cæ\8c\87å®\9aã\81\95ã\82\8cã\81\9få ´å\90\88ã\81§ã\80\81ã\81\9dã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\81\8cå­\98å\9c¨ã\81\9bã\81\9aã\80\81ã\83\87ã\82£ã\82¹ã\82¯ã\83\96ã\83­ã\83\83ã\82¯ã\81\8b inode ã\81\8cã\81\9dã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\82·ã\82¹ã\83\86ã\83 ã\81®ã\83¦ã\83¼ã\82¶ã\83¼ã\82¯ã\82©ã\83¼ã\82¿ã\81«é\81\94ã\81\97ã\81¦ã\81\84ã\81\9fã\80\82
 .TP 
 \fBEEXIST\fP
 \fIpathname\fP は既に存在し、 \fBO_CREAT\fP と \fBO_EXCL\fP が使用された。
@@ -474,7 +474,7 @@ linkat(AT_FDCWD, path, AT_FDCWD, "/path/for/file",
 .TP 
 \fBEINTR\fP
 遅いデバイス (例えば FIFO、 \fBfifo\fP(7)  参照) のオープンが完了するのを待って停止している間に
-システムコールがシグナルハンドラにより割り込まれた。 \fBsignal\fP(7)  参照。
\82·ã\82¹ã\83\86ã\83 ã\82³ã\83¼ã\83«ã\81\8cã\82·ã\82°ã\83\8aã\83«ã\83\8fã\83³ã\83\89ã\83©ã\83¼ã\81«ã\82\88ã\82\8aå\89²ã\82\8aè¾¼ã\81¾ã\82\8cã\81\9fã\80\82 \fBsignal\fP(7)  å\8f\82ç\85§ã\80\82
 .TP 
 \fBEINVAL\fP
 ファイルシステムが \fBO_DIRECT\fP フラグをサポートしていない。 詳細は\fB注意\fPを参照。
@@ -569,10 +569,10 @@ POSIX.1\-2001 で規定されているエラーである。 2.6.24 より前の
 \fBopenat\fP() では以下のエラーも発生する。
 .TP 
 \fBEBADF\fP
-\fIdirfd\fP が有効なファイルディスクリプタではない。
+\fIdirfd\fP ã\81\8cæ\9c\89å\8a¹ã\81ªã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81§ã\81¯ã\81ªã\81\84ã\80\82
 .TP 
 \fBENOTDIR\fP
-\fIpathname\fP が相対パス名で、 \fIdirfd\fP がディレクトリ以外のファイルを参照しているファイルディスクリプタである。
+\fIpathname\fP ã\81\8cç\9b¸å¯¾ã\83\91ã\82¹å\90\8dã\81§ã\80\81 \fIdirfd\fP ã\81\8cã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªä»¥å¤\96ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\82\92å\8f\82ç\85§ã\81\97ã\81¦ã\81\84ã\82\8bã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81§ã\81\82ã\82\8bã\80\82
 .SH バージョン
 \fBopenat\fP()  はカーネル 2.6.16 で Linux に追加された。 ライブラリによるサポートはバージョン 2.4 で glibc
 に追加された。
@@ -593,7 +593,7 @@ POSIX.1\-2008 では規定されている。 glibc 2.12 以降では、これら
 \fB_GNU_SOURCE\fP などの機能検査マクロは\fIどの\fPヘッダーファイルをインクルードするより前に定義しなければならない。
 .SH 注意
 Linux では、 \fBO_NONBLOCK\fP フラグは、 open を実行したいが read または write を実行する意図は
-必ずしもないことを意味する。 これは \fBioctl\fP(2)  のためのファイルディスクリプタを取得するために、
+å¿\85ã\81\9aã\81\97ã\82\82ã\81ªã\81\84ã\81\93ã\81¨ã\82\92æ\84\8få\91³ã\81\99ã\82\8bã\80\82 ã\81\93ã\82\8cã\81¯ \fBioctl\fP(2)  ã\81®ã\81\9fã\82\81ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\82\92å\8f\96å¾\97ã\81\99ã\82\8bã\81\9fã\82\81ã\81«ã\80\81
 デバイスをオープンするときによく用いられる。
 
 .LP
@@ -621,10 +621,10 @@ Linux では、 \fBO_NONBLOCK\fP フラグは、 open を実行したいが read
 「オープンファイルオブジェクト」、「ファイルハンドル」、「オープンファイルテーブルエントリー」、 カーネル開発者の用語では \fIstruct file\fP
 などと呼ばれる。
 
-ファイルディスクリプタが (\fBdup\fP(2) や同様のシステムコールを使って) 複製される際に、
-è¤\87製ã\81\95ã\82\8cã\81\9fã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\81¯å\85\83ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿と同じオープンファイル記述を参照する。 結果として 2
-つのファイルディスクリプタはファイルオフセットとファイル状態フラグを共有する。 このような共有はプロセス間でも起こり得る。 \fBfork\fP(2)
-で作成された子プロセスは親プロセスのファイルディスクリプタの複製を継承し、これらの複製は同じオープンファイル記述を参照する。
\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81\8c (\fBdup\fP(2) ã\82\84å\90\8cæ§\98ã\81®ã\82·ã\82¹ã\83\86ã\83 ã\82³ã\83¼ã\83«ã\82\92使ã\81£ã\81¦) è¤\87製ã\81\95ã\82\8cã\82\8bé\9a\9bã\81«ã\80\81
+è¤\87製ã\81\95ã\82\8cã\81\9fã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81¯å\85\83ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼と同じオープンファイル記述を参照する。 結果として 2
\81¤ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81¯ã\83\95ã\82¡ã\82¤ã\83«ã\82ªã\83\95ã\82»ã\83\83ã\83\88ã\81¨ã\83\95ã\82¡ã\82¤ã\83«ç\8a¶æ\85\8bã\83\95ã\83©ã\82°ã\82\92å\85±æ\9c\89ã\81\99ã\82\8bã\80\82 ã\81\93ã\81®ã\82\88ã\81\86ã\81ªå\85±æ\9c\89ã\81¯ã\83\97ã\83­ã\82»ã\82¹é\96\93ã\81§ã\82\82èµ·ã\81\93ã\82\8aå¾\97ã\82\8bã\80\82 \fBfork\fP(2)
\81§ä½\9cæ\88\90ã\81\95ã\82\8cã\81\9få­\90ã\83\97ã\83­ã\82»ã\82¹ã\81¯è¦ªã\83\97ã\83­ã\82»ã\82¹ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81®è¤\87製ã\82\92ç¶\99æ\89¿ã\81\97ã\80\81ã\81\93ã\82\8cã\82\89ã\81®è¤\87製ã\81¯å\90\8cã\81\98ã\82ªã\83¼ã\83\97ã\83³ã\83\95ã\82¡ã\82¤ã\83«è¨\98è¿°ã\82\92å\8f\82ç\85§ã\81\99ã\82\8bã\80\82
 
 .\"
 .\"
@@ -659,14 +659,14 @@ Linux 2.6.33 より前では、 Linux は \fBopen\fP() では \fBO_SYNC\fP フ
 Linux 2.6.33 行こう では、 正しい \fBO_SYNC\fP のサポートが提供されている。 しかしながら、
 バイナリレベルの後方互換性を保証するため、 \fBO_DSYNC\fP は以前の \fBO_SYNC\fP と同じ値で定義されており、 \fBO_SYNC\fP は
 \fBO_DSYNC\fP フラグの値を含む新しい (2 ビットの) フラグ値として定義されている。 これにより、
-新しいヘッダを使ってコンパイルされたアプリケーションで、 2.6.33 より前のカーネルで少なくとも \fBO_DSYNC\fP
\96°ã\81\97ã\81\84ã\83\98ã\83\83ã\83\80ã\83¼ã\82\92使ã\81£ã\81¦ã\82³ã\83³ã\83\91ã\82¤ã\83«ã\81\95ã\82\8cã\81\9fã\82¢ã\83\97ã\83ªã\82±ã\83¼ã\82·ã\83§ã\83³ã\81§ã\80\81 2.6.33 ã\82\88ã\82\8aå\89\8dã\81®ã\82«ã\83¼ã\83\8dã\83«ã\81§å°\91ã\81ªã\81\8fã\81¨ã\82\82 \fBO_DSYNC\fP
 の動作は同じになることが保証される。
 .SS NFS
 NFS を実現しているプロトコルには多くの不備があり、特に \fBO_SYNC\fP と \fBO_NDELAY\fP に影響する。
 
 .\"
 .\"
-UID マッピングを使用している NFS ファイルシステムでは、 \fBopen\fP()  がファイルディスクリプタを返した場合でも \fBread\fP(2)
+UID ã\83\9eã\83\83ã\83\94ã\83³ã\82°ã\82\92使ç\94¨ã\81\97ã\81¦ã\81\84ã\82\8b NFS ã\83\95ã\82¡ã\82¤ã\83«ã\82·ã\82¹ã\83\86ã\83 ã\81§ã\81¯ã\80\81 \fBopen\fP()  ã\81\8cã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\82\92è¿\94ã\81\97ã\81\9få ´å\90\88ã\81§ã\82\82 \fBread\fP(2)
 が \fBEACCES\fP で拒否される場合がある。 これはクライアントがアクセス許可のチェックを行って \fBopen\fP()
 を実行するが、読み込みや書き込みの際には サーバーで UID マッピングが行われるためである。
 .SS ファイルアクセスモード
@@ -683,11 +683,11 @@ O_WRONLY\fP の組み合わせは論理的に間違いであり、確かに \fBO
 .\"
 .\"
 Linux では、特別な、非標準なアクセスモードとして 3 (バイナリでは 11) が 予約されており \fIflags\fP に指定できる。
-このアクセスモードを指定すると、ファイルの読み出し/書き込み許可をチェックし、 読み出しにも書き込みにも使用できないディスクリプタを返す。
\81\93ã\81®ã\82¢ã\82¯ã\82»ã\82¹ã\83¢ã\83¼ã\83\89ã\82\92æ\8c\87å®\9aã\81\99ã\82\8bã\81¨ã\80\81ã\83\95ã\82¡ã\82¤ã\83«ã\81®èª­ã\81¿å\87ºã\81\97\9b¸ã\81\8dè¾¼ã\81¿è¨±å\8f¯ã\82\92ã\83\81ã\82§ã\83\83ã\82¯ã\81\97ã\80\81 èª­ã\81¿å\87ºã\81\97ã\81«ã\82\82æ\9b¸ã\81\8dè¾¼ã\81¿ã\81«ã\82\82使ç\94¨ã\81§ã\81\8dã\81ªã\81\84ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\82\92è¿\94ã\81\99ã\80\82
 この非標準のアクセスモードはいくつかの Linux ドライバで、デバイス固有の \fBioctl\fP(2)
-操作にのみ使用されるディスクリプタを返すために使われている。
-.SS "openat() や他のディレクトリファイルディスクリプタ API の基本原理"
-\fBopenat\fP() やディレクトリファイルディスクリプタを引き数を取る他のシステムコールやライブラリ関数 (\fBexecveat\fP(2),
\93\8dä½\9cã\81«ã\81®ã\81¿ä½¿ç\94¨ã\81\95ã\82\8cã\82\8bã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\82\92è¿\94ã\81\99ã\81\9fã\82\81ã\81«ä½¿ã\82\8fã\82\8cã\81¦ã\81\84ã\82\8bã\80\82
+.SS "openat() や他のディレクトリファイルディスクリプタ API の基本原理"
+\fBopenat\fP() ã\82\84ã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\82\92å¼\95ã\81\8dæ\95°ã\82\92å\8f\96ã\82\8bä»\96ã\81®ã\82·ã\82¹ã\83\86ã\83 ã\82³ã\83¼ã\83«ã\82\84ã\83©ã\82¤ã\83\96ã\83©ã\83ªé\96¢æ\95° (\fBexecveat\fP(2),
 \fBfaccessat\fP(2), \fBfanotify_mark\fP(2), \fBfchmodat\fP(2), \fBfchownat\fP(2),
 \fBfstatat\fP(2), \fBfutimesat\fP(2), \fBlinkat\fP(2), \fBmkdirat\fP(2), \fBmknodat\fP(2),
 \fBname_to_handle_at\fP(2), \fBreadlinkat\fP(2), \fBrenameat\fP(2), \fBsymlinkat\fP(2),
@@ -699,48 +699,48 @@ Linux では、特別な、非標準なアクセスモードとして 3 (バイ
 に渡されたディレクトリプレフィックスの構成要素が \fBopen\fP() の呼び出しと並行して変化する可能性があるという点に由来している。 例えば、ファイル
 \fIpath/to/xxx\fP が存在する場合にファイル \fIpath/to/xxx.dep\fP を作成したいとする。
 問題は、存在確認とファイル作成の間に、 \fIpath\fP や \fIto\fP (シンボリックリンクでもよい)
-が別の場所を指すように変更されることがあるということだ。 このような競合条件は、 対象のディレクトリに対するファイルディスクリプタをオープンし、
-それから \fBfstatat\fP(2) や \fBopenat\fP() の \fIdirfd\fP 引き数としてそのファイルディスクリプタを指定することで、
\81\8cå\88¥ã\81®å ´æ\89\80ã\82\92æ\8c\87ã\81\99ã\82\88ã\81\86ã\81«å¤\89æ\9b´ã\81\95ã\82\8cã\82\8bã\81\93ã\81¨ã\81\8cã\81\82ã\82\8bã\81¨ã\81\84ã\81\86ã\81\93ã\81¨ã\81 ã\80\82 ã\81\93ã\81®ã\82\88ã\81\86ã\81ªç«¶å\90\88æ\9d¡ä»¶ã\81¯ã\80\81 å¯¾è±¡ã\81®ã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\81«å¯¾ã\81\99ã\82\8bã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\82\92ã\82ªã\83¼ã\83\97ã\83³ã\81\97ã\80\81
\81\9dã\82\8cã\81\8bã\82\89 \fBfstatat\fP(2) ã\82\84 \fBopenat\fP() ã\81® \fIdirfd\fP å¼\95ã\81\8dæ\95°ã\81¨ã\81\97ã\81¦ã\81\9dã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\82\92æ\8c\87å®\9aã\81\99ã\82\8bã\81\93ã\81¨ã\81§ã\80\81
 避けることができる。
 
 .\"
 .\"
-二つ目として、 \fBopenat\fP() を使うと、アプリケーションが管理するファイルディスクリプタにより、
+äº\8cã\81¤ç\9b®ã\81¨ã\81\97ã\81¦ã\80\81 \fBopenat\fP() ã\82\92使ã\81\86ã\81¨ã\80\81ã\82¢ã\83\97ã\83ªã\82±ã\83¼ã\82·ã\83§ã\83³ã\81\8c管ç\90\86ã\81\99ã\82\8bã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81«ã\82\88ã\82\8aã\80\81
 スレッド単位の「カレントワーキングディレクトリ」を実装することができる (この機能は、 \fI/proc/self/fd/dirfd\fP
 を使った方法でも実現することができるが、 効率の面で落とる)。
 .SS O_DIRECT
 .LP
-\fBO_DIRECT\fP フラグを使用する場合、ユーザ空間バッファの長さやアドレス、 I/O
+\fBO_DIRECT\fP フラグを使用する場合、ユーザー空間バッファーの長さやアドレス、 I/O
 のファイルオフセットに関してアラインメントの制限が課されることがある。 Linux では、アラインメントの制限はファイルシステムやカーネルのバージョンに
 よって異なり、全く制限が存在しない場合もある。 しかしながら、現在のところ、指定されたファイルやファイルシステムに対して
-こうした制限があるかを見つけるための、アプリケーション向けのインタフェースで ファイルシステム非依存のものは存在しない。
-いくつかのファイルシステムでは、制限を確認するための独自のインタフェースが 提供されている。例えば、 \fBxfsctl\fP(3)  の
\81\93ã\81\86ã\81\97ã\81\9få\88¶é\99\90ã\81\8cã\81\82ã\82\8bã\81\8bã\82\92è¦\8bã\81¤ã\81\91ã\82\8bã\81\9fã\82\81ã\81®ã\80\81ã\82¢ã\83\97ã\83ªã\82±ã\83¼ã\82·ã\83§ã\83³å\90\91ã\81\91ã\81®ã\82¤ã\83³ã\82¿ã\83¼ã\83\95ã\82§ã\83¼ã\82¹ã\81§ ã\83\95ã\82¡ã\82¤ã\83«ã\82·ã\82¹ã\83\86ã\83 é\9d\9eä¾\9då­\98ã\81®ã\82\82ã\81®ã\81¯å­\98å\9c¨ã\81\97ã\81ªã\81\84ã\80\82
\81\84ã\81\8fã\81¤ã\81\8bã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\82·ã\82¹ã\83\86ã\83 ã\81§ã\81¯ã\80\81å\88¶é\99\90ã\82\92確èª\8dã\81\99ã\82\8bã\81\9fã\82\81ã\81®ç\8b¬è\87ªã\81®ã\82¤ã\83³ã\82¿ã\83¼ã\83\95ã\82§ã\83¼ã\82¹ã\81\8c æ\8f\90ä¾\9bã\81\95ã\82\8cã\81¦ã\81\84ã\82\8bã\80\82ä¾\8bã\81\88ã\81°ã\80\81 \fBxfsctl\fP(3)  ã\81®
 \fBXFS_IOC_DIOINFO\fP 命令である。
 .LP
-Linux 2.4 では、転送サイズ、 ユーザーバッファのアライメント、ファイルオフセットは、
+Linux 2.4 ã\81§ã\81¯ã\80\81転é\80\81ã\82µã\82¤ã\82ºã\80\81 ã\83¦ã\83¼ã\82¶ã\83¼ã\83\90ã\83\83ã\83\95ã\82¡ã\83¼ã\81®ã\82¢ã\83©ã\82¤ã\83¡ã\83³ã\83\88ã\80\81ã\83\95ã\82¡ã\82¤ã\83«ã\82ªã\83\95ã\82»ã\83\83ã\83\88ã\81¯ã\80\81
 ファイルシステムの論理ブロックサイズの倍数でなければならない。 Linux 2.6.0 以降では、
 内部で使われるストレージの論理ブロックサイズのアライメント (通常は 512 バイト) で十分である。 論理ブロックサイズは \fBioctl\fP(2)
 \fBBLKSSZGET\fP 操作や以下のシェルコマンドから知ることができる。
 
     blockdev \-\-getss
 .LP
\83¡ã\83¢ã\83ªã\83\90ã\83\83ã\83\95ã\82¡がプライベートマッピング (\fBmmap\fP(2) の \fBMAP_PRIVATE\fP
\83¡ã\83¢ã\83ªã\83¼ã\83\90ã\83\83ã\83\95ã\82¡ã\83¼がプライベートマッピング (\fBmmap\fP(2) の \fBMAP_PRIVATE\fP
 フラグで作成されたマッピング) の場合には、\fBO_DIRECT\fP I/O は
 \fBfork\fP(2) システムコールと同時に決して実行すべきではない
-(プライベートマッピングには、ヒープ領域に割り当てられたメモリや静的に
-割り当てたバッファも含まれる)。非同期 I/O インターフェース (AIO) 経由
+(ã\83\97ã\83©ã\82¤ã\83\99ã\83¼ã\83\88ã\83\9eã\83\83ã\83\94ã\83³ã\82°ã\81«ã\81¯ã\80\81ã\83\92ã\83¼ã\83\97é \98å\9f\9fã\81«å\89²ã\82\8aå½\93ã\81¦ã\82\89ã\82\8cã\81\9fã\83¡ã\83¢ã\83ªã\83¼ã\82\84é\9d\99ç\9a\84ã\81«
\89²ã\82\8aå½\93ã\81¦ã\81\9fã\83\90ã\83\83ã\83\95ã\82¡ã\83¼ã\82\82å\90«ã\81¾ã\82\8cã\82\8b\80\82é\9d\9eå\90\8cæ\9c\9f I/O ã\82¤ã\83³ã\82¿ã\83¼ã\83\95ã\82§ã\83¼ã\82¹ (AIO) çµ\8cç\94±
 やプロセス内の他のスレッドから発行された、このような I/O は、
 \fBfork\fP(2) が呼び出される前に完了されるべきである。
 そうしなかった場合、データ破壊や、親プロセスや子プロセスでの予期しない
 動作が起こる可能性がある。
-\fBO_DIRECT\fP I/O ç\94¨ã\81®ã\83¡ã\83¢ã\83ªã\83\90ã\83\83ã\83\95ã\82¡が \fBshmat\fP(2) や\fBMAP_SHARED\fP フラグ
+\fBO_DIRECT\fP I/O ç\94¨ã\81®ã\83¡ã\83¢ã\83ªã\83¼ã\83\90ã\83\83ã\83\95ã\82¡ã\83¼が \fBshmat\fP(2) や\fBMAP_SHARED\fP フラグ
 付きの \fBmmap\fP(2) で作成された場合には、この制限はあてはまらない。
-\fBmadvise\fP(2) ã\81§ã\83¡ã\83¢ã\83ªã\83\90ã\83\83ã\83\95ã\82¡にアドバイス \fBMADV_DONTFORK\fP が設定され
-ている場合にも、この制限はあてはまらない(\fBMADV_DONTFORK\fP はそのメモリ
-バッファが \fBfork\fP(2) 後に子プロセスからは利用できないことを保証するも
+\fBmadvise\fP(2) ã\81§ã\83¡ã\83¢ã\83ªã\83¼ã\83\90ã\83\83ã\83\95ã\82¡ã\83¼にアドバイス \fBMADV_DONTFORK\fP が設定され
+ている場合にも、この制限はあてはまらない(\fBMADV_DONTFORK\fP はそのメモリ
\83\90ã\83\83ã\83\95ã\82¡ã\83¼ã\81\8c \fBfork\fP(2) å¾\8cã\81«å­\90ã\83\97ã\83­ã\82»ã\82¹ã\81\8bã\82\89ã\81¯å\88©ç\94¨ã\81§ã\81\8dã\81ªã\81\84ã\81\93ã\81¨ã\82\92ä¿\9d証ã\81\99ã\82\8bã\82\82
 のである)。
 .LP
-\fBO_DIRECT\fP フラグは SGI IRIX で導入された。SGI IRIX にも Linux 2.4 と同様の (ユーザーバッファの)
+\fBO_DIRECT\fP ã\83\95ã\83©ã\82°ã\81¯ SGI IRIX ã\81§å°\8eå\85¥ã\81\95ã\82\8cã\81\9fã\80\82SGI IRIX ã\81«ã\82\82 Linux 2.4 ã\81¨å\90\8cæ§\98ã\81® (ã\83¦ã\83¼ã\82¶ã\83¼ã\83\90ã\83\83ã\83\95ã\82¡ã\83¼ã\81®)
 アラインメントの制限がある。 また、IRIX には適切な配置とサイズを取得するための \fBfcntl\fP(2)  コールがある。 FreeBSD 4.x
 も同じ名前のフラグを導入したが、アラインメントの制限はない。
 .LP
@@ -767,7 +767,7 @@ NFS で \fBO_DIRECT\fP を使った場合の動作はローカルのファイル
 をデフォルトでは無効になっている性能向上のためのオプションと 考えておくのがよいであろう。
 .PP
 .RS
-「O_DIRECT でいつも困るのは、インタフェース全部が本当にお馬鹿な点だ。 たぶん危ないマインドコントロール剤で
\80\8cO_DIRECT ã\81§ã\81\84ã\81¤ã\82\82å\9b°ã\82\8bã\81®ã\81¯ã\80\81ã\82¤ã\83³ã\82¿ã\83¼ã\83\95ã\82§ã\83¼ã\82¹å\85¨é\83¨ã\81\8cæ\9c¬å½\93ã\81«ã\81\8a馬鹿ã\81ªç\82¹ã\81 ã\80\82 ã\81\9fã\81¶ã\82\93å\8d±ã\81ªã\81\84ã\83\9eã\82¤ã\83³ã\83\89ã\82³ã\83³ã\83\88ã\83­ã\83¼ã\83«å\89¤ã\81§
 頭がおかしくなったサルが設計したんじゃないかな」 \(em Linus
 .RE
 .SH バグ
@@ -783,3 +783,7 @@ NFS で \fBO_DIRECT\fP を使った場合の動作はローカルのファイル
 \fBlseek\fP(2), \fBmknod\fP(2), \fBmmap\fP(2), \fBmount\fP(2), \fBopen_by_handle_at\fP(2),
 \fBread\fP(2), \fBsocket\fP(2), \fBstat\fP(2), \fBumask\fP(2), \fBunlink\fP(2),
 \fBwrite\fP(2), \fBfopen\fP(3), \fBfifo\fP(7), \fBpath_resolution\fP(7), \fBsymlink\fP(7)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.78 の一部
+である。プロジェクトの説明とバグ報告に関する情報は
+http://www.kernel.org/doc/man\-pages/ に書かれている。