コンピュータサイエンス5 件の記事

コンピュータサイエンス の記事

ファイルシステムの仕組み 徹底解説 - inode・ジャーナリング・ページキャッシュ

ファイルシステムの仕組み 徹底解説 - inode・ジャーナリング・ページキャッシュ

約63分

ファイルを開いて書き込んで閉じるまでにカーネルとディスクで何が起きているのかを、VFS・inode・ディレクトリエントリ・エクステント・ページキャッシュ・ext4のジャーナリング・CoWファイルシステムまで順に追います。man7.orgとkernel.orgの一次情報に加え、実機のext4とmacOSで測った出力例を添えて解説します。

メモリアロケータ入門 - malloc/free はヒープに何をしているのか

メモリアロケータ入門 - malloc/free はヒープに何をしているのか

約44分

glibc malloc(ptmalloc2)のチャンク構造・bin・tcache・アリーナ・mmap閾値から、内部/外部の断片化、jemalloc・tcmalloc・mimallocの設計思想、カーネルのSLUB、massifやheaptrackでの計測方法まで、glibcソースなどの一次情報と手元の実測値をもとに解説します。

CPUキャッシュとメモリ階層 入門 - キャッシュラインと局所性から実測まで

CPUキャッシュとメモリ階層 入門 - キャッシュラインと局所性から実測まで

約30分

CPUキャッシュとメモリ階層の仕組みを、キャッシュライン・参照の局所性・マッピング方式・書き込みポリシーから、配列の走査順やAoS/SoA、false sharing、perfやInstrumentsでの計測まで、一次情報と実測値をもとに解説します。

ハッシュテーブルの仕組み - 衝突解決・負荷率・各言語の実装から理解する

ハッシュテーブルの仕組み - 衝突解決・負荷率・各言語の実装から理解する

約14分

ハッシュテーブル(連想配列・ハッシュマップ)が平均O(1)で読み書きできる仕組みを、ハッシュ関数とバケット、衝突解決(チェイン法・オープンアドレス法)、負荷率とリハッシュの順で整理します。Python・Java・Go・C++・Rustの実装の違いや、ハッシュ衝突を悪用したDoSとSipHashによる緩和まで、公式ドキュメントを一次ソースにまとめます。