Open4
The Linux Programming Interfaceメモ
1500Pもあるけど、少しづつ読んでいきたい。
Chapter 1: History and Standards
Linuxの歴史の話、この辺はThe art of Unixでもあったし軽く読んだ。
Unix -> Unixの実装言語としてのC誕生 -> リーナスがUnixのカーネル作ってLinux誕生 -> 並行して、多数のC実装やUnix実装によるソースコードレベルでの移植を可能にするためのPOSIX誕生(Unix実装が持つべきシステムコールAPI, ソースコードからはこのAPI呼べばハードウェアレベルの差やディストリビューションの違いを意識することなく、リソースを操作できる)
Chapter 2: Fundamental Concepts
Kernelが受け持つタスク
- プロセスのスケジューリング(プリエンティティブ)
- メモリのマネジメント(他のプロセスが利用しているメモリにアクセスさせないとか)
- ファイルシステムの提供
- プロセスの起動と停止(プロセスへのシステムリソース割り当ても)
- デバイス(マウスやキーボード)の情報をシステムにインプットさせる
- ネットワーク制御
- Kernelへの指示を受け持つAPIの提供