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