輪講: Modern Operating System suzuk 第3回 SCHEDULING 第2章 Process and Threads (SCHEDULING) 担当範囲 P149~ Table of Contents 1. 2. 3. 4. Policy versus mecanism Thread Scheduling Research on Processes and Threads Summary 1. Policy versus Mecanism 多くの子供がいる鳥 親は子の世話をする (制御) 腹減った 親は賢い順番で、 子の要求を叶える 必要がある それがスケジューリング 腹減った 腹減った 1. Policy versus Mecanism うまーく、スケジューリングする方法 基本方針と実際の仕組みを分けて考える Separate scheduling mechanism from scheduling policy より詳しく言うと! Control スケジューリングアルゴリズム BY User Process State 1. Policy versus Mecanism つまり、どーいうことなのよ? OS自体(kernel)にスケジューリングの仕組みが ある ラウンドロビン(えーっ!)、・・・・・・・など でも、それだけでなく・・・・ プロセスごとにpriorityを変えることができる OSじゃなくてユーザプロセス側でスケジューリングを 制御できる! 2. Thread Scheduling ユーザ実行単位のプログラム構造 プロセス スレッド 2. Thread Scheduling user-level スレッド OS(kernel)は関知し ない 1つのスレッドが好きに 振舞ってよい Runtime-Systemが ある場合は、ラウンドロ ビンとかされる スレッドに対する割り込 みがない 2. Thread Scheduling kernel-level スレッド ユーザプロセスを気にし なくてよい(自由) カーネルから時間を与 えられ、超過すると強制 的に停止させられる 2. Thread Scheduling どっちがいいの? 効率 user-level スレッドのほうが良い kernel-level スレッド full コンテキストスイッチが必要 メモリマップの切り替え キャッシュの無効化 透過性 kernel-thread 全プロセスを通して存在し続ける I/Oブロックにアクセスするスレッドなど・・・ 2. Thread Scheduling さらにuser-levelのいいところ 調節(カスタマイズ)しやすい プロセス独自のスケジューラを使うことができる Web serverの例 3. Research on Processes and Threads スレッドの歴史が載ってました・・・ スレッドはプロセスよりも新しい技術です スレッド同期、スレッド排他的制御は70年から80 年代 4. Summary OSは並行して仕事を実行できる仕組みを持つ プロセスは独自の領域を持つ スレッドはプロセスメモリ空間を共有して使ってる ユーザプロセス カーネルプロセス プロセス間通信 (相互排他制御に使える) セマフォ、ミューテックス、モニター、メッセージ たくさんのスケジューリング アルゴリズムがある
© Copyright 2024 ExpyDoc