到達目標
1. リアルタイムOSを理解し説明できる。
2. カーネルとオブジェクトを理解し説明できる。
3. ハードウェア制御機能を理解し説明できる。
4. リアルタイムOSのソフトウェア開発システムが使える。
5. リアルタイムOSの応用プログラムとハードウェア制御のプログラムの作成ができる。
ルーブリック
| 理想的な到達レベルの目安 | 標準的な到達レベルの目安 | 未到達レベルの目安 |
1. リアルタイムOSを理解し説明できる。 | リアルタイムOSを理解し説明できる。 | リアルタイムOSを理解し基本的な説明ができる。 | リアルタイムOSを理解し説明できない。 |
2. カーネルとオブジェクトを理解し説明できる。 | カーネルとオブジェクトを理解し説明できる。 | カーネルとオブジェクトを理解し基本的な説明ができる。 | カーネルとオブジェクトを理解し説明できない。 |
3. ハードウェア制御機能を理解し説明できる。 | ハードウェア制御機能を理解し説明できる。 | ハードウェア制御機能を理解し基本的な説明ができる。 | ハードウェア制御機能を理解し説明できない。 |
4. リアルタイムOSのソフトウェア開発システムが使える。 | リアルタイムOSのソフトウェア開発システムが使える。 | リアルタイムOSのソフトウェア開発システムの基本的な操作ができる。 | リアルタイムOSのソフトウェア開発システムの操作ができない。 |
5. リアルタイムOSの応用プログラムとハードウェア制御のプログラムの作成ができる。 | リアルタイムOSの応用プログラムとハードウェア制御のプログラムの作成ができる。 | リアルタイムOSの基本的な応用プログラムとハードウェア制御のプログラムの作成ができる。 | リアルタイムOSの応用プログラムとハードウェア制御のプログラムの作成ができない。 |
学科の到達目標項目との関係
Ⅰ 人間性
Ⅱ 実践性
Ⅲ 国際性
CP2 各系の工学的専門基盤知識,および実験・実習および演習・実技を通してその知識を社会実装に応用・実践できる力
CP3 課題の本質を理解し,正しい倫理観の下で,自分の意見を論理的に表現できる力
CP4 他者を理解・尊重し,協働できるコミュニケーション能力と人間力
CP5 国際的素養を有し,継続的に自ら学ぶ力
教育方法等
概要:
組込みシステムを実現するために必要不可欠なリアルタイムOSの概念、構造および利用方法を学び、実習により応用プログラム・ハードウェア制御のプログラム作成を行う。
この科目は企業で「電話ネットワークにおける組込みシステムの一形態である電子交換機の設計」を担当していた教員が、その経験を活かし、「組込みシステムに使用されるリアルタイムOSと組込みソフトウェア設計手法等」について「演習」形式で授業を行うものである。
授業の進め方・方法:
座学により、組込みシステムを実現するために必要不可欠なリアルタイムOSについて、TOPPERS/ASPカーネルの概念、構造および利用方法を学ぶ。
実習により、リアルタイムOSのソフトウェア開発システムを使用して応用プログラムとハードウェア制御のプログラムの設計・作成を行う。
評価では授業で出題するプログラムの作成・解析と演習・実習課題の取組み状況を重視している。演習科目であるが、関係する知識の確認試験を適宜実施する。
評価はプログラム作成(取組み状況の評価も含む)45%、プログラム解析20%、演習・実習10%、確認試験20%、レポート5%である。成績によっては、再試験を行うことがある。合格点は60点以上である。
注意点:
4年生の「オペレーティングシステムI」、5年生の「組込みシステム総論」を基礎としているので、学習内容を復習しておくこと。
C言語によるプログラミング能力と説明のための文章力を養っておくこと。
この科目は学修単位科目のため、事前・事後の自学自習課題として授業で示されるプログラム解析・演習・実習課題を課す。
プログラム解析、演習・実習課題は添削後、目標が達成されていることを確認し、返却する。目標が達成されていない場合には、再提出すること。
プリントを綴じるファイルを準備すること。
授業の属性・履修上の区分
授業計画
|
|
週 |
授業内容 |
週ごとの到達目標 |
後期 |
3rdQ |
1週 |
リアルタイムOSの概要 |
リアルタイムOSの概要を理解し説明できる。
|
2週 |
カーネルの構造 |
カーネルの構造を理解し説明できる。
|
3週 |
オブジェクトと静的APIの実装とプログラム作成 |
オブジェクトと静的API実装を理解し説明でき、プログラムを作成できる。
|
4週 |
タスクと状態遷移に関するプログラムの作成 |
タスクと状態遷移を理解し説明でき、タスクを使ったプログラムを作成できる。
|
5週 |
スケジュールアルゴリズムに関するプログラムの作成と解析 |
スケジュールアルゴリズムを理解し説明でき、プログラム解析に基づいて動作を説明できる。
|
6週 |
スケジューラの実装 |
スケジューラの実装を理解し説明できる。
|
7週 |
ディスパッチャの実装 |
ディスパッチャの実装を理解し説明できる。
|
8週 |
コンテキスト管理の実装 |
コンテキスト管理の実装を理解し説明できる。
|
4thQ |
9週 |
デバイスドライバにおけるシステムサービスのプログラム作成 |
システムサービスを理解し説明でき、システムサービスのプログラムを作成できる。
|
10週 |
デバイスドライバにおけるハードウェア非依存部のプログラム作成 |
デバイスドライバを理解し説明でき、ハードウェア非依存部のプログラム作成できる。
|
11週 |
デバイスドライバにおけるハードウェア依存部とPDICのプログラム作成 |
ハードウェア依存部とPDICのプログラム作成できる。
|
12週 |
同期・通信オブジェクトの実装 |
同期・通信オブジェクトの実装を理解し説明できる。
|
13週 |
イベントフラグの実装 |
イベントフラグの実装を理解し説明できる。
|
14週 |
イベントフラグのプログラム作成と解析 |
イベントフラグを使ったプログラムを作成し、プログラム解析に基づいて動作を説明できる。
|
15週 |
割り込みハンドラの実装 |
割り込みハンドラの実装を理解し説明できる。
|
16週 |
|
|
モデルコアカリキュラムの学習内容と到達目標
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
専門的能力 | 分野別の専門工学 | 情報系分野 | プログラミング | プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。 | 4 | |
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。 | 4 | |
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。 | 4 | |
ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。 | 4 | |
システムプログラム | コンピュータシステムにおけるオペレーティングシステムの位置づけを説明できる。 | 4 | |
プロセス管理やスケジューリングなどCPUの仮想化について説明できる。 | 4 | |
評価割合
| プログラム作成 | プログラム解析 | 実習・演習 | 確認試験 | レポート | 合計 |
総合評価割合 | 45 | 10 | 20 | 20 | 5 | 100 |
基礎的能力 | 30 | 5 | 15 | 10 | 5 | 65 |
専門的能力 | 15 | 5 | 5 | 10 | 0 | 35 |