100205

|


シロッコファンの周辺はこんな感じに。建物自体が歪んできているのでいろい
ろ調整が大変。この程度の距離でも鴨居が5mm歪んでいる。多少吸気音が増大し
たような気もするけれど、他の木工機械の騒音に較べればどってことないレベ
ル。作業中はイヤーマフしてるし。



FF13続き。今日もカメにデス。プラチナインゴットを二つゲット。クリ上げきっ てからはCP稼ぐ必要ないのでドロップがなければリセットしてやり直していた のだけど(召喚用にTP稼ぐ手間を省くため)、CPもカンスト。もっと早くから亀 亀ファンタジーに入ればよかった。
とはいえ目標のミッション五つ星化にあたっては武器の改造はあまり必要ない (攻撃力が増すと目標タイムが短かくなってしまうので)。
ここでもう一度、ミッションの攻略に必要なアクセサリの改造に立ち戻ろう か...。何やってるのかわからなくなってきた。あくまで目標はトロフィーコン プだ。

スケジューラアクティベーション続き。
Scheduler Activations: Effective Kernel Support for the User-Level
Management of Parallelism

Thomas E.Anderson, Brian N.Bershad, Edward D.Lazowska and Henry M.Levy
University of Washington

ACM Transactions on Computersystems, Vol.10, No.1, February 1992,p53-79.


3. ユーザ層の並行処理の管理に効果的なカーネル支援方法

2章では並行処理するのにカーネルスレッドを使った時の低性能と柔軟性のなさ
と、カーネルスレッドの上のユーザ層スレッドを使い、多重プログラムとI/Oが
存在した場合にまずい振舞いをする問題について述べた。これらの問題に取り
組むために、我々はカーネルスレッドの機能と、ユーザ層スレッドの性能と柔
軟性をとりあわせた新しいカーネルインターフェースとユーザ層スレッドシス
テムを設計した。

OSのカーネルはそれぞれのユーザ層スレッドシステムに、それが自分のものと
する仮想プロセッサを提供し、これは物理プロセッサの抽象化であるが、プロ
グラムの実行中にカーネルによってその数を変化される点が違う。この抽象化
にはいくつかの性質がある。

 - カーネルはプロセッサをアドレス空間に配分する; カーネルはそれぞれのア
   ドレス空間の仮想マルチプロセッサにどれだけのプロセッサを割当てるかを
   完全に制御する。

 - 各アドレススペースのユーザ層スレッドシステムは、それに配分されたプロ
   セッサでどのスレッドを走行させるかを完全に制御し、それはアプリケーショ
   ンが物理マシンの上で動いているかのように。

 - カーネルはユーザ層スレッドシステムに割当てるプロセッサの数を変更する
   時にはそれを通知する; カーネルはさらに、カーネルの中でユーザ層のスレッ
   ドがブロックしたり起床した時(I/Oや、ページフォルト等で)も通知する。
   カーネルの役割は事象を適切なスレッドスケジューラに誘導することで、そ
   れらを処理することではない。

 - ユーザ層スレッドシステムは、アプリケーションが必要とするプロセッサの
   数の増減が生じた時にそれをカーネルに通知する。カーネルはこの情報を元
   にそれぞれのアドレス空間に割当てるプロセッサの数を決める。ユーザ層ス
   レッドシステムはプロセッサの配分の決定にかかわりのある情報だけをカー
   ネルに通知する。これはユーザ層での操作の一部であるので性能はそう落ち
   ない。ほとんどのスレッド操作はカーネルとの通信のオーバーヘッドを受け
   ることがないからだ。

 - アプリケーションのプログラマは、直接カーネルスレッドを使ってプログラ
   ムするのと同じであり、性能だけが違う。我々のユーザ層スレッドシステム
   は、その仮想プロセッサをプログラマに透過的にし、通常のTopazスレッド
   [4]と同じインターフェースになる。(異なる並行プログラミングモデルであっ
   てもユーザ層の実行環境は簡単に適応することができる。)

この章の続きでは、どのようにしてカーネルの事象をユーザ層スレッドシステ
ムに誘導するかについて述べる。アプリケーションから提供されるどのような
情報によってカーネルはジョブ間でプロセッサの割当てをするのか、どのよう
にしてユーザ層のスピンロックを扱うのか。