久々にパフォーマンス本②
前回の続き
システムコールとして、シンプルないくつかの命令が用意されている。
read()やwrite()、exec()やfork()など。
仮想メモリ、プロセスとカーネルに対して、RAMやディスクといった物理メモリを仮想メモリとして提供する
メモリ管理で出てくる単語
スワッピング:プロセス全体をメインメモリとセカンダリストレージの間で移動する
→深刻なパフォーマンス低下を起こす
ページング:ページと呼ばれるメモリの小さな単位を移動する
→スワッピングよりはまだまし
→どちらも使われてから一番時間がかかっている(LRU)ものからセカンダリストレージへ移される
スレッドがCPUを使う場合、間にスケジューラが立つ
CPUがいっぱいになると、優先度低いスレッドは待ちに入る
ストレージ
VFSというファイルシステムの抽象化インタフェースによって、複数のファイルシステムどれを利用しても問題なくアクセスできるようになった
I/Oをなるべく避けるためのキャッシング(読み出し高速化)、バッファリング(書き出し高速化)
数ページを割いて、UnixとSolarisのカーネルに関しての歴史も記載されていた。
読み物としては面白い(ここに書く気はない)
以上