OSDN Git Service

Update release pages for v3.79
[linuxjm/LDP_man-pages.git] / release / man2 / mremap.2
index 0b2f215..5195af5 100644 (file)
@@ -45,7 +45,7 @@
 .\"
 .TH MREMAP 2 2010\-06\-10 Linux "Linux Programmer's Manual"
 .SH 名前
-mremap \- ä»®æ\83³ã\83¡ã\83¢ã\83ªã\83»アドレスを再マッピングする
+mremap \- ä»®æ\83³ã\83¡ã\83¢ã\83ªã\83¼アドレスを再マッピングする
 .SH 書式
 .nf
 \fB#define _GNU_SOURCE\fP         /* feature_test_macros(7) 参照 */
@@ -56,29 +56,29 @@ mremap \- 仮想メモリ・アドレスを再マッピングする
 \fB             size_t \fP\fInew_size\fP\fB, int \fP\fIflags\fP\fB, ... /* void *\fP\fInew_address\fP\fB */);\fP
 .fi
 .SH 説明
-\fBmremap\fP()  ã\81¯æ\97¢å­\98ã\81®ã\83¡ã\83¢ã\83ªã\83»マッピングの拡張 (または縮小) を行う。 同時に移動されることもある (\fIflags\fP
+\fBmremap\fP()  ã\81¯æ\97¢å­\98ã\81®ã\83¡ã\83¢ã\83ªã\83¼マッピングの拡張 (または縮小) を行う。 同時に移動されることもある (\fIflags\fP
 引き数と利用可能な仮想アドレス空間によって決まる)。
 
-\fIold_address\fP ã\81¯æ\8b¡å¼µ (ã\81¾ã\81\9fã\81¯ç¸®å°\8f) ã\81\97ã\82\88ã\81\86ã\81¨ã\81\99ã\82\8bä»®æ\83³ã\83¡ã\83¢ã\83ªã\83»ブロック の元のアドレスである。\fIold_address\fP
\81¯ã\83\9aã\83¼ã\82¸å¢\83ç\95\8cã\81«å\90\88ã\81£ã\81¦ã\81\84ã\81ªã\81\91ã\82\8cã\81° ã\81ªã\82\89ã\81ªã\81\84ç\82¹ã\81«æ³¨æ\84\8fã\81\99ã\82\8bã\81\93ã\81¨ã\80\82\fIold_size\fP ã\81¯å\85\83ã\81®ä»®æ\83³ã\83¡ã\83¢ã\83ªã\83»ブロックの サイズである。 \fInew_size\fP
\81¯è¦\81æ±\82ã\81\99ã\82\8bå¤\89æ\9b´å¾\8cã\81®ä»®æ\83³ã\83¡ã\83¢ã\83ªã\83»ブロックのサイズである。 5 番目の引き数として \fInew_address\fP を指定することができる。下記の
+\fIold_address\fP ã\81¯æ\8b¡å¼µ (ã\81¾ã\81\9fã\81¯ç¸®å°\8f) ã\81\97ã\82\88ã\81\86ã\81¨ã\81\99ã\82\8bä»®æ\83³ã\83¡ã\83¢ã\83ªã\83¼ブロック の元のアドレスである。\fIold_address\fP
\81¯ã\83\9aã\83¼ã\82¸å¢\83ç\95\8cã\81«å\90\88ã\81£ã\81¦ã\81\84ã\81ªã\81\91ã\82\8cã\81° ã\81ªã\82\89ã\81ªã\81\84ç\82¹ã\81«æ³¨æ\84\8fã\81\99ã\82\8bã\81\93ã\81¨ã\80\82\fIold_size\fP ã\81¯å\85\83ã\81®ä»®æ\83³ã\83¡ã\83¢ã\83ªã\83¼ブロックの サイズである。 \fInew_size\fP
\81¯è¦\81æ±\82ã\81\99ã\82\8bå¤\89æ\9b´å¾\8cã\81®ä»®æ\83³ã\83¡ã\83¢ã\83ªã\83¼ブロックのサイズである。 5 番目の引き数として \fInew_address\fP を指定することができる。下記の
 \fBMREMAP_FIXED\fP の説明を参照のこと。
 
-Linux ã\81§ã\81¯ã\83¡ã\83¢ã\83ªã\81¯ã\83\9aã\83¼ã\82¸ã\81«å\88\86å\89²ã\81\95ã\82\8cã\82\8bã\80\82ã\83¦ã\83¼ã\82¶ã\83¼ã\83»ã\83\97ã\83­ã\82»ã\82¹ã\81¯ (ä¸\80ã\81¤ã\81¾ã\81\9fã\81¯)  è¤\87æ\95°ã\81®ã\83ªã\83\8bã\82¢ã\81ªä»®æ\83³ã\83¡ã\83¢ã\83ªセグメントを持つ。
\81\9dã\82\8cã\81\9eã\82\8cã\81®ä»®æ\83³ã\83¡ã\83¢ã\83ªã\82»ã\82°ã\83¡ã\83³ã\83\88ã\81¯ä¸\80ã\81¤ä»¥ä¸\8aã\81®å®\9fã\83¡ã\83¢ã\83ªã\83»ã\83\9aã\83¼ã\82¸ ã\81«ã\83\9eã\83\83ã\83\94ã\83³ã\82°ã\81\95ã\82\8cã\81¦ã\81\84ã\82\8b (ã\83\9eã\83\83ã\83\94ã\83³ã\82°æ\83\85å ±ã\81¯ã\83\9aã\83¼ã\82¸ã\83»テーブルで管理される)。
-ä»®æ\83³ã\83¡ã\83¢ã\83ªã\82»ã\82°ã\83¡ã\83³ã\83\88ã\81«ã\81¯ã\82»ã\82°ã\83¡ã\83³ã\83\88æ¯\8eã\81®ä¿\9dè­· (ã\82¢ã\82¯ã\82»ã\82¹æ¨©) ã\81\8c設å®\9aã\81\95ã\82\8cã\81¦ã\81\8aã\82\8aã\80\81 ã\83¡ã\83¢ã\83ªが不正にアクセスされた場合 (例えば読み込み専用のセグメントに
+Linux ã\81§ã\81¯ã\83¡ã\83¢ã\83ªã\83¼ã\81¯ã\83\9aã\83¼ã\82¸ã\81«å\88\86å\89²ã\81\95ã\82\8cã\82\8bã\80\82ã\83¦ã\83¼ã\82¶ã\83¼ã\83\97ã\83­ã\82»ã\82¹ã\81¯ (ä¸\80ã\81¤ã\81¾ã\81\9fã\81¯)  è¤\87æ\95°ã\81®ã\83ªã\83\8bã\82¢ã\81ªä»®æ\83³ã\83¡ã\83¢ã\83ªã\83¼セグメントを持つ。
\81\9dã\82\8cã\81\9eã\82\8cã\81®ä»®æ\83³ã\83¡ã\83¢ã\83ªã\83¼ã\82»ã\82°ã\83¡ã\83³ã\83\88ã\81¯ä¸\80ã\81¤ä»¥ä¸\8aã\81®å®\9fã\83¡ã\83¢ã\83ªã\83¼ã\83\9aã\83¼ã\82¸ ã\81«ã\83\9eã\83\83ã\83\94ã\83³ã\82°ã\81\95ã\82\8cã\81¦ã\81\84ã\82\8b (ã\83\9eã\83\83ã\83\94ã\83³ã\82°æ\83\85å ±ã\81¯ã\83\9aã\83¼ã\82¸テーブルで管理される)。
+ä»®æ\83³ã\83¡ã\83¢ã\83ªã\83¼ã\82»ã\82°ã\83¡ã\83³ã\83\88ã\81«ã\81¯ã\82»ã\82°ã\83¡ã\83³ã\83\88æ¯\8eã\81®ä¿\9dè­· (ã\82¢ã\82¯ã\82»ã\82¹æ¨©) ã\81\8c設å®\9aã\81\95ã\82\8cã\81¦ã\81\8aã\82\8aã\80\81 ã\83¡ã\83¢ã\83ªã\83¼が不正にアクセスされた場合 (例えば読み込み専用のセグメントに
 書き込んだ場合)、セグメンテーション侵害 (segmentation violation) を
-引き起こす。また、セグメント外の仮想メモリにアクセスした場合にも セグメンテーション侵害が発生する。
+å¼\95ã\81\8dèµ·ã\81\93ã\81\99ã\80\82ã\81¾ã\81\9fã\80\81ã\82»ã\82°ã\83¡ã\83³ã\83\88å¤\96ã\81®ä»®æ\83³ã\83¡ã\83¢ã\83ªã\83¼ã\81«ã\82¢ã\82¯ã\82»ã\82¹ã\81\97ã\81\9få ´å\90\88ã\81«ã\82\82 ã\82»ã\82°ã\83¡ã\83³ã\83\86ã\83¼ã\82·ã\83§ã\83³ä¾µå®³ã\81\8cç\99ºç\94\9fã\81\99ã\82\8bã\80\82
 
-\fBmremap\fP()  ã\81¯ Linux ã\81®ã\83\9aã\83¼ã\82¸ã\83»ã\83\86ã\83¼ã\83\96ã\83«æ\96¹å¼\8fã\82\92使ç\94¨ã\81\99ã\82\8bã\80\82 \fBmremap\fP()
\81¯ä»®æ\83³ã\82¢ã\83\89ã\83¬ã\82¹ã\81¨ã\83¡ã\83¢ã\83ªã\83»ページのマッピングを変更する。これは非常に効率的な \fBrealloc\fP(3)  を実装するのに使用されている。
+\fBmremap\fP()  は Linux のページテーブル方式を使用する。 \fBmremap\fP()
\81¯ä»®æ\83³ã\82¢ã\83\89ã\83¬ã\82¹ã\81¨ã\83¡ã\83¢ã\83ªã\83¼ページのマッピングを変更する。これは非常に効率的な \fBrealloc\fP(3)  を実装するのに使用されている。
 
 \fIflags\fP ビットマスク引数は 0 または以下のフラグを含む:
 .TP 
 \fBMREMAP_MAYMOVE\fP
 デフォルトでは、現在の位置にマッピングを拡張するための 十分な空きがなければ \fBmremap\fP()  は失敗する。
 このフラグが指定されると、カーネルは必要があればマッピングを 新しい仮想アドレスに再配置することができる
-マッピングが再配置されると、古いマッピング位置への絶対ポインタは 無効になる (マッピングの開始アドレスからの相対オフセットは有効のままである)。
\83\9eã\83\83ã\83\94ã\83³ã\82°ã\81\8cå\86\8dé\85\8dç½®ã\81\95ã\82\8cã\82\8bã\81¨ã\80\81å\8f¤ã\81\84ã\83\9eã\83\83ã\83\94ã\83³ã\82°ä½\8dç½®ã\81¸ã\81®çµ¶å¯¾ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\81¯ ç\84¡å\8a¹ã\81«ã\81ªã\82\8b (ã\83\9eã\83\83ã\83\94ã\83³ã\82°ã\81®é\96\8bå§\8bã\82¢ã\83\89ã\83¬ã\82¹ã\81\8bã\82\89ã\81®ç\9b¸å¯¾ã\82ªã\83\95ã\82»ã\83\83ã\83\88ã\81¯æ\9c\89å\8a¹ã\81®ã\81¾ã\81¾ã\81§ã\81\82ã\82\8b\80\82
 .TP 
 \fBMREMAP_FIXED\fP (Linux 2.3.31 以降)
 このフラグは \fBmmap\fP(2)  の \fBMAP_FIXED\fP フラグと似たような目的で用いられる。 このフラグが指定されると、
@@ -87,20 +87,21 @@ Linux ではメモリはページに分割される。ユーザー・プロセ
 と \fInew_size\fP で指定されるアドレス範囲に過去のマッピングがあった場合、 そのマッピングはアンマップされる (unmapped)。
 \fBMREMAP_FIXED\fP を指定した場合は、 \fBMREMAP_MAYMOVE\fP も指定しなければならない。
 .PP
-\fIold_address\fP と \fIold_size\fP で指定されるメモリセグメントが (\fBmlock\fP(2)  や同様のもので)
+\fIold_address\fP ã\81¨ \fIold_size\fP ã\81§æ\8c\87å®\9aã\81\95ã\82\8cã\82\8bã\83¡ã\83¢ã\83ªã\83¼ã\82»ã\82°ã\83¡ã\83³ã\83\88ã\81\8c (\fBmlock\fP(2)  ã\82\84å\90\8cæ§\98ã\81®ã\82\82ã\81®ã\81§)
 ロックされている場合、セグメントのサイズが変わったり 再配置されたりした時にロックも維持される。
-その結果、プロセスによってロックされるメモリの量は変化する。
\81\9dã\81®çµ\90æ\9e\9cã\80\81ã\83\97ã\83­ã\82»ã\82¹ã\81«ã\82\88ã\81£ã\81¦ã\83­ã\83\83ã\82¯ã\81\95ã\82\8cã\82\8bã\83¡ã\83¢ã\83ªã\83¼ã\81®é\87\8fã\81¯å¤\89å\8c\96ã\81\99ã\82\8bã\80\82
 .SH 返り値
-成功した場合は \fBmremap\fP()  は新しい仮想メモリ領域へのポインタを返す。 エラーの場合は \fBMAP_FAILED\fP (すなわち
+成功した場合は \fBmremap\fP()  は新しい仮想メモリー領域へのポインターを返す。 エラーの場合は \fBMAP_FAILED\fP (すなわち
 \fI(void\ *)\ \-1\fP) が返され、 \fIerrno\fP が適切に設定される。
 .SH エラー
 .TP 
 \fBEAGAIN\fP
-呼び出し元がロックされているメモリセグメントを拡張しようとしたが、 \fBRLIMIT_MEMLOCK\fP リソース制限を越えずにこれを行うことができない。
+呼び出し元がロックされているメモリーセグメントを拡張しようとしたが、 \fBRLIMIT_MEMLOCK\fP
+リソース制限を越えずにこれを行うことができない。
 .TP 
 \fBEFAULT\fP
 「セグメンテーション違反(segmentation fault)」 \fIold_address\fP から
-\fIold_address\fP+\fIold_size\fP ã\81® ç¯\84å\9b²ã\81®ã\82¢ã\83\89ã\83¬ã\82¹ã\81®ã\81©ã\82\8cã\81\8bã\81\8cã\81\93ã\81®ã\83\97ã\83­ã\82»ã\82¹ã\81«ã\81\8aã\81\84ã\81¦ä¸\8dæ­£ã\81ªä»®æ\83³ã\83¡ã\83¢ã\83ªã\83»アドレスである。
+\fIold_address\fP+\fIold_size\fP ã\81® ç¯\84å\9b²ã\81®ã\82¢ã\83\89ã\83¬ã\82¹ã\81®ã\81©ã\82\8cã\81\8bã\81\8cã\81\93ã\81®ã\83\97ã\83­ã\82»ã\82¹ã\81«ã\81\8aã\81\84ã\81¦ä¸\8dæ­£ã\81ªä»®æ\83³ã\83¡ã\83¢ã\83ªã\83¼アドレスである。
 たとえ要求したアドレス空間全体を含むようなマッピングがあったとしても、 それらのマッピングが異なった型ならば \fBEFAULT\fP を受け取るだろう。
 .TP 
 \fBEINVAL\fP
@@ -111,8 +112,8 @@ Linux ではメモリはページに分割される。ユーザー・プロセ
 \fBMREMAP_FIXED\fP が指定されているが \fBMREMAP_MAYMOVE\fP が指定されていない。
 .TP 
 \fBENOMEM\fP
-現在の仮想アドレスではメモリ領域が拡張できず、 \fBMREMAP_MAYMOVE\fP フラグが \fIflags\fP に設定されていない。 または十分な
-(仮想) メモリが存在しない。
+現在の仮想アドレスではメモリ領域が拡張できず、 \fBMREMAP_MAYMOVE\fP フラグが \fIflags\fP に設定されていない。 または十分な
+(ä»®æ\83³) ã\83¡ã\83¢ã\83ªã\83¼ã\81\8cå­\98å\9c¨ã\81\97ã\81ªã\81\84ã\80\82
 .SH 準拠
 .\" 4.2BSD had a (never actually implemented)
 .\" .BR mremap (2)
@@ -125,11 +126,11 @@ Linux ではメモリはページに分割される。ユーザー・プロセ
 \fBbrk\fP(2), \fBgetpagesize\fP(2), \fBgetrlimit\fP(2), \fBmlock\fP(2), \fBmmap\fP(2),
 \fBsbrk\fP(2), \fBrealloc\fP(3), \fBmalloc\fP(3)
 
-ページ分割されたメモリについてもっと詳しく知りたいならば、あなたのお気に入りのオペレーティングシステムの教科書を参照してほしい (例えば、
\83\9aã\83¼ã\82¸å\88\86å\89²ã\81\95ã\82\8cã\81\9fã\83¡ã\83¢ã\83ªã\83¼ã\81«ã\81¤ã\81\84ã\81¦ã\82\82ã\81£ã\81¨è©³ã\81\97ã\81\8fç\9f¥ã\82\8aã\81\9fã\81\84ã\81ªã\82\89ã\81°ã\80\81ã\81\82ã\81ªã\81\9fã\81®ã\81\8aæ°\97ã\81«å\85¥ã\82\8aã\81®ã\82ªã\83\9aã\83¬ã\83¼ã\83\86ã\82£ã\83³ã\82°ã\82·ã\82¹ã\83\86ã\83 ã\81®æ\95\99ç§\91æ\9b¸ã\82\92å\8f\82ç\85§ã\81\97ã\81¦ã\81»ã\81\97ã\81\84 (ä¾\8bã\81\88ã\81°ã\80\81
 \fIModern Operating Systems\fP by Andrew S. Tanenbaum, \fIInside Linux\fP by
 Randolf Bentson, \fIThe Design of the UNIX Operating System\fP by Maurice
 J. Bach.)
 .SH この文書について
-この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.64 の一部
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.79 の一部
 である。プロジェクトの説明とバグ報告に関する情報は
 http://www.kernel.org/doc/man\-pages/ に書かれている。