@techreport{oai:ipsj.ixsq.nii.ac.jp:00025396, author = {山田, 浩史 and 阿部, 芳久 and 河野, 健二 and Hiroshi, Yamada and Yoshihisa, Abe and Kenji, Kono}, issue = {35(2008-OS-108)}, month = {Apr}, note = {PC の高性能化に伴い,ユーザが利用しているにもかかわらず,PC が長時間遊休状態になっていることが知られている.この遊休時間中にウイルスチェックや SETI@home などのバックグラウンドタスク(BG タスク)を動作させることで,PC の使用率を上げることができる.しかし,これらのアプリケーションの制御を適切に行わないと,ユーザのタスク(フォアグランドタスク,以下 FG タスク)のパフォーマンスは著しく低下する.既存の多くのオペレーティングシステム(OS)のスケジューラは優先度に基づいているが,BG プロセスの優先度を下げるだけでは,FG プロセスのパフォーマンス劣化を十分に防ぐことはできない.本論文では,FG プロセスのパフォーマンス劣化を抑えながら BG プロセスを実行する機構を提案する.提案機構はユーザレべルで取得可能な OS の内部情報から,FG プロセスと BG プロセスとの計算機資源の競合状態を見つけ出す.提案機構を Solaris 10 上に実装し,実験を行ったところ,FG タスクのパフォーマンス低下を 16.9%以下に抑えつつ,BG タスクを実行することができた., Idle resources can be exploited not only to run important local tasks such as data replication and virus checking, but also to make contributions to society by participating in open computing projects like SETI@home. When executing background processes to utilize such valuable idle resources, we need to explicitly control them so that the user will not be discouraged from exploiting idle resources by foreground performance degradation. Unfortunately, common priority based schedulers lack such explicit execution control. In this paper, we argue that we can reasonably detect resource contention between foreground and background processes and properly control background process execution at the user-level. We infer the existence of resource contention from the approximated resource shares of background processes. To show that our system effectively avoids the performance degradation of foreground activities, we implemented the prototype on Solaris 10 and conducted some experiments. Our prototype keeps the increase in foreground execution time due to background processes below 16.9%, or much lower in most of our experiments.}, title = {カーネル由来情報に基づくバックグラウンドタスクの制御}, year = {2008} }