日本語 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.4-RELEASE-K, 13.0-RELEASE-K から 13.3-RELEASE-K, 14.0-RELEASE-K から 14.1-RELEASE-K は、全翻訳済み)
13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。
Table of Contents
MEM(4) FreeBSD カーネルインタフェースマニュアル MEM(4) 名称 mem, kmem -- メモリファイル 書式 device mem 解説 特殊ファイル /dev/mem は、コンピュータの物理メモリへのインタフェースで す。このファイルのバイトオフセットは、物理メモリアドレスとして解釈されま す。このファイルを読み書きすることは、メモリ自体を読み書きすることと同等 です。/dev/mem の範囲内のオフセットだけが許可されます。 カーネル仮想記憶は、/dev/mem と同じ方法でインタフェース /dev/kmem を通し てアクセスされます。現在メモリにマップされているカーネルの仮想アドレスだ けが許可されます。 ISA において、I/O メモリ空間は、物理アドレス 0x000a0000 から始まって 0x00100000 まで達します。現在プロセスのためのプロセスごとのデータサイズ は、UPAGES であり、仮想アドレス 0xf0000000 で終わります。 IOCTL インタフェース いくつかのアーキテクチャによって、属性は、物理メモリの範囲に関連付けする ことができます。/dev/mem で実行される ioctl() 呼び出しによって、これらの 属性を操作することができます。宣言とデータタイプは、<sys/memrange.h> に存 在します。 特有の属性とプログラム可能な範囲の数は、アーキテクチャの間で異なります。 サポートしている属性の一式は、次の通りです: MDF_UNCACHEABLE 範囲は、キャッシュされていません。 MDF_WRITECOMBINE 範囲への書き込みは、結合されているか、または異常な実行です。 MDF_WRITETHROUGH 範囲への書き込みは、同期して行なわれました。 MDF_WRITEBACK 範囲への書き込みは、非同期に行なわれました。 MDF_WRITEPROTECT 範囲に書き込むことができません。 メモリ範囲は、struct mem_range_desc に説明されています: uint64_t mr_base; /* 物理基本アドレス */ uint64_t mr_len; /* 範囲の物理長 */ int mr_flags; /* 範囲の属性 */ char mr_owner[8]; 上にリストされた範囲属性に加えて、次のフラグも、mr_flags フィールドに設定 されます: MDF_FIXBASE 範囲のベースアドレスを変更することができません。 MDF_FIXLEN 範囲の長さを変更することができません。 MDF_FIRMWARE 範囲は、システムファームウェアによって確立されたと信じられます。 MDF_ACTIVE 範囲は、現在アクティブです。 MDF_BOGUS 範囲が無効であるか、そうでなければ、誤りがあると信じています。 MDF_FIXACTIVE 範囲を無効にすることができません。 MDF_BUSY 範囲は、現在、別のプロセスで所有され、変更することができません。 操作は、struct mem_range_op を使用して実行されます: struct mem_range_desc *mo_desc; int mo_arg[2]; MEMRANGE_GET ioctl は、現在のメモリ範囲属性を検索して取り出すために使用さ れます。mo_arg[0] が 0 に設定されるなら、それは、メモリ範囲記述子の合計数 で更新されます。0 を越えるなら、mo_desc の配列は、対応する記述子の構造体 の数か、または最大のどちらか少ないほうで、満たされます。 MEMRANGE_SET ioctl は、メモリ範囲属性を追加する、変更する、削除するために 使用されます。MDF_FIXACTIVE フラグがある範囲は、削除されません。MDF_BUSY フラグがある範囲は、削除または更新もされません。 mo_arg[0] は、存在するか、または新しい範囲を確立して更新するために MEMRANGE_SET_UPDATE に設定されるか、または範囲を削除するために MEMRANGE_SET_REMOVE に設定されるべきです。 戻り値 [EOPNOTSUPP] メモリ範囲の操作が、このアーキテクチャでサポートされて いません。 [ENXIO] メモリ範囲の記述子が、利用可能ではありません (例えば、 ファームウェアが、いずれも有効ではありませんでした)。 [EINVAL] 引数として供給されたメモリの範囲が、無効であるか、また はこのアーキテクチャによってサポートされなかった方法で 別の範囲に重なります。 [EBUSY] 範囲がビジーであるので、範囲を削除するか、または更新す る試みが、失敗しました。 [ENOSPC] 新しい範囲を作成する試みが、ハードウェアのリソース (例 えば、記述子スロット) が不足したために失敗しました。 [ENOENT] 範囲が、供給された記述子 base/length に一致しないの で、範囲を削除する試みが、失敗しました。 [EPERM] 範囲が永久に有効にされるので、範囲を削除する試みが、失 敗しました。 関連ファイル /dev/mem /dev/kmem 関連項目 kvm(3), memcontrol(8) 歴史 mem と kmem ファイルは、Version 6 AT&T UNIX で登場しました。メモリ範囲属 性のための ioctl インタフェースは、FreeBSD 3.2 で追加されました。 バグ ビジー範囲属性は、まだ正しく管理されていません。 このデバイスは、kvm(3) のすべてのユーザが操作するために必要です。 FreeBSD 11.4 October 3, 2004 FreeBSD 11.4