筑波一戦のエントリしました。もうそろそろCR85も作りはじめないと。


FF13続き。タイマイ狩り。ロールはカンスト、最強武器にまでした状況でデス 狩りもないだろう。ということで(と、どうもデスの効きが悪い状況が続き..) ガチ狩りに。ニコ動でよさ気な戦略は押さえておいたのでそれを真似て。しか しうまくいかない。なんでうまくいかないかというと、操作がゆっくりだった り失敗したりするから。なんとか操作にも慣れてきて、確実に狩れるようにな りました。そこからまた人選を変えてみたりしてさらに安定するまでに一苦労。 サッズを使っていきたいんだよね。ファング/ヴァニラ/サッズで。
B/J/B これで両足ブレイク。最初ブレイクした足はそのまま。そのためのJか?
A/H/B 両足それぞれハイウィンドで倒しつつ回復。
E/J/B ブレイダ/フェイダ/ヘイストを配給
B/B/B ここで何%でA/A/Aに切り替えるかがポイントなのだけど、このPTの時は
待った方がいいのかブレイク即がいいのか迷い中。ブレイク即でも安定。
A/A/A 立ちあがったところでハイウィンドでなんとか間に合う。
のパターン。ニコ動だとサッズじゃなくホープ。
でもやっぱりデスの方が性に合ってるな...。無用な緊張は嫌なんだよ。
スケジューラアクティベーション続き。
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.1 カーネル事象をユーザ層スレッドスケジューラに誘導する詳細

カーネルのプロセッサ配分と、ユーザ層スレッドシステムの通信は「スケジュー
ラアクティベーション」によって構造化される。「スケジューラアクティベー
ション」という言葉は、それぞれの誘導された事象がユーザ層スレッドシステ
ムに、どのプロセッサでどのスレッドを走行させるかの計画の判定し直させる
ことになるということから選ばれた。

スケジューラアクティベーションは三つの役割を務める。

 - ユーザ層のスレッドが走行するための実行コンテキストになる。これはカー
   ネルスレッドがしていたこととまったく同じやり方である。

 - ユーザ層スレッドシステムにカーネル事象を通知する。

 - スレッドがカーネルによって停止された時(例えばI/Oや、カーネルがプロセッ
   サを横取りすることによって)、スケジューラアクティベーションの目下の
   ユーザ層スレッドのプロセッサコンテキストをカーネル内で退避しておく場
   所として。

スケジューラアクティベーションのデータ構造は伝統的なカーネルスレッドの
それとまったく似たようなものである。それぞれのスケジューラアクティベー
ションは二つの実行時スタックを持つ - 一つはカーネルに割当てられ、一つは
アプリケーションのアドレス空間に割当てられる。ユーザ層スレッドのそれぞ
れは、そのユーザ層のスタックを走行を開始する時に割当てられる[2]; ユーザ
層スレッドがカーネルの中に入ったら、そのスケジューラアクティベーション
のカーネルスタックを使う。ユーザ層スレッドシステムはスケジューラアクティ
ベーションのユーザ層のスタックで走る。加えて、カーネルはアクティベーショ
ン管理領域(スレッド管理領域に似たもの)を、そのスレッドがカーネル内でブ
ロックしたり横取りされた時に状態を保存しておき、ユーザ層スレッドスケ
ジューラはどのユーザ層スレッドがどのスケジューラアクティベーション上で
走行しているかの記録を保守する。

プログラムが開始されると、カーネルはスケジューラアクティベーションを作
成し、それにプロセッサを割当て、アプリケーションのアドレス空間の固定さ
れた入口にアップコールする。ユーザ層スレッド管理システムは、そのアップ
コールを受け、そのアクティベーションを実行コンテキストとして自分自身を
初期化し、アプリケーションスレッドを走行させる。最初のスレッドが実行さ
れ、さらにユーザスレッドを作成し、追加のプロセッサを要求するかもしれな
い。この場合、カーネルはそれぞれのプロセッサに対してスケジューラアクティ
ベーションを作成し、それを使ってユーザ層にアップコールし、新しいプロセッ
サが利用可能なことを通知するだろう。そしてユーザ層は、そのアクティベー
ションのコンテキストで走行するスレッドを選択し、実行させる。

同様に、カーネルが事象をユーザ層に通知する必要がある時には、カーネルは
スケジューラアクティベーションを作成し、それにプロセッサを割当て、アプ
リケーションのアドレス空間にアップコールする。一旦アップコールが開始さ
れるとアクティベーションは伝統的なカーネルスレッドと似たようなものであ
る。- それはプロセス事象を処理するのに使われ、ユーザ層スレッドで走行し、
カーネルにトラップされ、カーネルの中でブロックする。

スケジューラアクティベーションとカーネルスレッドの決定的な違いは、アク
ティベーションのユーザ層スレッドが一旦カーネルによって停止されると、そ
のスレッドがカーネルによって直接復帰することはは決してないことだ。その
かわりに、スレッドが停止した事をユーザ層に通知するための新しいアクティ
ベーションが作成される。そしてユーザ層スレッドシステムはそのスレッド状
態を以前のアクティベーションから削除し、以前のアクティベーションは再利
用可能であることをカーネルに通知し、最後にどのスレッドをプロセッサで実
行させるかを決定する。対照的に伝統的なシステムでは、カーネルスレッドを
カーネルが停止した時、それがそのコンテキストでユーザ層のスレッドが走っ
ていたとしても、その事を決してユーザ層には通知しない。しばらくして、カー
ネルスレッド(暗黙的にそのユーザスレッドも)は直接カーネルによって復帰す
るが、それも通知されることはない。スケジューラアクティベーションを使う
ことによってカーネルは、アドレス空間に割当てられたプロセッサの数と、走
行しているスケジューラアクティベーション(ユーザスレッドの容れ物)の数を
同じに維持していくことが可能になる。

トラックバック(0)

このブログ記事を参照しているブログ一覧: 100208

このブログ記事に対するトラックバックURL: http://www.vnop.net/~uch/sn/mt-tb.cgi/755

コメントする

MonotaRO(モノタロウ)
あわせて読みたい