Mac OS Xのカーネル Xnuのメモ書き

プリエンプション


Rev.2を表示中。最新版はこちら

古いUnixでは、システムコールを発行してカーネル内のコードを実行している時は、他のプロセスにコンテキストスイッチすることはない(I/O待ちなどで自分からBlockしない限り)。

Linuxなんかだと、configでプリエンプションを有効にしておけば、カーネル内のコードを実行中でもコンテキストスイッチが発生する。これにより、システムのレスポンスの向上が期待できる。

Xnuでもできるみたい。

プリエンプションはast_on(AST_PREEMPT | AST_URGENT)のようにしてASTを使って切替えている.



最終更新 2006/05/20 16:14:15 - kztomita
(2006/05/19 23:47:20 作成)


最近更新したページ