到達目標
(ア)コンピュータシステムにおけるオペレーティングシステムの位置づけを説明でき,オペレーティングシステムが備えるべき機能を説明できる。
(イ)プロセス,ファイルI/O関連のシステムコールを利用したプログラミングができる。
(ウ)プロセス間通信,ソケット通信関連のシステムコールを利用したプログラミングができる。
ルーブリック
| 最低限の到達レベルの目安(優) | 最低限の到達レベルの目安(良) | 最低限の到達レベルの目安(不可) |
評価項目(ア) | コンピュータシステムにおけるオペレーティングシステムの位置づけを説明でき,オペレーティングシステムが備えるべき機能を説明できる。 | コンピュータシステムにおけるオペレーティングシステムの位置づけと,オペレーティングシステムが備えるべき機能をキーワードを用いて簡単に説明できる。 | コンピュータシステムにおけるオペレーティングシステムの位置づけと,オペレーティングシステムが備えるべき機能を説明できない。 |
評価項目(イ) | マニュアルを参考にしながら自身の力でプロセス、ファイルI/O関連のシステムコールを利用したプログラミングができる。 | 使うべきシステムコールが与えられればマニュアルを参考にしながらプロセス、ファイルI/O関連のシステムコールを利用したプログラミングができる。 | プロセス、ファイルI/O関連のシステムコールを利用したプログラミングができない。 |
評価項目(ウ) | マニュアルを参考にしながら自身の力でプロセス間通信、ソケット通信関連のシステムコールを利用したプログラミングができる。 | 使うべきシステムコールが与えられればマニュアルを参考にしながらプロセス間通信、ソケット通信関連のシステムコールを利用したプログラミングができる。 | プロセス間通信、ソケット通信関連のシステムコールを利用したプログラミングができない。 |
学科の到達目標項目との関係
学習・教育到達度目標 A2 ソフトウェア開発において,数理的理論に基づくスマートな設計ができるとともに,ハードウェアの基本動作を意識した設計ができる.
JABEE d 当該分野において必要とされる専門的知識とそれらを応用する能力
本校教育目標 ① ものづくり能力
教育方法等
概要:
これまで学んできたC言語ならびにオペレーティング・システム(OS)の知識を発展させ、OSにより近い管理テーブルや周辺装置を利用するためのシステムコール・プログラミングを学習する。また、OSカーネルとアプリケーション・プログラムの動作関係やメモリ資源の利用について、プログラミング演習を行うことによりOSの特徴や原理についても習得する。演習は、Windows上で動作するLinuxOSを使用して行う。
授業の進め方・方法:
講義はPower Pointを用いて説明を行う。適宜Windows上で動作するLinux OSを用いて講義内容を確認するための演習時間を設ける。
注意点:
継続的に授業内容の予習・復習を行うこと。また、授業内容について、決められた期日までの課題(レポート)提出を求める。ノートPCを適宜持参のこと。「情報科学」教育プログラムの必履修科目である。
授業計画
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
シラバスによる授業内容の説明および演習環境の構築 |
演習環境の構築ができる。
|
2週 |
LinuxOSの特徴:カーネルとプロセス管理、記憶管理、ファイル・システムおよびシステムコール概説 |
カーネルとプロセス管理、記憶管理、ファイル・システムおよびシステムコールについて基本的な内容が理解できる。
|
3週 |
Linux環境でのプログラム開発:シェルスクリプト,makeとコンパイラ |
シェルスクリプト、makeとコンパイラについて理解できる。
|
4週 |
ファイルI/O関連のシステムコール(1):ファイルI/Oのシステムコール |
ファイルI/Oのシステムコールについて理解できる。
|
5週 |
ファイルI/O関連のシステムコール(2):低水準入出力のシステムコール・プログラム演習 |
低水準入出力のシステムコール・プログラムを実装し、実行できる。
|
6週 |
ファイルI/O関連のシステムコール(3):高水準入出力のシステムコール・プログラム演習 |
高水準入出力のシステムコール・プログラムを実装し、実行できる。
|
7週 |
OSにおけるファイル管理:ファイルシステム,リンク,パーティション |
OSにおけるファイル管理として,ファイルシステム,リンク,パーティションについて理解できる。
|
8週 |
OSによるメモリ管理:アドレス空間 |
アドレス空間の概念を理解し,OSの記憶管理方式んちういて理解できる。
|
2ndQ |
9週 |
プロセス関連のシステムコール:fork、execシステムコール・プログラムとその演習 |
Linuxにおけるプロセスとfork、execシステムコールについて理解でき,プログラムを実装し,実行できる。
|
10週 |
シグナル関連のシステムコール:シグナルのシステムコールとその演習 |
シグナルのシステムコールについて理解でき,プログラムを実装し,実行できる。
|
11週 |
プロセス間通信(1):パイプによるプロセス間通信 |
パイプによるプロセス間通信ついて理解し、プログラムを実装し、実行できる。
|
12週 |
プロセス間通信(2):共有メモリを用いたプロセス間通信 |
共有メモリによるプロセス間通信ついて理解し、プログラムを実装し、実行できる。
|
13週 |
プロセス間通信(3):セマフォによる排他制御 |
セマフォの概念を理解でき,排他制御を行うプログラムを実装し,実行できる。
|
14週 |
ソケット通信(1):ソケット通信の仕組みとソケット通信アプリケーションの開発 |
ソケット通信の仕組みを理解し,ソケット通信を用いるアプリケーションの開発を行える。
|
15週 |
ソケット通信(2):ソケット通信アプリケーションの開発と総まとめ |
ソケット通信の仕組みを理解し,ソケット通信を用いるアプリケーションの開発を行える。
|
16週 |
|
|
モデルコアカリキュラムの学習内容と到達目標
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
専門的能力 | 分野別の専門工学 | 情報系分野 | プログラミング | ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。 | 3 | 前1,前2,前3 |
システムプログラム | プロセス管理やスケジューリングなどCPUの仮想化について説明できる。 | 3 | 前9,前10,前11 |
排他制御の基本的な考え方について説明できる。 | 3 | 前13 |
記憶管理の基本的な考え方について説明できる。 | 3 | 前4,前5,前6,前7,前8,前12 |
コンパイラの役割と仕組みについて説明できる。 | 3 | 前3 |
評価割合
| 中間試験 | 定期試験 | 課題 | 合計 |
総合評価割合 | 25 | 45 | 30 | 100 |
専門的能力 | 25 | 45 | 30 | 100 |