平成24年度 春期 午前Ⅱ 問8
オペレーティングシステム
デバイスドライバに関する問題
デバイスドライバをアプリケーションタスクとして作成する場合の記述として,適切なものはどれか。
- アカーネルがデバイスに対するアクセスを統一的に管理できる。
- イカーネル内部のインタフェースに従って作成しなくてはならない。
- ウ通常のタスクと異なり,割込み処理をそのタスク内に定義する。
- エリクエスト処理部はシステムコールのサブルーチンとして実行される。
答えと解説を見る
✓ これが正解ウ通常のタスクと異なり,割込み処理をそのタスク内に定義する。
解説
タスク型のドライバは、割込み処理をそのタスク内に定義します。
デバイスドライバの作り方は、カーネルに組み込む形と、アプリケーションタスクとして作る形に分けて見るのが軸です。タスクとして作る場合、ドライバはほかのタスクと同じようにカーネルの外で動き、アプリケーションからの要求はタスク間の通信などで受け取ります。そのうえで、デバイスからの割込みに応じる処理もドライバの一部として必要になるため、通常のタスクと異なり、割込み処理をそのタスクの中に定義します。カーネルによる統一的な管理、カーネル内部のインタフェース、システムコールのサブルーチンとしての実行は、いずれもカーネルに組み込む形の特徴です。どちらの形の特徴かで振り分けましょう。
ほかの選択肢はなぜ違うのか
- アカーネルがデバイスに対するアクセスを統一…:カーネルがデバイスへのアクセスを統一的に管理できるのは、ドライバをカーネルに組み込んだ場合の特徴です。タスクとして作ったドライバは、カーネルの外で個別のタスクとしてデバイスを扱います。
- イカーネル内部のインタフェースに従って作成…:カーネル内部のインタフェースに従って作る必要があるのは、ドライバをカーネルの一部として組み込む場合です。アプリケーションタスクとして作るなら、ほかのタスクと同じ方法でカーネルの機能を使います。
- エリクエスト処理部はシステムコールのサブル…:リクエスト処理部がシステムコールのサブルーチンとして実行されるのは、ドライバがカーネルに組み込まれ、システムコールの処理の中から呼び出される形です。タスクとして作る場合、要求はタスクとして受け取って処理します。
出典:平成24年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問8
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)