到達目標
・リアルタイムOSにおけるタスクの生成・管理・優先度に基づくスケジューリングについて理解し,タスクを活用したプログラミングができる.
・リアルタイムOSが提供するイベントフラグ・周期ハンドラ・セマフォ・メモリプールなどの機能について理解し,それらを使用したプログラミングができる.
・リアルタイムOSを活用した簡単なシステムが構築できる.
ルーブリック
| 理想的な到達レベルの目安 | 標準的な到達レベルの目安 | 未到達レベルの目安 |
リアルタイムOSにおけるタスクの生成・管理・優先度に基づくスケジューリングについて理解し,タスクを活用したプログラミングができる. | タスクの役割とOSによるタスク操作やスケジューリングについて理解し,タスクを適切に使用したプログラミングができる. | タスクの生成・管理や優先度の概念を理解している. | タスクや優先度の概念を理解できていない |
リアルタイムOSが提供するイベントフラグ・周期ハンドラ・セマフォ・メモリプールなどの機能について理解し,それらを使用したプログラミングができる. | リアルタイムOSが提供する様々な機能を理解し,適切な場面でそれらの機能を使用したプログラミングができる. | リアルタイムOSが提供するいくつかの機能を理解し,実装することができる. | リアルタイムOSが提供する機能について理解できておらず,どの機能も実装して使用することができない. |
リアルタイムOSを活用した簡単なシステムが構築できる. | リアルタイムOSの必要性を理解し,構築したいシステムに対するタスク設計,優先度管理,OSの機能の利用ができる. | 構築したいシステムに対するタスク設計やOSの機能などの指針が与えられれば一部を実装できる. | 構築したいシステムに対してタスクの割り当てや実装ができない. |
学科の到達目標項目との関係
教育方法等
概要:
オペレーティングシステムの概要について学習し,特にプロセス管理に関する演習を行う.リアルタイムOSであるμITRON上で動くプログラム開発を通して,プロセスのスケジューリング・排他制御,同期処理,共有メモリ方式などを取り上げ,リアルタイムOSについての理解を深める.
授業の進め方・方法:
プログラミング関連科目の知識を前提とする.電子計算機I,II2ではOSのない電子計算機そのものの制御について学んだが,本科目では,OSで提供されているシステムコールを活用して,プロセス管理などの手法を体験する.尚,体系的なオペレーティングシステムの知識については、オペレーティングシステムⅡにおいて学習する。
注意点:
プログラミングに関する復習をしておくこと.電子計算機Iについても復習しておくこと.授業の予習・復習及び演習については自学自習により取り組み学修すること.
授業計画
|
|
週 |
授業内容 |
週ごとの到達目標 |
後期 |
3rdQ |
1週 |
講義のガイダンス.リアルタイムOSの概要,H8マイコンボードとリアルタイムOSを用いたプログラミング |
講義の全体像を理解し,H8マイコンボード上でリアルタイムOSを使用したプログラミング環境が整えられる.
|
2週 |
リアルタイムOS上でのタスクの生成と管理 |
μITRON互換のOSを使用してタスクの静的生成が実装できる.
|
3週 |
タスクスケジューリングとタスクの動的生成 |
μITRON互換のOSを使用してタスクの動的生成が実装できる.
|
4週 |
イベントフラグを用いたタスク間の同期処理 |
イベントフラグの概念を理解し,イベントフラグを用いたプログラムが実装できる.
|
5週 |
演習 |
これまでの演習課題をすべて提出する
|
6週 |
周期ハンドラを利用した周期的な処理のスケジューリング |
周期ハンドラの概念を理解し,周期ハンドラを用いたプログラムが実装できる.
|
7週 |
セマフォの仕組みと,セマフォを用いた共有資源の排他制御 |
セマフォを用いた排他制御の概念を理解し,セマフォを用いたプログラムが実装できる.
|
8週 |
共有メモリとメモリプールの利用 |
共有メモリにおけるメモリプールの概念を理解し,メモリプールを用いたプログラムが実装できる.
|
4thQ |
9週 |
演習 |
これまでの演習課題をすべて提出する
|
10週 |
メールボックスを用いたタスク間でのブロックデータ通信 |
メールボックスによるタスク間通信を理解し,メールボックスを用いたプログラムを実装できる.
|
11週 |
スロットマシンの製作1 |
授業内で提示されたスロットマシンの要求定義を理解し,大まかな設計が完了している.
|
12週 |
スロットマシンの製作2 |
スロットマシンの製作に取り掛かり,各タスクのおおまかな実装が完了している.
|
13週 |
スロットマシンの製作3 |
スロットマシンが完成し,仕様通りの動作が確認できている.
|
14週 |
講義のまとめとテスト対策 |
講義全体を振り返り,リアルタイムOSの役割や機能について理解している.
|
15週 |
期末テスト |
|
16週 |
テスト返却 |
|
モデルコアカリキュラムの学習内容と到達目標
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
専門的能力 | 分野別の専門工学 | 情報系 | システムプログラム | コンピュータシステムにおけるオペレーティングシステムの位置づけを説明できる。 | 3 | 後1,後11,後12,後13,後14 |
プロセス管理機能や記憶管理機能などオペレーティングシステムが備えるべき機能を説明できる。 | 3 | 後2,後3,後4,後6,後7,後8,後10 |
評価割合
| 試験 | 発表 | 相互評価 | 態度 | ポートフォリオ | その他 | 演習課題 | 合計 |
総合評価割合 | 30 | 0 | 0 | 0 | 0 | 0 | 70 | 100 |
基礎的能力 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
専門的能力 | 30 | 0 | 0 | 0 | 0 | 0 | 70 | 100 |
分野横断的能力 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |