FreeBSD 日本語マニュアル検索 (jman/japropos/jwhatis)


日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。

4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.3-RELEASE-K, 13.0-RELEASE-K から 13.2-RELEASE-K は、全翻訳済み)

13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。



検索コマンド: man apropos whatis
コマンド/キーワード:
日本語マニュアル RELEASE :
セクション:
Table of Contents
名称 | ライブラリ | 書式 | 解説 | | 戻り値 | エラー | 関連項目 | 歴史 | バグ
BRK(2)                 FreeBSD システムコールマニュアル                 BRK(2)

名称
     brk, sbrk -- データセグメントのサイズを変更する

ライブラリ
     標準 C ライブラリ (libc, -lc)

書式
     #include <unistd.h>

     int
     brk(const void *addr);

     void *
     sbrk(intptr_t incr);

解説
     brk()  sbrk() 関数は、現代の仮想メモリ管理の出現の前の古いインタフェー
     スです。それらは、arm64 または riscv アーキテクチャに存在せず、推奨されま
     せん。mmap(2) インタフェースは、代わりにページを割り付けるために使用され
     るべきです。

     brk() と sbrk() 関数は、プロセスのデータセグメントに割り付けられるメモリ
     の量を変更するために使用されます。それらは、``break'' の位置を移動するこ
     とによってこれを行います。ブレークは、プロセスの初期化されないデータセグ
     メントの終わりの後の最初のアドレスです (また、``BSS'' として知られていま
     す)。

     brk() 関数は、ブレークを addr に設定します。

     sbrk() 関数は、incr バイトによってブレークを起こし、したがって、少なくと
     も incr バイトの新しいメモリをデータセグメントの割り付けます。incr が負で
     あるなら、ブレークは、incr バイトずつ減されます。


     カーネルによって管理される実際のプロセスデータのセグメントサイズは、ペー
     ジサイズの単位で増加するか、または縮小し、これらの関数は、整列されない値
     にブレークを設定することを許可します (すなわち、それは、データセグメント
     の最後のページ内のあらゆるアドレスを指すことができます)。

     プログラムのブレークの現在の値は、sbrk(0) を呼び出すことによって決定でき
     ます。また end(3) を参照してください。

     getrlimit(2) システムコールは、データセグメントの最大の許容されているサイ
     ズを決定するために使用されます。``etext + rlim.rlim_max'' を越えるブレー
     クを設定することはできません、ここで、rlim.rlim_max 値は、
     getrlimit(RLIMIT_DATA, &rlim) への呼び出しから返されます。(etext の定義に
     ついては、end(3) を参照してください)。

戻り値
     関数 brk() は、処理が成功すると値 0 を返します。そうでない場合、値 -1 が
     返され、グローバル変数 errno にエラーを示す値が設定されます。

     sbrk() 関数は、成功するなら、以前のブレーク値を返します。そうでなければ、
     値 (void *)-1 が返され、グローバル変数 errno は、エラーを示す値に設定され
     ます。

エラー
     brk() と sbrk() 関数は、次の場合に失敗します:

     [EINVAL]           要求されたブレーク値がデータセグメントの最初を越えまし
                        た。

     [ENOMEM]           setrlimit(2) によって設定されるデータセグメントのサイ
                        ズの制限が越えました。

     [ENOMEM]           データセグメントの拡張をサポートするためのスワップ領域
                        に存在する空間が不足しています。

関連項目
     execve(2), getrlimit(2), mmap(2), end(3), free(3), malloc(3)

歴史
     brk() 関数は、Version 7 AT&T UNIX で登場しました。FreeBSD 11.0 は、brk()
     または sbrk() をサポートしない arm64 と riscv アーキテクチャを導入しまし
     た。

バグ
     malloc(3), free(3) または同様な関数と brk() または sbrk() を混合すること
     は、移植性のないプログラムの振る舞いの結果となります。

     ブレークを設定することは、スワップ空間の一時的な不足のため失敗するかもし
     れません。これは、getrlimit(2) で調べずにデータセグメントの最大のサイズを
     越えることによって起こされる失敗と区別することができません。

     sbrk() は、0 の引数で呼び出すことによってヒープ (heap) を監視するために、
     時々使用されます。結果は、mmap(2) 基づいた malloc と組み合わせて実際の利
     用を反映することはありそうもありません。

FreeBSD 11.2                     May 24, 2018                     FreeBSD 11.2

Table of Contents

FreeBSD マニュアル検索