平成24年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問8
テクノロジ/ソフトウェアデバイスドライバをアプリケーションタスクとして作成する場合の記述として,適切なものはどれか。
出典:平成24年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問8
- アカーネルがデバイスに対するアクセスを統一的に管理できる。
- イカーネル内部のインタフェースに従って作成しなくてはならない。
- ウ通常のタスクと異なり,割込み処理をそのタスク内に定義する。
- エリクエスト処理部はシステムコールのサブルーチンとして実行される。
正解:ウ
解説
デバイスドライバをカーネルの一部としてではなく,独立したアプリケーションタスクとして作成する方式があります。この方式では,割込みに起因する処理(割込みで起床させられた後の後続処理など)も,カーネル内部の専用インタフェースに縛られることなく,通常のタスクと同じ枠組みの中で,そのタスク自身の処理として記述することになります。
選択肢ごとの解説
- ア誤り。デバイスドライバをアプリケーションタスクとして実装する場合,デバイスへのアクセスはそのタスクを介して行われるため,カーネルがデバイスアクセスを統一的に管理できるとは限りません。
- イ誤り。アプリケーションタスクとして作成する場合は,カーネル内部の専用インタフェースではなく,一般のタスクプログラムと同様の作法(システムコールなど)で作成できる点が特徴です。
- ウ正しい。アプリケーションタスクとして作成するデバイスドライバでは,通常のタスクとは異なり,割込みに起因する処理を,そのタスク自身の処理として定義することになります。
- エ誤り。リクエスト処理部をシステムコールのサブルーチンとして実行する方式は,デバイスドライバをカーネルに組み込む方式の説明であり,アプリケーションタスクとして作成する場合の説明ではありません。