mkswapはどのように機能しますか?それが生成する交換ヘッダには何がありますか?

mkswapはどのように機能しますか?それが生成する交換ヘッダには何がありますか?

私はmkswapを勉強し、それが正確にどのように機能するかを理解しようとしています。私が理解したのは、スワップヘッダを作成してパーティションにスワップスペースを設定することです。このスワップヘッドはどれくらい大きいですか?ワンピースですか?それとも常に同じサイズですか?

私はmkswap.cソースコードを見ようとしましたが、Cの知識が不足しているため理解できませんでした。具体的には考える次の行は交換ヘッダーを作成します。

strncpy((char*)signature_page+PAGE_SIZE-10,"SWAP-SPACE",10);

ベストアンサー1

BovetとCesatiが書いたO'Reillyの「Linuxカーネルの理解」(714ページ)(スワップ領域)がこの質問に対する答えを提供していることがわかります。つまり、swap_header は、「info」と「magic」の 2 つの構造で構成されます。上に貼り付けたコードはマジック部分に関連しています。文字通り、最初のページの最後の10文字として「SWAP-SPACE」を書き込みます(一部のバージョンでは「SWAPSPACE2」)。

情報構造は最初の1024バイト以降に開始され、交換メカニズムを説明するさまざまなフィールドが含まれています。

おすすめ記事