OSDN Git Service

(split) Convert release and draft pages to UTF-8.
[linuxjm/LDP_man-pages.git] / release / man7 / spufs.7
index 5ee0e03..b51ccb6 100644 (file)
 .\" Translated 2007-10-23, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
 .\"
 .TH SPUFS 7 2007-07-10 "Linux" "Linux Programmer's Manual"
-.SH Ì¾Á°
-spufs \- SPU ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à
-.SH ÀâÌÀ
-SPU ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ï¡¢Cell Broadband Engine ¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤ò¼ÂÁõ¤·¤¿
-PowerPC ¥Þ¥·¥ó¤Ë¤ª¤¤¤Æ¡¢Synergistic Processor Unit (SPU) ¤Ë¥¢¥¯¥»¥¹¤¹¤ë
-¤¿¤á¤Ë»ÈÍѤµ¤ì¤ë¡£
+.SH 名前
+spufs \- SPU ファイルシステム
+.SH 説明
+SPU ファイルシステムは、Cell Broadband Engine アーキテクチャを実装した
+PowerPC マシンにおいて、Synergistic Processor Unit (SPU) にアクセスする
+ために使用される。
 
-¤³¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ç¤Ï¡¢POSIX ¶¦Í­¥á¥â¥ê¤ä¥á¥Ã¥»¡¼¥¸¥­¥å¡¼¤Ë
-»÷¤¿Ì¾Á°¶õ´Ö¤¬Ä󶡤µ¤ì¤ë¡£
-¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ë½ñ¤­¹þ¤ßµö²Ä¤ò»ý¤Ä¥æ¡¼¥¶¤Ï
+このファイルシステムでは、POSIX 共有メモリやメッセージキューに
+似た名前空間が提供される。
+ファイルシステムに書き込み許可を持つユーザは
 .BR spu_create (2)
-¤ò»È¤Ã¤Æ spufs ¤Î¥ë¡¼¥È¥Ç¥£¥ì¥¯¥È¥ê¤Ë SPU ¥³¥ó¥Æ¥­¥¹¥È¤òºîÀ®¤Ç¤­¤ë¡£
+を使って spufs のルートディレクトリに SPU コンテキストを作成できる。
 
-³Æ SPU ¥³¥ó¥Æ¥­¥¹¥È¤Ï¡¢¤¢¤é¤«¤¸¤áÄêµÁ¤µ¤ì¤¿¥Õ¥¡¥¤¥ë·²¤ò´Þ¤à
-¥Ç¥£¥ì¥¯¥È¥ê¤È¤·¤Æɽ¸½¤µ¤ì¤ë¡£
-¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤ò»È¤Ã¤Æ¡¢ÏÀÍý SPU ¤Î¾õÂÖ¤òÁàºî¤Ç¤­¤ë¡£
-¥æ¡¼¥¶¤Ï¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤Î¥¢¥¯¥»¥¹µö²Ä¤òÊѹ¹¤¹¤ë¤³¤È¤Ï¤Ç¤­¤ë¤¬¡¢
-¥Õ¥¡¥¤¥ë¤ÎÄɲᦺï½ü¤ò¹Ô¤¦¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡£
-.SS ¥Þ¥¦¥ó¥È¥ª¥×¥·¥ç¥ó
+各 SPU コンテキストは、あらかじめ定義されたファイル群を含む
+ディレクトリとして表現される。
+これらのファイルを使って、論理 SPU の状態を操作できる。
+ユーザはこれらのファイルのアクセス許可を変更することはできるが、
+ファイルの追加・削除を行うことはできない。
+.SS マウントオプション
 .TP
 .B uid=<uid>
-¥Þ¥¦¥ó¥È¥Ý¥¤¥ó¥È¤ò½êÍ­¤¹¤ë¥æ¡¼¥¶¤òÀßÄꤹ¤ë¡£
-¥Ç¥Õ¥©¥ë¥È¤Ï 0 (root) ¤Ç¤¢¤ë¡£
+マウントポイントを所有するユーザを設定する。
+デフォルトは 0 (root) である。
 .TP
 .B gid=<gid>
-¥Þ¥¦¥ó¥È¥Ý¥¤¥ó¥È¤ò½êÍ­¤¹¤ë¥°¥ë¡¼¥×¤òÀßÄꤹ¤ë¡£
-¥Ç¥Õ¥©¥ë¥È¤Ï 0 (root) ¤Ç¤¢¤ë¡£
-.SS ¥Õ¥¡¥¤¥ë
+マウントポイントを所有するグループを設定する。
+デフォルトは 0 (root) である。
+.SS ファイル
 .I spufs
-¤Î¥Õ¥¡¥¤¥ë¤Ï¡¢¤Û¤È¤ó¤É¤Î¾ì¹ç
+のファイルは、ほとんどの場合
 .BR read (2)
-¤ä
+や
 .BR write (2)
-¤È¤¤¤Ã¤¿Ä̾ï¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤ËÂФ¹¤ëɸ½àŪ¤Ê¿¶¤ëÉñ¤¤¤ò¼¨¤¹¤¬¡¢
-¿¤¯¤Î¾ì¹çÄ̾ï¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ëÁàºî¤Î°ìÉôʬ¤À¤±¤¬
-¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¡£°Ê²¼¤Î¥ê¥¹¥È¤Ç¤Ï¡¢¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ëÁàºî¤È
-¤½¤ì¤¾¤ì¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ë½ñ¤«¤ì¤Æ¤¤¤ëɸ½àŪ¤Ê¿¶¤ëÉñ¤¤¤È¤Î°ã¤¤¤Ë
-¤Ä¤¤¤ÆÀâÌÀ¤¹¤ë¡£
+といった通常のシステムコールに対する標準的な振る舞いを示すが、
+多くの場合通常のファイルシステムでサポートされている操作の一部分だけが
+サポートされている。以下のリストでは、サポートされている操作と
+それぞれのマニュアルページに書かれている標準的な振る舞いとの違いに
+ついて説明する。
 
 .BR read (2)
-Áàºî¤ËÂбþ¤·¤Æ¤¤¤ëÁ´¤Æ¤Î¥Õ¥¡¥¤¥ë¤Ï
+操作に対応している全てのファイルは
 .BR readv (2)
-¤Ë¤âÂбþ¤·¤Æ¤¤¤ë¡£¤Þ¤¿¡¢
+にも対応している。また、
 .BR write (2)
-Áàºî¤ËÂбþ¤·¤Æ¤¤¤ëÁ´¤Æ¤Î¥Õ¥¡¥¤¥ë¤Ï
+操作に対応している全てのファイルは
 .BR writev (2)
-¤Ë¤âÂбþ¤·¤Æ¤¤¤ë¡£
+にも対応している。
 
-Á´¤Æ¤Î¥Õ¥¡¥¤¥ë¤Ï¡¢
+全てのファイルは、
 .BR access (2)
-¤È
+と
 .BR stat (2)
-·Ï¤ÎÁàºî¤ËÂбþ¤·¤Æ¤¤¤ë¤¬¡¢
+系の操作に対応しているが、
 .BR stat (2)
-¤Ç¤Ï¡¢¸Æ¤Ó½Ð¤·¤¿ºÝ¤ËÊÖ¤µ¤ì¤ë
+では、呼び出した際に返される
 .I stat
-¹½Â¤ÂΤΥե£¡¼¥ë¥É¤Î¤¦¤Á¿®Íê¤Ç¤­¤ë¾ðÊó¤¬Æþ¤Ã¤Æ¤¤¤ë¤Î¤Ï
+構造体のフィールドのうち信頼できる情報が入っているのは
 .IR st_mode ,
 .IR st_nlink ,
 .IR st_uid ,
 .I st_gid
-¤À¤±¤Ç¤¢¤ë¡£
+だけである。
 
-Á´¤Æ¤Î¥Õ¥¡¥¤¥ë¤Ï
+全てのファイルは
 .BR chmod (2)/ fchmod (2)
-¤È
+と
 .BR chown (2)/ fchown (2)
-¤ÎÁàºî¤ËÂбþ¤·¤Æ¤¤¤ë¤¬¡¢
-¤½¤Î¥Õ¥¡¥¤¥ë¤¬Âбþ¤·¤Æ¤¤¤ëÁàºî¤ÈÌ·½â¤¹¤ë¥¢¥¯¥»¥¹µö²Ä¤ò
-ÉÕÍ¿¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤ (Î㤨¤Ð¡¢
+の操作に対応しているが、
+そのファイルが対応している操作と矛盾するアクセス許可を
+付与することはできない (例えば、
 .I wbox
-¥Õ¥¡¥¤¥ë¤ËÂФ¹¤ëÆɤ߽Ф·¥¢¥¯¥»¥¹¤Ê¤É)¡£
+ファイルに対する読み出しアクセスなど)。
 
-¸½»þÅÀ¤Ç¤Î¥Õ¥¡¥¤¥ë¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¢¤ë¡£
+現時点でのファイルは以下の通りである。
 .TP
 .B /mem
-SPU ¤Î¥í¡¼¥«¥ë¥¹¥È¥ì¡¼¥¸¤ÎÆâÍÆ¡£
-¤³¤Î¥Õ¥¡¥¤¥ë¤ÏÄ̾ï¤Î¶¦Í­¥á¥â¥ê¥Õ¥¡¥¤¥ë¤ÈƱÍͤ˥¢¥¯¥»¥¹¤Ç¤­¡¢
-SPU ¤Î¥¢¥É¥ì¥¹¶õ´Ö¤Ë¤Ï¥³¡¼¥É¤È¥Ç¡¼¥¿¤ÎξÊý¤ò³ÊǼ¤Ç¤­¤ë¡£
-¥ª¡¼¥×¥ó¤µ¤ì¤¿
+SPU のローカルストレージの内容。
+このファイルは通常の共有メモリファイルと同様にアクセスでき、
+SPU のアドレス空間にはコードとデータの両方を格納できる。
+オープンされた
 .I mem
-¥Õ¥¡¥¤¥ë¤Ë²Äǽ¤ÊÁàºî¤Ï°Ê²¼¤Ç¤¢¤ë¡£
+ファイルに可能な操作は以下である。
 .RS
 .TP
 .BR read "(2), " pread "(2), " write "(2), " pwrite "(2), " lseek (2)
-¤³¤ì¤é¤ÏÄ̾ïÄ̤êÆ°ºî¤¹¤ë¤¬¡¢
-¥Õ¥¡¥¤¥ëËöÈø¤ò±Û¤¨¤Æ¤Î
+これらは通常通り動作するが、
+ファイル末尾を越えての
 .BR lseek (2),
 .BR write (2),
 .BR pwrite (2)
-¤ËÂбþ¤·¤Æ¤¤¤Ê¤¤ÅÀ¤À¤±¤¬°Û¤Ê¤ë¡£
-¥Õ¥¡¥¤¥ë¥µ¥¤¥º¤Ï SPU ¤Î¥í¡¼¥«¥ë¥¹¥È¥ì¡¼¥¸¤Î¥µ¥¤¥º¤Ç¤¢¤ê¡¢
-Ä̾ï¤Ï 256 ¥­¥í¥Ð¥¤¥È¤Ç¤¢¤ë¡£
+に対応していない点だけが異なる。
+ファイルサイズは SPU のローカルストレージのサイズであり、
+通常は 256 キロバイトである。
 .TP
 .BR mmap (2)
 .I mem
-¤ò¥×¥í¥»¥¹¤Î¥¢¥É¥ì¥¹¶õ´Ö¤Ë¥Þ¥Ã¥Ô¥ó¥°¤¹¤ë¤È¡¢
-¥×¥í¥»¥¹¤Î¥¢¥É¥ì¥¹¶õ´Ö¤Î°ìÉô¤È¤·¤Æ
-SPU ¤Î¥í¡¼¥«¥ë¡¦¥¹¥È¥ì¡¼¥¸¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ë¡£
+をプロセスのアドレス空間にマッピングすると、
+プロセスのアドレス空間の一部として
+SPU のローカル・ストレージにアクセスできるようになる。
 .RE
 .TP
 .B /mbox
-SPU ¤«¤é CPU ¤Ø¤ÎÄÌ¿®ÍѤΰì¤ÄÌܤΥ᡼¥ë¥Ü¥Ã¥¯¥¹¡£
-¤³¤Î¥Õ¥¡¥¤¥ë¤ÏÆɤ߽Ф·ÀìÍѤǡ¢Æɤ߽Ф·¤Ï 32¥Ó¥Ã¥Èñ°Ì¤Ç¹Ô¤¦¡£
-¤³¤Î¥Õ¥¡¥¤¥ë¤ÏÈóÄä»ß (non-blocking) ¥â¡¼¥É¤Ç¤Î¤ß»ÈÍѤǤ­¡¢
+SPU から CPU への通信用の一つ目のメールボックス。
+このファイルは読み出し専用で、読み出しは 32ビット単位で行う。
+このファイルは非停止 (non-blocking) モードでのみ使用でき、
 .BR poll (2)
-¤Ç¤¢¤Ã¤Æ¤â¤³¤Î¥Õ¥¡¥¤¥ë¤ÇÄä»ß (block) ¤¹¤ë¤³¤È¤Ï¤Ê¤¤¡£
-¥ª¡¼¥×¥ó¤µ¤ì¤¿
+であってもこのファイルで停止 (block) することはない。
+オープンされた
 .I mbox
-¥Õ¥¡¥¤¥ë¤Ë²Äǽ¤ÊÁàºî¤Ï°Ê²¼¤Ç¤¢¤ë¡£
+ファイルに可能な操作は以下である。
 .RS
 .TP
 .BR read (2)
 .I count
-¤¬ 4 ¤è¤ê¾®¤µ¤¤¾ì¹ç¡¢
+が 4 より小さい場合、
 .BR read (2)
-¤Ï \-1 ¤òÊÖ¤·¡¢
+は \-1 を返し、
 .I errno
-¤ò
+を
 .B EINVAL
-¤ËÀßÄꤹ¤ë¡£
-¥á¡¼¥ë¥Ü¥Ã¥¯¥¹¤Ë¥Ç¡¼¥¿¤¬¤Ê¤¤¾ì¹ç¡¢\-1 ¤¬Ê֤ꡢ
+に設定する。
+メールボックスにデータがない場合、\-1 が返り、
 .I errno
-¤¬
+が
 .B EAGAIN
-¤ËÀßÄꤵ¤ì¤ë¡£¥Ç¡¼¥¿¤ÎÆɤ߽Ф·¤ËÀ®¸ù¤·¤¿¾ì¹ç¡¢
-4 ¥Ð¥¤¥È¤¬¥Ç¡¼¥¿¥Ð¥Ã¥Õ¥¡¤Ë³ÊǼ¤µ¤ì¡¢ÊÖ¤êÃͤȤ·¤Æ 4 ¤¬ÊÖ¤µ¤ì¤ë¡£
+に設定される。データの読み出しに成功した場合、
+4 バイトがデータバッファに格納され、返り値として 4 が返される。
 .RE
 .TP
 .B /ibox
-SPU ¤«¤é CPU ¤Ø¤ÎÄÌ¿®ÍѤÎÆó¤ÄÌܤΥ᡼¥ë¥Ü¥Ã¥¯¥¹¤Ç¤¢¤ë¡£
-¤³¤Î¥Õ¥¡¥¤¥ë¤Ï°ì¤ÄÌܤΥ᡼¥ë¥Ü¥Ã¥¯¥¹¥Õ¥¡¥¤¥ë¤È»÷¤Æ¤¤¤ë¤¬¡¢
-Ää»ß (blocking) I/O ¥â¡¼¥É¤Ç¤ÎÆɤ߽Ф·¤¬²Äǽ¤Ç¤¢¤ë¡£¤·¤¿¤¬¤Ã¤Æ¡¢
+SPU から CPU への通信用の二つ目のメールボックスである。
+このファイルは一つ目のメールボックスファイルと似ているが、
+停止 (blocking) I/O モードでの読み出しが可能である。したがって、
 .BR poll (2)
-¤äƱÍͤΥ·¥¹¥Æ¥à¥³¡¼¥ë¤ò»È¤Ã¤Æ¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤ò´Æ»ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
-¥ª¡¼¥×¥ó¤µ¤ì¤¿
+や同様のシステムコールを使って、このファイルを監視することができる。
+オープンされた
 .I ibox
-¥Õ¥¡¥¤¥ë¤Ë²Äǽ¤ÊÁàºî¤Ï°Ê²¼¤Ç¤¢¤ë¡£
+ファイルに可能な操作は以下である。
 .RS
 .TP
 .BR read (2)
 .I count
-¤¬ 4 ¤è¤ê¾®¤µ¤¤¾ì¹ç¡¢
+が 4 より小さい場合、
 .BR read (2)
-¤Ï \-1 ¤òÊÖ¤·¡¢
+は \-1 を返し、
 .I errno
-¤ò
+を
 .B EINVAL
-¤ËÀßÄꤹ¤ë¡£
-¥á¡¼¥ë¥Ü¥Ã¥¯¥¹¤Ë¥Ç¡¼¥¿¤¬¤Ê¤¤¾ì¹ç¡¢¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤¬
+に設定する。
+メールボックスにデータがない場合、ファイルディスクリプタが
 .B O_NONBLOCK
-¤Ç¥ª¡¼¥×¥ó¤µ¤ì¤Æ¤¤¤ì¤Ð¡¢ÊÖ¤êÃͤϠ\-1 ¤È¤Ê¤ê¡¢
+でオープンされていれば、返り値は \-1 となり、
 .I errno
-¤Ï
+は
 .B EAGAIN
-¤ËÀßÄꤵ¤ì¤ë¡£
+に設定される。
 
-¥á¡¼¥ë¥Ü¥Ã¥¯¥¹¤Ë¥Ç¡¼¥¿¤¬¤Ê¤¤¾ì¹ç¤Ç¡¢¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤¬
+メールボックスにデータがない場合で、ファイルディスクリプタが
 .B O_NONBLOCK
-¤Ê¤·¤Ç¥ª¡¼¥×¥ó¤µ¤ì¤Æ¤¤¤ì¤Ð¡¢
-SPU ¤¬¼«Ê¬¤Î³ä¤ê¹þ¤ß¥á¡¼¥ë¥Ü¥Ã¥¯¥¹¥Á¥ã¥Í¥ë (interrupt mailbox channel)
-¤Ë½ñ¤­¹þ¤ß¤ò¹Ô¤¦¤Þ¤Ç
+なしでオープンされていれば、
+SPU が自分の割り込みメールボックスチャネル (interrupt mailbox channel)
+に書き込みを行うまで
 .BR read (2)
-¤ÏÄä»ß (block) ¤¹¤ë¡£
-¥Ç¡¼¥¿¤ÎÆɤ߽Ф·¤ËÀ®¸ù¤·¤¿¾ì¹ç¡¢
-4 ¥Ð¥¤¥È¤¬¥Ç¡¼¥¿¥Ð¥Ã¥Õ¥¡¤Ë³ÊǼ¤µ¤ì¡¢ÊÖ¤êÃͤȤ·¤Æ 4 ¤¬ÊÖ¤µ¤ì¤ë¡£
+は停止 (block) する。
+データの読み出しに成功した場合、
+4 バイトがデータバッファに格納され、返り値として 4 が返される。
 .TP
 .BR poll (2)
 .I ibox
-¥Õ¥¡¥¤¥ë¤ËÂФ¹¤ë
+ファイルに対する
 .BR poll (2)
-¤Ï¡¢Æɤ߽Ф·¥Ç¡¼¥¿¤¬ÍøÍѲÄǽ¤Ë¤Ê¤ëÅÙ¤Ë
+は、読み出しデータが利用可能になる度に
 .I "(POLLIN | POLLRDNORM)"
-¤òÊÖ¤¹¡£
+を返す。
 .RE
 .TP
 .B /wbox
-CPU ¤«¤é SPU ¤Ø¤ÎÄÌ¿®ÍѤΥ᡼¥ë¥Ü¥Ã¥¯¥¹¡£
-¤³¤Î¥Õ¥¡¥¤¥ë¤Ï½ñ¤­¹þ¤ßÀìÍѤǡ¢½ñ¤­¹þ¤ß¤Ï 32¥Ó¥Ã¥Èñ°Ì¤Ç¹Ô¤¦¡£
-¥á¡¼¥ë¥Ü¥Ã¥¯¥¹¤¬°ìÇդξì¹ç¡¢
+CPU から SPU への通信用のメールボックス。
+このファイルは書き込み専用で、書き込みは 32ビット単位で行う。
+メールボックスが一杯の場合、
 .BR write (2)
-¤ÏÄä»ß (block) ¤·¡¢
+は停止 (block) し、
 .BR poll (2)
-¤ò»È¤Ã¤Æ¥á¡¼¥ë¥Ü¥Ã¥¯¥¹¤ËºÆÅÙ¶õ¤­¤¬¤Ç¤­¤ë¤Þ¤ÇÂԤĤ³¤È¤¬¤Ç¤­¤ë¡£
-¥ª¡¼¥×¥ó¤µ¤ì¤¿
+を使ってメールボックスに再度空きができるまで待つことができる。
+オープンされた
 .I wbox
-¥Õ¥¡¥¤¥ë¤Ë²Äǽ¤ÊÁàºî¤Ï°Ê²¼¤Ç¤¢¤ë¡£
+ファイルに可能な操作は以下である。
 .RS
 .TP
 .BR write (2)
 .I count
-¤¬ 4 ¤è¤ê¾®¤µ¤¤¾ì¹ç¡¢
+が 4 より小さい場合、
 .BR write (2)
-¤Ï \-1 ¤òÊÖ¤·¡¢
+は \-1 を返し、
 .I errno
-¤ò
+を
 .B EINVAL
-¤ËÀßÄꤹ¤ë¡£
-¥á¡¼¥ë¥Ü¥Ã¥¯¥¹¤Ë¶õ¤­Îΰ褬¤Ê¤¤¾ì¹ç¡¢¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤¬
+に設定する。
+メールボックスに空き領域がない場合、ファイルディスクリプタが
 .B O_NONBLOCK
-¤Ç¥ª¡¼¥×¥ó¤µ¤ì¤Æ¤¤¤ì¤Ð¡¢ÊÖ¤êÃͤϠ\-1 ¤È¤Ê¤ê¡¢
+でオープンされていれば、返り値は \-1 となり、
 .I errno
-¤Ï
+は
 .B EAGAIN
-¤ËÀßÄꤵ¤ì¤ë¡£
+に設定される。
 
-¥á¡¼¥ë¥Ü¥Ã¥¯¥¹¤Ë¶õ¤­Îΰ褬¤Ê¤¤¾ì¹ç¤Ç¡¢¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤¬
+メールボックスに空き領域がない場合で、ファイルディスクリプタが
 .B O_NONBLOCK
-¤Ê¤·¤Ç¥ª¡¼¥×¥ó¤µ¤ì¤Æ¤¤¤ì¤Ð¡¢
-SPU ¤¬¼«Ê¬¤Î PPE ¥á¡¼¥ë¥Ü¥Ã¥¯¥¹¥Á¥ã¥Í¥ë¤«¤éÆɤ߽Ф·¤ò¹Ô¤¦¤Þ¤Ç
+なしでオープンされていれば、
+SPU が自分の PPE メールボックスチャネルから読み出しを行うまで
 .BR write (2)
-¤ÏÄä»ß (block) ¤¹¤ë¡£
-¥Ç¡¼¥¿¤Î½ñ¤­¹þ¤ß¤ËÀ®¸ù¤·¤¿¾ì¹ç¡¢ÊÖ¤êÃͤȤ·¤Æ 4 ¤¬ÊÖ¤µ¤ì¤ë¡£
+は停止 (block) する。
+データの書き込みに成功した場合、返り値として 4 が返される。
 .TP
 .BR poll (2)
 .I wbox
-¥Õ¥¡¥¤¥ë¤ËÂФ¹¤ë
+ファイルに対する
 .BR poll (2)
-¤Ï¡¢½ñ¤­¹þ¤ßÍѤζõ´Ö¤¬ÍøÍѲÄǽ¤Ë¤Ê¤ëÅÙ¤Ë
+は、書き込み用の空間が利用可能になる度に
 .I "(POLLOUT | POLLWRNORM)"
-¤òÊÖ¤¹¡£
+を返す。
 .RE
 .TP
 .BR /mbox_stat ", " /ibox_stat ", " /wbox_stat
-¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤ÏÆɤ߽Ф·ÀìÍѤǡ¢
-³Æ¥á¡¼¥ë¥Ü¥Ã¥¯¥¹¤Î¸½ºß¤Î¥­¥å¡¼Ä¹¤òÊÝ»ý¤¹¤ë¡£
-¶ñÂÎŪ¤Ë¤Ï¡¢Ää»ß (blocking) ¤»¤º¤Ë¡¢
-.IR mbox " ¤ä " ibox
-¤«¤é²¿¥ï¡¼¥É¤òÆɤ߽Ф¹¤³¤È¤¬¤Ç¤­¡¢
+これらのファイルは読み出し専用で、
+各メールボックスの現在のキュー長を保持する。
+具体的には、停止 (blocking) せずに、
+.IR mbox "  " ibox
+から何ワードを読み出すことができ、
 .I wbox
-¤Ë²¿¥ï¡¼¥É¤ò½ñ¤­¹þ¤à¤³¤È¤¬¤Ç¤­¤ë¤«¡¢¤È¤¤¤¦¤³¤È¤Ç¤¢¤ë¡£
-¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤Ï 4 ¥Ð¥¤¥Èñ°Ì¤Ç¤Î¤ßÆɤ߽Ф·¤¬²Äǽ¤Ç¡¢
-¥Ó¥Ã¥°¡¦¥¨¥ó¥Ç¥£¥¢¥ó¤ÎÀ°¿ôÃͤòÊÖ¤¹¡£
-¥ª¡¼¥×¥ó¤µ¤ì¤¿
+に何ワードを書き込むことができるか、ということである。
+これらのファイルは 4 バイト単位でのみ読み出しが可能で、
+ビッグ・エンディアンの整数値を返す。
+オープンされた
 .I *box_stat
-¥Õ¥¡¥¤¥ë¤Ë²Äǽ¤ÊÁàºî¤Ï°Ê²¼¤Ç¤¢¤ë¡£
+ファイルに可能な操作は以下である。
 .RS
 .TP
 .BR read (2)
 .I count
-¤¬ 4 ¤è¤ê¾®¤µ¤¤¾ì¹ç¡¢
+が 4 より小さい場合、
 .BR read (2)
-¤Ï \-1 ¤òÊÖ¤·¡¢
+は \-1 を返し、
 .I errno
-¤ò
+を
 .B EINVAL
-¤ËÀßÄꤹ¤ë¡£
-¤½¤ì°Ê³°¤Î¾ì¹ç¡¢¥Ç¡¼¥¿¥Ð¥Ã¥Õ¥¡¤Ë 4 ¥Ð¥¤¥È¤ÎÃͤ¬½ñ¤­¹þ¤Þ¤ì¤ë¡£
-¤³¤ÎÃͤϡ¢³Æ¥á¡¼¥ë¥Ü¥Ã¥¯¥¹¤Ë¤ª¤¤¤ÆÄä»ß¤»¤º¤Ë¡¢¤Þ¤¿¤Ï
+に設定する。
+それ以外の場合、データバッファに 4 バイトの値が書き込まれる。
+この値は、各メールボックスにおいて停止せずに、または
 .B EAGAIN
-¥¨¥é¡¼¤Ê¤·¤Ç¡¢Æɤ߽Ф·²Äǽ¤Ê¥¨¥ì¥á¥ó¥È¿ô
+エラーなしで、読み出し可能なエレメント数
 .RI ( mbox_stat
-¤ä
+や
 .I ibox_stat
-¤Î¾ì¹ç)¡¢½ñ¤­¹þ¤ß²Äǽ¤Ê¥¨¥ì¥á¥ó¥È¿ô
+の場合)、書き込み可能なエレメント数
 .RI ( wbox_stat
-¤Î¾ì¹ç) ¤Ç¤¢¤ë¡£
+の場合) である。
 .RE
 .TP
 .BR /npc ", " /decr ", " /decr_status ", " /spu_tag_mask ", " \
 /event_mask ", " /srr0
-¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤Ï SPU ¤ÎÆâÉô¥ì¥¸¥¹¥¿¤ò¸ø³«¤¹¤ë¤â¤Î¤Ç¤¢¤ë¡£
-Ãͤϡ¢³Æ¥ì¥¸¥¹¥¿¤Î¿ôÃͤò´Þ¤à¥¢¥¹¥­¡¼Ê¸»úÎó¤Çɽ¸½¤µ¤ì¤ë¡£
-¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤Ï¥Ç¥Ð¥Ã¥°ÍѤȤ·¤ÆÆɤ߽Ф·/½ñ¤­¹þ¤ß¤Îξ¥â¡¼¥É¤ÇÍøÍѤǤ­¤ë¤¬¡¢
-¥×¥í¥°¥é¥à¤ÎÄ̾ï¤ÎÁàºî¤Ï¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤Ë°Í¸¤¹¤Ù¤­¤Ç¤Ï¤Ê¤¤¡£
-¤Ê¤¼¤Ê¤é¡¢¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤Î¤¦¤Á
+これらのファイルは SPU の内部レジスタを公開するものである。
+値は、各レジスタの数値を含むアスキー文字列で表現される。
+これらのファイルはデバッグ用として読み出し/書き込みの両モードで利用できるが、
+プログラムの通常の操作はこれらのファイルに依存すべきではない。
+なぜなら、これらのファイルのうち
 .I npc
-°Ê³°¤Ø¤Î¥¢¥¯¥»¥¹¤Ç¤Ï SPU ¥³¥ó¥Æ¥­¥¹¥È¤ÎÊݸ¤¬É¬¿Ü¤Ç¤¢¤ê¡¢
-SPU ¥³¥ó¥Æ¥­¥¹¥È¤ÎÊݸ¤ÏÈó¾ï¤Ë¸úΨ¤¬°­¤¤¤«¤é¤Ç¤¢¤ë¡£
+以外へのアクセスでは SPU コンテキストの保存が必須であり、
+SPU コンテキストの保存は非常に効率が悪いからである。
 .IP
-¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤ÎÆâÍƤϰʲ¼¤ÎÄ̤ꡣ
+これらのファイルの内容は以下の通り。
 .RS
 .TP 16
 .I npc
-¼¡¤Î¥×¥í¥°¥é¥à¥«¥¦¥ó¥¿
+次ã\81®ã\83\97ã\83­ã\82°ã\83©ã\83 ã\82«ã\82¦ã\83³ã\82¿
 .TP
 .I decr
 SPU Decrementer
 .TP
 .I decr_status
-Decrementer ¤Î¾õÂÖ
+Decrementer の状態
 .TP
 .I spu_tag_mask
-SPU ¤Î DMA ÍѤΠMFA ¥¿¥°¥Þ¥¹¥¯
+SPU ã\81® DMA ç\94¨ã\81® MFA ã\82¿ã\82°ã\83\9eã\82¹ã\82¯
 .TP
 .I event_mask
-SPU ¤Î³ä¤ê¹þ¤ß¤Î¥¤¥Ù¥ó¥È¥Þ¥¹¥¯
+SPU ã\81®å\89²ã\82\8aè¾¼ã\81¿ã\81®ã\82¤ã\83\99ã\83³ã\83\88ã\83\9eã\82¹ã\82¯
 .TP
 .I srr0
-³ä¤ê¹þ¤ß¥ê¥¿¡¼¥ó¥¢¥É¥ì¥¹¥ì¥¸¥¹¥¿
+å\89²ã\82\8aè¾¼ã\81¿ã\83ªã\82¿ã\83¼ã\83³ã\82¢ã\83\89ã\83¬ã\82¹ã\83¬ã\82¸ã\82¹ã\82¿
 .RE
 .IP
-¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ²Äǽ¤ÊÁàºî¤Ï°Ê²¼¤Ç¤¢¤ë¡£
+これらのファイルに対して可能な操作は以下である。
 .RS
 .TP
 .BR read (2)
 .BR read (2)
-¤ËÅϤµ¤ì¤¿
+に渡された
 .I count
-¤¬¥ì¥¸¥¹¥¿ÃͤȲþ¹Ô (newline) Ê¸»ú 1 ¸Ä¤ò³ÊǼ¤¹¤ë¤Î¤ËɬÍפÊŤµ¤è¤êû¤¤¾ì¹ç¡¢
-Ʊ¤¸¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤ò³¤±¤Æ read ¤¹¤ë¤³¤È¤Ç¡¢Ê¸»úÎóÁ´ÂΤòÆɤ߽Ф¹¤³¤È
-¤¬¤Ç¤­¤ë¡£¤³¤ÎºÝ¡¢¼Â¹ÔÃæ¤Î SPU ¥¿¥¹¥¯¤Ë¤è¤ê¥ì¥¸¥¹¥¿ÃͤÎÊѹ¹¤Î±Æ¶Á¤Ï¼õ¤±¤Ê¤¤¡£
-ʸ»úÎóÁ´ÂΤ¬Æɤ߽Фµ¤ì¤ë¤È¡¢¤½¤ì°Ê¹ß¤Î read Áàºî¤Ç¤Ï 0 ¥Ð¥¤¥È¤¬ÊÖ¤µ¤ì¡¢
-¿·¤·¤¤ÃͤòÆɤ߽Ф¹¤Ë¤Ï¿·¤·¤¤¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤ò¥ª¡¼¥×¥ó¤¹¤ëɬÍפ¬¤¢¤ë¡£
+がレジスタ値と改行 (newline) 文字 1 個を格納するのに必要な長さより短い場合、
+同じファイルディスクリプタを続けて read することで、文字列全体を読み出すこと
+ができる。この際、実行中の SPU タスクによりレジスタ値の変更の影響は受けない。
+文字列全体が読み出されると、それ以降の read 操作では 0 バイトが返され、
+新しい値を読み出すには新しいファイルディスクリプタをオープンする必要がある。
 .TP
 .BR write (2)
-¤³¤Î¥Õ¥¡¥¤¥ë¤Ø¤Î
+このファイルへの
 .BR write (2)
-Áàºî¤Ï¥ì¥¸¥¹¥¿Ãͤòʸ»úÎó¤Ç»ØÄꤵ¤ì¤¿ÃͤËÀßÄꤹ¤ë¡£
-ʸ»úÎó¤Î²ò¼á¤ÏÀèƬ¤«¤é³«»Ï¤µ¤ì¡¢¿ô»ú°Ê³°¤Îʸ»ú¤¬½é¤á¤ÆÅо줹¤ë¤«¡¢
-¥Ð¥Ã¥Õ¥¡¤ÎËöÈø¤Ë㤹¤ë¤Þ¤Ç¹Ô¤ï¤ì¤ë¡£
-Ʊ¤¸¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤Ø³¤±¤Æ write ¤ò¹Ô¤¦¤È¡¢
-¸å¤Î write ¤Ë¤è¤êÁ°¤ÎÀßÄ꤬¾å½ñ¤­¤µ¤ì¤ë¡£
+操作はレジスタ値を文字列で指定された値に設定する。
+文字列の解釈は先頭から開始され、数字以外の文字が初めて登場するか、
+バッファの末尾に達するまで行われる。
+同じファイルディスクリプタへ続けて write を行うと、
+後の write により前の設定が上書きされる。
 .RE
 .TP
 .B /fpcr
-¤³¤Î¥Õ¥¡¥¤¥ë¤Ë¤è¤ê Floating Point Status and Control Register ¤Ë
-¥¢¥¯¥»¥¹¤Ç¤­¤ë¡£¤³¤Î¥Õ¥¡¥¤¥ë¤ÏÂ礭¤µ 4 ¥Ð¥¤¥È¤Ç¤¢¤ë¡£
+このファイルにより Floating Point Status and Control Register に
+アクセスできる。このファイルは大きさ 4 バイトである。
 .I fpcr
-¥Õ¥¡¥¤¥ë¤Ë²Äǽ¤ÊÁàºî¤Ï°Ê²¼¤Ç¤¢¤ë¡£
+ファイルに可能な操作は以下である。
 .RS
 .TP
 .BR read (2)
 .I count
-¤¬ 4 ¤è¤ê¾®¤µ¤¤¾ì¹ç¡¢
+が 4 より小さい場合、
 .BR read (2)
-¤Ï \-1 ¤òÊÖ¤·¡¢
+は \-1 を返し、
 .I errno
-¤ò
+を
 .B EINVAL
-¤ËÀßÄꤹ¤ë¡£
-¤½¤ì°Ê³°¤Î¾ì¹ç¡¢¥Ç¡¼¥¿¥Ð¥Ã¥Õ¥¡¤Ë 4 ¥Ð¥¤¥È¤ÎÃͤ¬½ñ¤­¹þ¤Þ¤ì¤ë¡£
-½ñ¤­¹þ¤Þ¤ì¤ëÃͤÏ
+に設定する。
+それ以外の場合、データバッファに 4 バイトの値が書き込まれる。
+書き込まれる値は
 .I fpcr
-¥ì¥¸¥¹¥¿¤Î¸½ºß¤ÎÃͤǤ¢¤ë¡£
+レジスタの現在の値である。
 .TP
 .BR write (2)
 .I count
-¤¬ 4 ¤è¤ê¾®¤µ¤¤¾ì¹ç¡¢
+が 4 より小さい場合、
 .BR write (2)
-¤Ï \-1 ¤òÊÖ¤·¡¢
+は \-1 を返し、
 .I errno
-¤ò
+を
 .B EINVAL
-¤ËÀßÄꤹ¤ë¡£
-¤½¤ì°Ê³°¤Î¾ì¹ç¡¢ 4 ¥Ð¥¤¥È¤ÎÃͤ¬¥Ç¡¼¥¿¥Ð¥Ã¥Õ¥¡¤«¤é¥³¥Ô¡¼¤µ¤ì¡¢
+に設定する。
+それ以外の場合、 4 バイトの値がデータバッファからコピーされ、
 .I fpcr
-¥ì¥¸¥¹¥¿¤ÎÃͤ¬¹¹¿·¤µ¤ì¤ë¡£
+レジスタの値が更新される。
 .RE
 .TP
 .BR /signal1 ", " /signal2
-¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤Ë¤è¤ê
-SPU ¤ÎÆó¤Ä¤Î¥·¥°¥Ê¥ëÄÌÃÎ¥Á¥ã¥Í¥ë (signal notification channel) ¤Ë
-¥¢¥¯¥»¥¹¤Ç¤­¤ë¡£
-¤³¤ì¤é¤Ï 32 ¥Ó¥Ã¥Èñ°Ì¤ÎÆɤ߽ñ¤­¤¬¤Ç¤­¤ë¡£
-¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤Î°ì¤Ä¤Ë½ñ¤­¹þ¤ß¤ò¹Ô¤¦¤È¡¢¤½¤Î SPU ¤Î³ä¤ê¹þ¤ß¤¬
-ȯÀ¸¤¹¤ë¥È¥ê¥¬¡¼¤È¤Ê¤ë¡£
-¥·¥°¥Ê¥ë¥Õ¥¡¥¤¥ë¤Ø½ñ¤­¹þ¤Þ¤ì¤¿Ãͤϡ¢¥Á¥ã¥Í¥ë·Ðͳ¤Ç SPU ¤ÇÆɤ߽Ф·¤¿¤ê¡¢
-¤³¤Î¥Õ¥¡¥¤¥ë·Ðͳ¤Ç¥Û¥¹¥È¤Î¥æ¡¼¥¶¶õ´Ö¤ÇÆɤ߽Ф·¤¿¤ê¤Ç¤­¤ë¡£
-SPU ¤¬ÃͤòÆɤ߽Ф·¤¿¸å¤Ç¤Ï¡¢ÃͤϠ0 ¤Ë¥ê¥»¥Ã¥È¤µ¤ì¤ë¡£
-¥ª¡¼¥×¥ó¤µ¤ì¤¿
+これらのファイルにより
+SPU の二つのシグナル通知チャネル (signal notification channel) に
+アクセスできる。
+これらは 32 ビット単位の読み書きができる。
+これらのファイルの一つに書き込みを行うと、その SPU の割り込みが
+発生するトリガーとなる。
+シグナルファイルへ書き込まれた値は、チャネル経由で SPU で読み出したり、
+このファイル経由でホストのユーザ空間で読み出したりできる。
+SPU が値を読み出した後では、値は 0 にリセットされる。
+オープンされた
 .I signal1
-¤ä
+や
 .I signal2
-¥Õ¥¡¥¤¥ë¤Ë²Äǽ¤ÊÁàºî¤Ï°Ê²¼¤Ç¤¢¤ë¡£
+ファイルに可能な操作は以下である。
 .RS
 .TP
 .BR read (2)
 .I count
-¤¬ 4 ¤è¤ê¾®¤µ¤¤¾ì¹ç¡¢
+が 4 より小さい場合、
 .BR read (2)
-¤Ï \-1 ¤òÊÖ¤·¡¢
+は \-1 を返し、
 .I errno
-¤ò
+を
 .B EINVAL
-¤ËÀßÄꤹ¤ë¡£
-¤½¤ì°Ê³°¤Î¾ì¹ç¡¢¥Ç¡¼¥¿¥Ð¥Ã¥Õ¥¡¤Ë 4 ¥Ð¥¤¥È¤ÎÃͤ¬½ñ¤­¹þ¤Þ¤ì¤ë¡£
-½ñ¤­¹þ¤Þ¤ì¤ëÃͤϡ¢»ØÄꤵ¤ì¤¿¥·¥°¥Ê¥ëÄÌÃΥ쥸¥¹¥¿¤Î¸½ºß¤ÎÃͤǤ¢¤ë¡£
+に設定する。
+それ以外の場合、データバッファに 4 バイトの値が書き込まれる。
+書き込まれる値は、指定されたシグナル通知レジスタの現在の値である。
 .TP
 .BR write (2)
 .I count
-¤¬ 4 ¤è¤ê¾®¤µ¤¤¾ì¹ç¡¢
+が 4 より小さい場合、
 .BR write (2)
-¤Ï \-1 ¤òÊÖ¤·¡¢
+は \-1 を返し、
 .I errno
-¤ò
+を
 .B EINVAL
-¤ËÀßÄꤹ¤ë¡£
-¤½¤ì°Ê³°¤Î¾ì¹ç¡¢ 4 ¥Ð¥¤¥È¤ÎÃͤ¬¥Ç¡¼¥¿¥Ð¥Ã¥Õ¥¡¤«¤é¥³¥Ô¡¼¤µ¤ì¡¢
-»ØÄꤵ¤ì¤¿¥·¥°¥Ê¥ëÄÌÃΥ쥸¥¹¥¿¤ÎÃͤ¬¹¹¿·¤µ¤ì¤ë¡£
-¥·¥°¥Ê¥ëÄÌÃΥ쥸¥¹¥¿¤Î¹¹¿·¤Ë¤Ï¡¢¥ì¥¸¥¹¥¿ÃͤòÆþÎϥǡ¼¥¿¤ÇÃÖ¤­´¹¤¨¤ë¥â¡¼¥É¤È
-°ÊÁ°¤ÎÃͤÈÆþÎϥǡ¼¥¿¤Î¥Ó¥Ã¥Èñ°Ì¤Î OR ¤ò¤È¤Ã¤¿Ãͤ˹¹¿·¤¹¤ë¥â¡¼¥É¤¬¤¢¤ë¡£
-¤É¤Á¤é¤Î¥â¡¼¥É¤Ë¤Ê¤ë¤«¤Ï¡¢¤½¤ì¤¾¤ì
+に設定する。
+それ以外の場合、 4 バイトの値がデータバッファからコピーされ、
+指定されたシグナル通知レジスタの値が更新される。
+シグナル通知レジスタの更新には、レジスタ値を入力データで置き換えるモードと
+以前の値と入力データのビット単位の OR をとった値に更新するモードがある。
+どちらのモードになるかは、それぞれ
 .IR signal1_type ,
 .I signal2_type
-¥Õ¥¡¥¤¥ë¤ÎÆâÍƤˤè¤Ã¤Æ·è¤Þ¤ë¡£
+ファイルの内容によって決まる。
 .RE
 .TP
 .BR /signal1_type ", " /signal2_type
-¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤Ï¡¢¥·¥°¥Ê¥ëÄÌÃÎ¥Õ¥¡¥¤¥ë
+これらのファイルは、シグナル通知ファイル
 .I signal1
-¤È
+と
 .I signal2
-¤ÎÆ°ºî¤òÊѹ¹¤¹¤ë¡£
-¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤Ï¿ôÃͤòɽ¤¹¥¢¥¹¥­¡¼Ê¸»úÎó¤òÊÝ»ý¤·¡¢
-Æɤ߽Ф¹¤È "1" ¤« "0" ¤Î¤É¤Á¤é¤«¤¬ÆÀ¤é¤ì¤ë¡£
-¥â¡¼¥É 0 (¾å½ñ¤­¥â¡¼¥É) ¤Ç¤Ï¡¢¥Ï¡¼¥É¥¦¥§¥¢¤Ï¥·¥°¥Ê¥ë¥Á¥ã¥Í¥ë¤ÎÆâÍƤò
-¥·¥°¥Ê¥ë¥Á¥ã¥Í¥ë¤Ë½ñ¤­¹þ¤Þ¤ì¤¿¥Ç¡¼¥¿¤ÇÃÖ¤­´¹¤¨¤ë¡£
-¥â¡¼¥É 1 (ÏÀÍý OR ¥â¡¼¥É) ¤Ç¤Ï¡¢¥Ï¡¼¥É¥¦¥§¥¢¤Ï¥·¥°¥Ê¥ë¥Á¥ã¥Í¥ë¤Ë
-½ñ¤­¹þ¤Þ¤ì¤¿¥Ó¥Ã¥È¤òÀÑ»»¤·¤Æ¤¤¤¯¡£
-¥ª¡¼¥×¥ó¤µ¤ì¤¿
+の動作を変更する。
+これらのファイルは数値を表すアスキー文字列を保持し、
+読み出すと "1" か "0" のどちらかが得られる。
+モード 0 (上書きモード) では、ハードウェアはシグナルチャネルの内容を
+シグナルチャネルに書き込まれたデータで置き換える。
+モード 1 (論理 OR モード) では、ハードウェアはシグナルチャネルに
+書き込まれたビットを積算していく。
+オープンされた
 .I signal1_type
-¤ä
+や
 .I signal2_type
-¥Õ¥¡¥¤¥ë¤Ë²Äǽ¤ÊÁàºî¤Ï°Ê²¼¤Ç¤¢¤ë¡£
+ファイルに可能な操作は以下である。
 .RS
 .TP
 .BR read (2)
 .BR read (2)
-¤ËÅϤµ¤ì¤¿
+に渡された
 .I count
-¤¬¥ì¥¸¥¹¥¿¤Î¿ôÃͤȲþ¹Ô (newline) Ê¸»ú 1 ¸Ä¤ò³ÊǼ¤¹¤ë¤Î¤ËɬÍפÊŤµ¤è¤ê
-û¤¤¾ì¹ç¡¢Æ±¤¸¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤ò³¤±¤Æ read ¤¹¤ë¤³¤È¤Ç¡¢
-ʸ»úÎóÁ´ÂΤòÆɤ߽Ф¹¤³¤È¤¬¤Ç¤­¤ë¡£
-ʸ»úÎóÁ´ÂΤ¬Æɤ߽Фµ¤ì¤ë¤È¡¢¤½¤ì°Ê¹ß¤Î read Áàºî¤Ç¤Ï 0 ¥Ð¥¤¥È¤¬ÊÖ¤µ¤ì¡¢
-¿·¤·¤¤ÃͤòÆɤ߽Ф¹¤Ë¤Ï¿·¤·¤¤¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤ò¥ª¡¼¥×¥ó¤¹¤ëɬÍפ¬¤¢¤ë¡£
+がレジスタの数値と改行 (newline) 文字 1 個を格納するのに必要な長さより
+短い場合、同じファイルディスクリプタを続けて read することで、
+文字列全体を読み出すことができる。
+文字列全体が読み出されると、それ以降の read 操作では 0 バイトが返され、
+新しい値を読み出すには新しいファイルディスクリプタをオープンする必要がある。
 .TP
 .BR write (2)
-¤³¤Î¥Õ¥¡¥¤¥ë¤Ø¤Î
+このファイルへの
 .BR write (2)
-Áàºî¤Ï¥ì¥¸¥¹¥¿Ãͤòʸ»úÎó¤Ç»ØÄꤵ¤ì¤¿ÃͤËÀßÄꤹ¤ë¡£
-ʸ»úÎó¤Î²ò¼á¤ÏÀèƬ¤«¤é³«»Ï¤µ¤ì¡¢¿ô»ú°Ê³°¤Îʸ»ú¤¬½é¤á¤ÆÅо줹¤ë¤«¡¢
-¥Ð¥Ã¥Õ¥¡¤ÎËöÈø¤Ë㤹¤ë¤Þ¤Ç¹Ô¤ï¤ì¤ë¡£
-Ʊ¤¸¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤Ø³¤±¤Æ write ¤ò¹Ô¤¦¤È¡¢
-¸å¤Î write ¤Ë¤è¤êÁ°¤ÎÀßÄ꤬¾å½ñ¤­¤µ¤ì¤ë¡£
+操作はレジスタ値を文字列で指定された値に設定する。
+文字列の解釈は先頭から開始され、数字以外の文字が初めて登場するか、
+バッファの末尾に達するまで行われる。
+同じファイルディスクリプタへ続けて write を行うと、
+後の write により前の設定が上書きされる。
 .RE
-.SH Îã
+.SH 
 .TP
 .IR /etc/fstab "  entry"
 none   /spu    spufs   gid=spu         0       0
@@ -473,7 +473,7 @@ none        /spu    spufs   gid=spu         0       0
 .\" Arnd Bergmann <arndb@de.ibm.com>,
 .\" Mark Nutter <mnutter@us.ibm.com> and
 .\" Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
-.SH ´ØÏ¢¹àÌÜ
+.SH 関連項目
 .BR close (2),
 .BR spu_create (2),
 .BR spu_run (2)