OSDN Git Service

長音記号の修正を release に反映
[linuxjm/LDP_man-pages.git] / release / man2 / syscalls.2
index 0d769af..869ad88 100644 (file)
@@ -51,13 +51,13 @@ syscalls \- Linux のシステムコール
 .SH 書式
 Linux のシステムコール。
 .SH 説明
-システムコールは、アプリケーションと Linux カーネルとの間の 基本的なインタフェースである。
\82·ã\82¹ã\83\86ã\83 ã\82³ã\83¼ã\83«ã\81¯ã\80\81ã\82¢ã\83\97ã\83ªã\82±ã\83¼ã\82·ã\83§ã\83³ã\81¨ Linux ã\82«ã\83¼ã\83\8dã\83«ã\81¨ã\81®é\96\93ã\81® å\9fºæ\9c¬ç\9a\84ã\81ªã\82¤ã\83³ã\82¿ã\83¼ã\83\95ã\82§ã\83¼ã\82¹ã\81§ã\81\82ã\82\8bã\80\82
 .SS システムコールとライブラリのラッパー関数
 システムコールは一般には直接起動されず、 glibc (や他の何らかのライブラリ)  経由で起動される。 システムコールの直接起動については、詳細は
 \fBintro\fP(2)  を参照のこと。 いつもという訳ではないが、普通は、ラッパー関数の名前はその関数が起動する システムコールの名前と同じである。
 例えば、glibc には \fBtruncate\fP()  という関数があり、この関数は "truncate" システムコールを起動する。
 
-たいていの場合、glibc のラッパー関数はかなり簡単なもので、 システムコールを起動する前に引き数を適切なレジスタにコピーし、
\81\9fã\81\84ã\81¦ã\81\84ã\81®å ´å\90\88ã\80\81glibc ã\81®ã\83©ã\83\83ã\83\91ã\83¼é\96¢æ\95°ã\81¯ã\81\8bã\81ªã\82\8aç°¡å\8d\98ã\81ªã\82\82ã\81®ã\81§ã\80\81 ã\82·ã\82¹ã\83\86ã\83 ã\82³ã\83¼ã\83«ã\82\92èµ·å\8b\95ã\81\99ã\82\8bå\89\8dã\81«å¼\95ã\81\8dæ\95°ã\82\92é\81©å\88\87ã\81ªã\83¬ã\82¸ã\82¹ã\82¿ã\83¼ã\81«ã\82³ã\83\94ã\83¼ã\81\97ã\80\81
 システムコールが返った後は \fIerrno\fP を適切に設定する以外は、ほとんど処理を行わない (これらは、ラッパー関数が提供されていない場合に
 システムコールを起動するのに使用する \fBsyscall\fP(2)  により実行される処理と同じである)。 [注意]
 システムコールは失敗を示すのに負のエラー番号を呼び出し元に返す。 失敗が起こった際には、ラッパー関数は返されたエラー番号を反転して
@@ -615,7 +615,7 @@ x86\-32 を含む多くのプラットフォームでは、ソケット関連の
 カーネル用であり、標準のカーネルに登場することはないかもしれない。
 
 \fBset_zone_reclaim\fP(2) は少しの間だけ存在した。 Linux 2.6.13 で追加され、2.6.16
-で削除された。このシステムコールがユーザ空間から使える状態になったことはない。
+で削除された。このシステムコールがユーザ空間から使える状態になったことはない。
 .SH 注意
 .PP
 たいていは、 \fI/usr/include/asm/unistd.h\fP で定義されている番号 __NR_xxx のシステムコールのコードは、 Linux
@@ -626,7 +626,7 @@ parisc, sparc, sparc64, alpha
 といったプロプリエタリなオペレーティングシステムのエミュレーション機能があるプラットフォームでは、多くの追加システムコールがある。 mips64
 には、32 ビットシステムコールのフルセットも含まれている。
 
-時間の経過とともに、いくつかのシステムコールではインタフェースの 変更が必要になってきた。
\99\82é\96\93ã\81®çµ\8cé\81\8eã\81¨ã\81¨ã\82\82ã\81«ã\80\81ã\81\84ã\81\8fã\81¤ã\81\8bã\81®ã\82·ã\82¹ã\83\86ã\83 ã\82³ã\83¼ã\83«ã\81§ã\81¯ã\82¤ã\83³ã\82¿ã\83¼ã\83\95ã\82§ã\83¼ã\82¹ã\81® å¤\89æ\9b´ã\81\8cå¿\85è¦\81ã\81«ã\81ªã\81£ã\81¦ã\81\8dã\81\9fã\80\82
 こうした変更の理由の一つは、システムコールに渡される構造体やスカラー値 のサイズを増やす必要があることだった。
 これらの変更の結果、現在では、同様の処理を実行するが 引き数のサイズなどの詳細は異なる、一連のシステムコール群が いくつか存在する (例えば、
 \fBtruncate\fP(2)  と \fBtruncate64\fP(2))。 (すでに述べたように、
@@ -653,16 +653,16 @@ Linux 2.4 では、 \fBgetrlimit\fP(2)  の新バージョンが登場した。
 .IP *
 .\" 64-bit off_t changes: ftruncate64, *stat64,
 .\" fcntl64 (because of the flock structure), getdents64, *statfs64
-Linux 2.4 で、ユーザ ID とグループ ID のサイズが 16 ビットから 32 ビットに増えた。
+Linux 2.4 で、ユーザ ID とグループ ID のサイズが 16 ビットから 32 ビットに増えた。
 この変更に対応するため、いくつかのシステムコールが追加された (\fBchown32\fP(2), \fBgetuid32\fP(2),
 \fBgetgroups32\fP(2), \fBsetresuid32\fP(2)  など)。 これらのシステムコールが、末尾の "32" が付かない同名の
 古いバージョンに代わって使われるようになった。
 .IP *
-Linux 2.4 では、32 ビットアーキテクチャ上のアプリケーションが 大きなファイル (つまり、32 ビットでは表現できないサイズや
+Linux 2.4 では、32 ビットアーキテクチャ上のアプリケーションが 大きなファイル (つまり、32 ビットでは表現できないサイズや
 ファイルオフセットが必要なファイル) にアクセスできるようになった。 この変更に対応するため、ファイルオフセットとサイズを扱う
 システムコールの置き換えが必要となった。その結果、 \fBfcntl64\fP(2), \fBftruncate64\fP(2),
 \fBgetdents64\fP(2), \fBstat64\fP(2), \fBstatfs64\fP(2)
-と、ファイルディスクリプタやシンボリックリンクで同じ機能を持つ システムコールが追加された。 これらのシステムコールが、末尾の "64"
\81¨ã\80\81ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\82\84ã\82·ã\83³ã\83\9cã\83ªã\83\83ã\82¯ã\83ªã\83³ã\82¯ã\81§å\90\8cã\81\98æ©\9fè\83½ã\82\92æ\8c\81ã\81¤ ã\82·ã\82¹ã\83\86ã\83 ã\82³ã\83¼ã\83«ã\81\8c追å\8a ã\81\95ã\82\8cã\81\9fã\80\82 ã\81\93ã\82\8cã\82\89ã\81®ã\82·ã\82¹ã\83\86ã\83 ã\82³ã\83¼ã\83«ã\81\8cã\80\81æ\9c«å°¾ã\81® "64"
 が付かない同名の 古いバージョンに代わって使われるようになった。 但し、"stat" 系のシステムコールはその限りではない。
 
 64\-bit ファイルアクセスと 32\-bit UID のみを持つ 新しいプラットフォーム (alpha, ia64, s390x など) では、
@@ -694,9 +694,9 @@ Linux 2.4 では、32 ビットアーキテクチャ上のアプリケーショ
 .\" and the semantics of the latter call were changed to what
 .\" they are today.
 \fBselect\fP(2)  と \fBmmap\fP(2)  は 5つもしくはそれ以上の引き数を使用しており、 i386 では引き数の受け渡しに問題が生じる。
-そのため、他のアーキテクチャでは \fI__NR_select\fP と \fI__NR_mmap\fP に対応する \fIsys_select\fP()  と
\81\9dã\81®ã\81\9fã\82\81ã\80\81ä»\96ã\81®ã\82¢ã\83¼ã\82­ã\83\86ã\82¯ã\83\81ã\83£ã\83¼ã\81§ã\81¯ \fI__NR_select\fP ã\81¨ \fI__NR_mmap\fP ã\81«å¯¾å¿\9cã\81\99ã\82\8b \fIsys_select\fP()  ã\81¨
 \fIsys_mmap\fP()  が存在するが、i386 では代わりに \fIold_select\fP()  と \fIold_mmap\fP()
-というルーチンがある (これらのルーチンは引き数ブロックへのポインタを使用する)。 現在では 5つの引き数を渡すことはもはや問題ではなくなっており、
\81¨ã\81\84ã\81\86ã\83«ã\83¼ã\83\81ã\83³ã\81\8cã\81\82ã\82\8b (ã\81\93ã\82\8cã\82\89ã\81®ã\83«ã\83¼ã\83\81ã\83³ã\81¯å¼\95ã\81\8dæ\95°ã\83\96ã\83­ã\83\83ã\82¯ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\82\92使ç\94¨ã\81\99ã\82\8b\80\82 ç\8f¾å\9c¨ã\81§ã\81¯ 5ã\81¤ã\81®å¼\95ã\81\8dæ\95°ã\82\92渡ã\81\99ã\81\93ã\81¨ã\81¯ã\82\82ã\81¯ã\82\84å\95\8fé¡\8cã\81§ã\81¯ã\81ªã\81\8fã\81ªã\81£ã\81¦ã\81\8aã\82\8aã\80\81
 \fI__NR__newselect\fP は \fIsys_select\fP()  に直接対応するようになっている。 \fI__NR_mmap2\fP
 についても同様である。
 .SH 関連項目