読者です 読者をやめる 読者になる 読者になる

Carpe Diem

備忘録。https://github.com/jun06t

カーネルについて

Linuxカーネル
なんだか今更ですがカーネルの種類やら特徴についてまとめます。 Ubuntuカーネルの流れは以下のようになってます。 リアルタイムカーネル ↓ 標準カーネル ↓ lowlatencyカーネル カーネルの種類 デスクトップ用途で利用可能なカーネルの種別とその特徴です。

Genericカーネル (-generic)

Ubuntuの標準カーネル。kernel.orgから取得したソースにUbuntuが開発したパッチを適用している。大抵はリリース時点で最も新しい安定版カーネルが採用されている

PAEカーネル (-pae)

Genericカーネルとソースは同一。32ビットアーキテクチャーでも4GB超のメモリ空間を利用できるよう設定が変更されている

LowLatencyカーネル (-lowlatency)

Ubuntu標準カーネルの設定を、強いリアルタイム性能を持つように変更したもの。かつての -preemptと同じく、ソフトリアルタイムシステムとして振る舞うが、-lowlatencyの方がより強力。ドライバ(カーネルモジュール)のバー ジョンはUbuntu標準カーネルに従う。

LowLatency PAEカーネル (-lowlatency-pae)

LowLatencyカーネルとソースは同一。32ビットアーキテクチャーでも4GB超のメモリ空間を利用できるよう設定が変更されている

Preemptカーネル (-preempt)

10.04で64ビットアーキテクチャー専用にリリースされたもの。内容はLowLatencyカーネルとほぼ同じ。

Realtimeカーネル (-realtime)

kernel.orgから取得したソースにCONFIG_PREEMPT_RTパッチを適用したもの で、ハードリアルタイムシステムとして振る舞う。大抵の場合、Ubuntu標準のカーネルよりもバージョンの低いカーネルが提供されるため、ドライバ (カーネルモジュール)の点で不利ではある

Realtime PAEカーネル (-realtime-pae)

Realtimeカーネルとソースは同一。32ビットアーキテクチャーでも4GB超のメモリ空間を利用できるよう設定が変更されている

RTカーネル (-rt)

10.04までのバージョンで利用可能なカーネル。内容はRealTimeカーネルと同一

4G以上のメモリを認識してくれるpaeだったり、lowlatencyを使用する場合は2通りです。 一つはppa等で配布されているものをインストールする方法。もうひとつは前回のようなカーネルコンパイルで設定する方法です。今回は後者について解説します。 カーネルコンパイルでの設定 make menuconfigmake xconfig○paeの設定 Processor type and features ↓ High Memory Support ↓ 64GBを選択。少し下に新たにPAEの表示が出ればOK。 ○lowlatencyの設定 Processor type and features ↓ Preemption Model ↓ Preemptible Kernel(Low-Latency Desktop) ◆リアルタイムシステム 上記の表で「ソフトリアルタイムシステム」「ハードリアルタイムシステム」があったのでWikiの解説を載せておきます。 ハードリアルタイムシステム システムに課せられたある処理がデッドライン内に終了しなかった時(デッドラインミス)、システム全体にとって致命的ダメージが生じる。 ファームリアルタイムシステム デッドラインミスが起こった時、システム全体に致命的なダメージを与えることはないが、その処理自体の価値は即座に0となる。 ソフトリアルタイムシステム デッドラインミスが起こっても、システム全体に致命的なダメージを与えることはなく、その処理自体の価値も、終了時間などにより徐々に落ちていく。 ソース: カーネルについて リアルタイムシステム