osメモ

コンピューターアーキテクチャ

os

    概要

    OS周りの勉強をしている時に調べたこと。

    swap

    メモリが足りない時にメモリの中身をハードディスクに移す機能のこと

    ページキャッシュとは

    • CPUはストレージからデータを直接読み込みができない
    • データは一旦メモリに読み込む必要がある
    • メモリに読み込まれたデータはページキャッシュとして再利用できる
    • ファイル単位でアクセスする時に使用されるキャッシュ

    バッファキャッシュ

    • ブロックデバイスを直接アクセスする時に使用されるキャッシュ

    slabキャッシュ

    • ディレクトリのメタデータ情報を格納するdentryやファイルのメタデータ情報を格納するinode構造体などをキャッシュしているカーネル内のメモリ領域
    • inodeやdentryなどカーネルが使うメモリ
    • カーネルはメモリ利用効率を高めるために、カーネル空間内の様々なメモリ資源を資源ごとにキャッシュする仕組みを備えている=スラブキャッシュ 
    • dentryキャッシュ
      • ディレクトリエントリキャッシュ
        • ハードリンク、ディレクトリの親子関係やファイル名、ディレクトリ名の親子関係やファイル名、ディレクトリ名とinodeを関連づける構造体 
      • ハードリンクとは
        • コンピューターのファイルシステム上のファイルやディレクトリ等の資源とその資源に付けられた名前を結びつけること、もしくはその結びつきのこと
        • 既にあるファイルを別のファイル名(パス名)で参照できるようにするもの
        • inodeで参照
        • 同一ファイルシステム内に限られる
        • ファイル(またはパス)
        • 元のファイルを移動しても影響はない
        • 元のファイルを削除しても消えない
      • シンボリックリンク
        • 既にあるファイルをinodeではなく、パスで指定するため、別のファイルシステムのファイルも参照できる
        • パスで参照
        • 別のファイルシステムでも参照できる
        • ディレクトリに対しても指定できる
        • 元のファイルを移動すると参照できなくなる
        • 元のファイルを削除すると消える
      • ディレクトリエントリ
        • 各ディレクトリの中にあるファイルの名前や実際の保存先、作成日時、更新日時、ファイルの属性、大きさなどを記載している専用ファイルをディレクトリエントリーという
    • スラブアロケータ
      • Jeff Bonwickが発見したアルゴリズム。
    • inode
      • ファイルごとに作成されるファイル情報の格納領域
      • ディスクの中に保存されているファイルの名前、大きさ、パーミッション、所有者、更新情報などを記録している

    関連書籍