Open4

The Linux Programming Interfaceメモ

esakaesaka

Chapter 1: History and Standards

Linuxの歴史の話、この辺はThe art of Unixでもあったし軽く読んだ。
Unix -> Unixの実装言語としてのC誕生 -> リーナスがUnixのカーネル作ってLinux誕生 -> 並行して、多数のC実装やUnix実装によるソースコードレベルでの移植を可能にするためのPOSIX誕生(Unix実装が持つべきシステムコールAPI, ソースコードからはこのAPI呼べばハードウェアレベルの差やディストリビューションの違いを意識することなく、リソースを操作できる)

esakaesaka

Chapter 2: Fundamental Concepts

Kernelが受け持つタスク

  • プロセスのスケジューリング(プリエンティティブ)
  • メモリのマネジメント(他のプロセスが利用しているメモリにアクセスさせないとか)
  • ファイルシステムの提供
  • プロセスの起動と停止(プロセスへのシステムリソース割り当ても)
  • デバイス(マウスやキーボード)の情報をシステムにインプットさせる
  • ネットワーク制御
  • Kernelへの指示を受け持つAPIの提供