Linuxカーネルに関する技術情報を集めていくプロジェクトです。現在、Linuxカーネル2.6解読室の第2章までを公開中。
スワップデーモンkswapdは、Linuxカーネル起動時にカーネルスレッドとして起動される。このスレッドは永久に以下のkswpad関数を実行しづづける。
int kswapd(void *unused) { while (1) { do { if (空きメモリnr_free_pages が十分になったら) break /* freepages.high ページ以上 */ if (!do_try_to_free_pages()) break /* これ以上解放できないとき */ } while (プリエンプション要求のない間) タスクキューtq_diskに起動をかけ(run_task_queue関数)、 キューに溜まっている処理を実行する。 タスクステータスをTASK_INTERRUPTIBLEに変更 一秒間待ちに入る(schedule_timeout関数) } }
(NIS)HirokazuTakahashi
2000年06月11日 (日) 22時29分57秒 JST1
[PageInfo]
LastUpdate: 2008-08-27 14:45:15, ModifiedBy: hiromichi-m
[Permissions]
view:all, edit:login users, delete/config:members