雑記帳

ソフトを中心に雑記を書いてる割とすぐ転職したい人。コメント貰えると私が喜びます。

LinuxKernel

久々の更新。事象の待ち合わせ

プロセス状態には二つある。一つは実行可能状態。一つは休止状態。 実行可能状態=プロセススケジューリング対象。 休止状態=対象にならない。 休止状態は何かの待ち合わせをしている状態。 休止状態のプロセスにも2種類ある。その二つの違いは、シグナル…

Linuxカーネル解読室(日数忘れた、明日調べる)

どこまでやったか忘れたので、適当に当てずっぽうで。。。 1.6.4 アイドルプロセス 実行するプロセスが無いときは、空プロセスを実行している 1.6.5 カレントプロセス 実行中プロセスのこと thread_info構造体の中にいる。そのため、スタックポインタ(ESP)の…

Linuxカーネル解読室(11日目)

プロセススケジューラの実装 カーネル2.4までのプロセススケジューラの構造は単純だった。単一のキューに実行プロセスを突っ込んで、再スケジューリング時に全部の登録キューを検索していた。 システムが大規模に鳴るに連れて、オーバーヘッドが大きくなるた…

Linuxカーネル解読室(10日目)

1.5.3 リアルタイムプロセス Linuxのプロセススケジューリングは全てのプロセスを公平に扱うことが方針だが、問題がある。 しかし、実時間公平にすると音声/画像等の重い処理や機器制御が困難になり、スケジューリング公平にするとプロセスの開始/終了の予測…

Linuxカーネル解読室(9日目)

1.5 プロセススケジューラ スケジューラは実行可能プロセスから動作すべきプロセスを選択するのが仕事。 Linuxのスケジューラは、応答性能とスループット(互いに矛盾するが)を重視している。 対話型のプロセス(ターミナルなど)が起動した場合は、即座に…

Linuxカーネル解読室(8日目)

もう8日目どころじゃないけど、8日目のこと書きます。 1.4 プロセスディスパッチャの実装 1.4.3 __switch_to関数 switch_toマクロでやってたEIPとESPのレジスタ以外を入れ替えるのが主。 FPU(浮動小数点演算)レジスタの退避を_unlikely_fpu関数で行う。FPUレ…

LinuxKernel解読室(6日目)

昨日は被災して停電でした。 本日は被災して仕事が休みになりました。 港の方に行くと、まだ断水とか停電があるみたいです。あ〜、会社行きたくないなぁ。では、気を取り直して読み進めたい。 とは言っても今日は読まないで、アセンブリ言語をにょろにょろい…

Linuxカーネル解読室(5日目)

ここから実コードが出てくるので面倒になった。 俺みたいなインチキSEが読むにはツライです。 でもガンバル!! ちなみに、2章くらいまでは http://p.tl/Rq0n に丸写しされているようなので興味があったら閲覧してみて下さい。 第4章 1.4 プロセスディスパッ…

Linuxカーネル解読室(4日目)

今日も頑張って読むテスト。 今日からは第1章のプロセススケジューリングになります。 第1章 1.1 マルチタスク Linuxカーネルはマルチタスク機能があるから複数プロセスを同時に実行出来る。 Linuxカーネルは、その時点で最も重要と思われるプロセスに動作実…

Linuxカーネル解読室(3日目)

毎日と言いつつ、3日目で死んだでござる。 昨日は地震がグラグラしてて原発爆発しないかとビビっておりました@いわき。 なので、勘弁して下さい。 気を取り直して再開です。 序章 0.7 ファイルシステム ファイルシステムはOSの中心です。 記憶装置上のデー…

Linuxカーネル解読室(2日目)

ブラウザクラッシュで入力が飛んだ。 でも負けないぞよ。 少ないけど気合で毎日少しずつ進めます。 序章 0.5 プロセス管理 プロセスは実行状態を管理する。プロセス毎にデータ構造を用意する。プロセスIDや実行優先度などある。 プロセスは、プロセスIDとそ…

Linuxカーネル解読室(1日目)

少し前に買っていたのを今更読み進める。 内容忘れたので頭から読み進める。 6月末には読み終わりたい。 序章 0.1 〜〜とは Linuxカーネルとは、アプリケーションがハードウェアを意識せずに実行出来るようにするラッパーのような何か。 Linuxカーネルは、イ…