« RGB-15 | Main | naoyaさんがニフティを退職されたそうです »

2004.08.31

情シス2.2.プロセス管理

情シス用語を引用しまくるブログ。
基本ソフトウェアの2回目(1.xから累計で8回目)はプロセス管理。

というか、基本ソフトウェアは用語の区切りが難しい。
参考書を書くのも難しいだろうな。

僕も何をキーに探せばいいか、判断が難しかったので、プリエンプションに絞ってみました。

--

Windows 9x or Windows 2000?:5.プロセス管理の概要

/*よく注意しないと気づかないほどのものだが、Windows 2000ではアプリケーションを切り替え可能な場面でも、Windows 9xでは切り替えが不可能だったという経験はないだろうか?

(略)

Windows 9xとWindows 2000は、いずれも「プリエンプティブなマルチスレッド環境」であることには違いないが、それを実現するためのしくみはまったくの別物と考えてよい。従来の16bitのWindows 3.x環境との互換性を最大限に維持しながら実現された「プリエンプティブなマルチスレッド環境」がWindows 9xであり、可能なかぎり従来環境との互換性を維持しながらも、新しい32bit OSとしてゼロから設計された「プリエンプティブなマルチスレッド環境」がWindows 2000なのだ。*/

このページ以降、詳細が書かれているが、量が多いので、心に残った表現だけを幾つか。

/* ・つまりWindows 3.1のマルチタスクは、制御を得た各アプリケーションが、ごく短い時間のうちにメッセージ処理を終え、制御をすぐに戻すという善意の上に成り立っているのだ。

・このようにWindows 9x環境では、各種のシステム資源がプロセスを単位に割り当てられる。従来型のマルチタスクOS(初期のUNIXなど)では、このプロセスを単位にスケジューリングを行うものもあったが、Windows 9x(およびWindows 2000)では、それよりも小さなスレッド(thread)と呼ばれる単位でスケジューリングを行うようになっている。*/


Windows 9x or Windows 2000?『7.Windows 9xのプロセス管理メカニズム』


/*Windows 9xでは、各スレッドの実行プライオリティ(優先順位)として、0~31までの32段階の整数を割り当てる。この数値は、値が大きいほど優先順位が高いことを表す。スレッドの実行プライオリティは、スレッドごとに固定の値というわけではなく、スレッドの状態に応じて、値が大きくされたり(優先度が高められたり)、値が小さくされたり(優先度を下げられたり)する。

 Windows 2000のそれに比較すると、Windows 9xのスケジューリング メカニズムは比較的簡単である。具体的には、Windows 9xシステム内部には役割の異なる2つのスケジューラがある。1つはプライマリ スケジューラ、もう1つはタイムスライス スケジューラである。*/

Microsoftの戦略もあってか、結構、聞き覚えのある話も多い。一方のUNIXやLinuxも、思ったより記事が多い。

UNIX USER連載「Linuxカーネル2.6解読室」より転載:
プロセススケジューラを知る (1/2)

/*また、Linuxカーネルのプロセススケジューラは、プロセス動作の統計を基にし※、対話型プロセスのような動作をするプロセスに対して、特別に実行優先度を高めるような仕掛けも入っています。

(略)

Linuxカーネルのこれらの仕組みは、スループットの点でも有利です。

 伝統UNIXでも同様の方針でプロセススケジューリングが行われていましたが、古いUNIXの実装では、時計から実行中プロセスの変動優先度を再計算していました。そのため、プロセスの実行中に実行優先度が下がり、簡単に実行待ち状態にあるほかのプロセスの実行優先度を下回ってしまいます。そして、この下がった瞬間に再スケジューリング要求が発生し、プロセス切り替えが行われていました。

 それに比べLinuxの実装方式では、一度実行権を握ったプロセスは一定時間継続して実行できるため、プロセスの再スケジューリングの回数を最小限に抑え込むことができます。

(略)

もともとは、Linuxカーネルのコードが複雑にならないように、Linuxカーネル内の任意の個所でプロセス切り替えをすることを禁止していました。しかし、Linuxカーネル2.6では応答性を向上させるため、少しオーバーヘッドは大きくなりますが、Linuxカーネルコード実行中のプリエンプションを許す設定も可能となっています(割り込み処理、遅延処理、排他区間実行中は除く)*/

--

その他のOSは、VAXとかz/OSとかいろいろ組み合わせて探してみたが、見つかりませんでした。残念。

そのかわり、CiscoのIOSのプロセススケジューラが見つかりました。

|

« RGB-15 | Main | naoyaさんがニフティを退職されたそうです »

試験対策」カテゴリの記事

Comments

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack


Listed below are links to weblogs that reference 情シス2.2.プロセス管理:

« RGB-15 | Main | naoyaさんがニフティを退職されたそうです »