到達目標
1. システムコール、カーネル、ファイルシステム、ドライバなどの各ツールの機能を理解し、ユーザが作成したアプリケーションの命令語がこれらを通じて実行を行う手順を理解する。
2. プロセスの状態遷移と割り込み、競合状態を回避するセマフォなどの技術、記憶階層や再配置のメモリ管理技術、このようなOSが効率よくリソースを割り当て、マルチプログラミングを実現するための基盤技術を理解する。
3. リアルタイムOSなど組込みシステムに使用されているOSの特徴を理解する。
ルーブリック
| 理想的な到達レベルの目安 | 標準的な到達レベルの目安 | 未到達レベルの目安 |
評価項目1 | カーネルの機能を理解し、アプリケーション開発に応用できる。 | カーネルの機能を理解できる。 | カーネルの機能を理解できない。 |
評価項目2 | マルチプログラミングを実現するための基盤技術を理解し、プリケーション開発に応用できる。 | マルチプログラミングを実現するための基盤技術を理解できる。 | マルチプログラミングを実現するための基盤技術を理解できない。 |
評価項目3 | リアルタイム性など組込みOSの特徴を活用したアプリケーションの開発ができる。 | 組込みOSの特徴を理解できる。 | 組込みOSの特徴を理解できない。 |
学科の到達目標項目との関係
教育方法等
概要:
現在のOS(オペレーティングシステム)は、以前アプリケーションであったものがOSの標準機能となっており、アプリケーションとの境界を判断するのが困難な状況である。本授業では、OSの根本的な部分つまり「狭義のOS」に注目する。「狭義のOS」は、どのようなコンポーネントから構成され、それぞれどのような機能、技術があるのかを理解する。カーネルがどのようにして効率よくリソースを割り当て、マルチプログラミングを実現しているのかを理解する。
授業の進め方・方法:
OSの機能を理解していなければ、最適なプログラムを開発できないことを理解する実習を通じてOSの機能を確認する。
注意点:
JABEE教育到達目標評価:試験90%(B-3),課題10%(B-3)
授業計画
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
ガイダンス、OSの概要。 |
論理的仮想マシンの提供、リソースマネージャとしてのOSの役割を説明できる。
|
2週 |
コンピュータ5大装置とマイクロプログラムの動作 |
1年で学習した5大装置の機能をさらに発展させて、命令語の実行の流れを理解できる。
|
3週 |
API |
システムコールの実行手順を説明できる。
|
4週 |
カーネルの構成とその動作 |
カーネルの動作概要を説明できる。
|
5週 |
プロセスモデル、スレッド |
プロセスモデルについて説明できる
|
6週 |
プロセスの状態遷移 |
プロセスの状態遷移をマルチプログラミングに対応させて説明できる。
|
7週 |
プロセスの状態遷移 |
プロセスの状態遷移をマルチプログラミングに対応させて説明できる。
|
8週 |
前期中間試験 |
|
2ndQ |
9週 |
クリティカルセクション、競合状態 |
競合状態の原理について説明できる。
|
10週 |
排他制御、デットロック |
競合状態を防ぐ方法を説明できる。
|
11週 |
プロセススケジューリング |
代表的なプロセススケジューリングを説明できる。
|
12週 |
プロセススケジューリング |
代表的なプロセススケジューリングを説明できる。
|
13週 |
割り込み処理の流れ、割り込みの種類 |
割り込み処理の流れ、割り込みの種類を説明できる。
|
14週 |
記憶階層 |
記憶階層について説明できる。
|
15週 |
前期期末試験 |
|
16週 |
試験答案返却・解答解説 |
・間違った問題の正答を求めることができる
|
後期 |
3rdQ |
1週 |
プロセスに割り当てるメモリ構成、再配置 |
プロセスに割り当てられるメモリ領域の構成を説明できる。
|
2週 |
論理アドレスから物理アドレスへの変換 |
論理アドレスと物理アドレスについて説明できる。
|
3週 |
論理アドレスから物理アドレスへの変換 |
論理アドレスと物理アドレスについて説明できる。
|
4週 |
仮想記憶。 ローダー、シンボル、ライブラリ(ダイナミックライブラリ・スタティックライブラリ)、プログラムの種類(リエントラント、再帰) |
仮想記憶を説明できる。 ローダの機能を理解し、シンボル、ライブラリおよび各種プログラムの特徴を総合的に理解する。
|
5週 |
カーネルの入出力管理、デバイスドライバ |
カーネルの入出力管理の役割を説明できる。デバイスドライバの構造、処理手順について説明できる。
|
6週 |
ファイルシステム(FAT) |
FATファイルシステムを説明できる。
|
7週 |
ファイルシステム(iノード) |
iノードファイルシステムを説明できる。
|
8週 |
後期中間試験 |
|
4thQ |
9週 |
組込みOSの特徴、種類 |
組込みOSの特徴、種類を説明できる
|
10週 |
アプリケーションの2つの開発モード。リアルタイムOS |
アプリケーションの2つの開発モード。リアルタイムOSを説明できる。
|
11週 |
T-Kernelベースのアプリケーション開発 |
T-Kernelベースのアプリケーション開発を説明できる。
|
12週 |
演習 |
|
13週 |
プロセスベースのアプリケーション開発 |
プロセスベースのアプリケーション開発を説明できる
|
14週 |
演習 |
|
15週 |
学年末試験 |
|
16週 |
試験答案返却・解答解説 |
・間違った問題の正答を求めることができる
|
モデルコアカリキュラムの学習内容と到達目標
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
専門的能力 | 分野別の専門工学 | 情報系分野 | 計算機工学 | コンピュータを構成する基本的な要素の役割とこれらの間でのデータの流れを説明できる。 | 5 | |
コンピュータアーキテクチャにおけるトレードオフについて説明できる。 | 3 | |
システムプログラム | コンピュータシステムにおけるオペレーティングシステムの位置づけを説明できる。 | 4 | |
プロセス管理やスケジューリングなどCPUの仮想化について説明できる。 | 4 | |
評価割合
| 試験 | 発表 | 相互評価 | 態度 | ポートフォリオ | 課題 | 合計 |
総合評価割合 | 90 | 0 | 0 | 0 | 0 | 10 | 100 |
基礎的能力 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
専門的能力 | 90 | 0 | 0 | 0 | 0 | 10 | 100 |
分野横断的能力 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |