Linuxカーネル学習(1)
前置き
講習を終えていよいよ本格的にネタがなくなってきた(笑)
Linuxカーネル本を地道に読み進めて、その学習経過を出すことにした。
一日日記本文含めて30分くらいで終わらせる予定なので、結構小出しになりそう。
ちなみに私が読んでいるのは2.4.18が安定リリース版、2.5.22が開発版の最新版となっている。今はもう少し変わっているかもしれない点を留意のこと。
Linuxのバージョン管理
Linuxのバージョンは次のように管理されている。
メジャー | マイナー | リリース番号 |
メジャーバージョン | マイナーバージョン。また、奇数が開発版、偶数が安定版を表す | 開発版と安定版で別々に管理されているリリース番号 |
つまり「2.4.18」というバージョンは、次のようになる。
メジャー | マイナー | リリース番号 |
2 | 4 | 18 |
メジャーバージョン2の | 安定版4の | 18回目のリリースを数えるLinuxカーネル |
このバージョン管理はなかなか美しいように思う。
POSIX
Unix系の最低限の仕様を定義していて、POSIX準拠のアプリケーションというのはどのUnixでも動くという事になる(ホントか?)。
Linuxはパーソナルコンピュータで動作する、POSIXを備えたOS、すなわちPC Unixという位置付けになる。
もちろんFreeBSDもPOSIX準拠。
APIとシステムコール
APIとシステムコールの違いは、次の通りとのこと。
本当にそうかの調査はしてないので解釈は自己責任で。
ちなみにPOSIXはAPI。
API
要求されたサービスを得るための関数インターフェースの定義。