著者
安井 裕亮 齋藤 彰一 津邑 公暁 毛利 公一 松尾 啓志
雑誌
研究報告組込みシステム(EMB)
巻号頁・発行日
vol.2012, no.10, pp.1-7, 2012-11-28

システムコールは, CPU の割り込みを用いて実装されてきた.しかし,システムコールによる割り込みがアプリケーションやカーネルの実行を妨げることが指摘されている.この問題に対して,システムコール発行時に割り込みを必要としない手法として FlexSC が提案されている.しかしこの手法には共有メモリへのアクセスコストの問題や,同じデータにアクセスするシステムコールの扱いに関する問題がある.そこで本研究では, FlexSC の持つ問題点を解決する手法として,ユーザ関数の非同期カーネル内実行機構である Sakura Call を提案する.評価においてこの Sakura Call が FlexSC よりも大きな実行時間の削減を達成していることを示した.System calls have been implemented with an interruption mechanism provided by a CPU. However, it is claimed that an interruption cased by a system call impacts the performance of applications and a kernel. FlexSC which requires no interruptions at invoking a system call is proposed to solve the problem. Nevertheless there are some problems such as cost of accessing to a shared memory and a method of handling system calls which share the same data with each other. To fill up deficiencies of FlexSC, we propose a new mechanism, called Sakura Call, which enables asynchronous in-kernel execution of user functions. We show that Sakura Call achieves more reduction of an execution time than FlexSC by an evaluation.