システムプログラム

科目基礎情報

学校 豊田工業高等専門学校 開講年度 2017
授業科目 システムプログラム
科目番号 35106 科目区分 専門 / 選択
授業形態 講義 単位の種別と単位数 学修単位: 2
開設学科 情報工学科 対象学年 5
開設期 前期 週時間数 2
教科書/教材 渡辺知恵美「システムプログラミング入門」サイエンス社,ISBN:978-4-7819-1276-9/適宜プリントを配布する
担当教員 藤原 賢二

到達目標

(ア)コンピュータシステムにおけるオペレーティングシステムの位置づけを説明できる。
(イ)プロセス管理機能や記憶管理機能などオペレーティングシステムが備えるべき機能を説明できる。
(ウ)プロセス、ファイルI/O関連のシステムコールを利用したプログラミングができる。
(エ)プロセス間通信関連のシステムコールを利用したプログラミングができる。
(オ)ソケット通信関連のシステムコールを利用したプログラミングができる。
(カ)アプリケーション・プロトタイピングができる。

ルーブリック

最低限の到達レベルの目安(優)最低限の到達レベルの目安(良)最低限の到達レベルの目安(不可)
評価項目(ア)コンピュータシステムにおけるオペレーティングシステムの位置づけを自身の言葉で説明ができる。コンピュータシステムにおけるオペレーティングシステムの位置づけをキーワードを用いて簡単に説明できる。コンピュータシステムにおけるオペレーティングシステムの位置づけを説明できない。
評価項目(イ)プロセス管理機能や記憶管理機能などオペレーティングシステムが備えるべき機能を自身の言葉で説明ができる。プロセス管理機能や記憶管理機能などオペレーティングシステムが備えるべき機能キーワードを用いて簡単に説明できる。プロセス管理機能や記憶管理機能などオペレーティングシステムが備えるべき機能を説明できない。
評価項目(ウ)マニュアルを参考にしながら自身の力でプロセス、ファイルI/O関連のシステムコールを利用したプログラミングができる。使うべきシステムコールが与えられればマニュアルを参考にしながらプロセス、ファイルI/O関連のシステムコールを利用したプログラミングができる。プロセス、ファイルI/O関連のシステムコールを利用したプログラミングができない。

学科の到達目標項目との関係

本校教育目標 ① ものづくり能力

教育方法等

概要:
これまで学んできたC言語ならびにオペレーティング・システム(OS)の知識を発展させ、OSにより近い管理テーブルや周辺装置を利用するためのシステムコール・プログラミングを学習する。また、OSカーネルとアプリケーション・プログラムの動作関係やメモリ資源の利用について、プログラミング演習を行うことによりOSの特徴や原理についても習得する。講義の最終段階では、OSが提供するツールやライブラリを利用することにより効果的なアプリケーション・プログラムのプロトタイプ開発を体験する。演習は、Windows上で動作するLinuxOSを使用して行う。
授業の進め方・方法:
講義はPower Pointを用いて説明を行う。適宜Windows上で動作するLinux OSを用いて講義内容を確認するための演習時間を設ける。
注意点:
継続的に授業内容の予習・復習を行うこと。また、授業内容について、決められた期日までの課題(レポート)提出を求める。ノートPCを適宜持参のこと。「情報科学」教育プログラムの必履修科目である。

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 シラバスによる授業内容の説明および演習環境の構築 演習環境の構築ができる。
2週 LinuxOSの特徴:カーネルとプロセス管理、記憶管理、ファイル・システムおよびシステムコール概説 カーネルとプロセス管理、記憶管理、ファイル・システムおよびシステムコールについて基本的な内容が理解できる。
3週 Linux環境でのプログラム開発:シェルスクリプト、makeと正規表現 シェルスクリプト、makeと正規表現について理解できる。
4週 プロセス関連のシステムコール(1):Linuxにおけるプロセスとfork、execシステムコール Linuxにおけるプロセスとfork、execシステムコールについて理解できる。
5週 プロセス関連のシステムコール(2):fork、execシステムコール・プログラム演習 fork、execシステムコール・プログラムを実装し、実行できる。
6週 ファイルI/O関連のシステムコール(1):ファイルI/Oのシステムコール ファイルI/Oのシステムコールについて理解できる。
7週 ファイルI/O関連のシステムコール(2):低水準入出力のシステムコール・プログラム演習 低水準入出力のシステムコール・プログラムを実装し、実行できる。
8週 ファイルI/O関連のシステムコール(3):高水準入出力のシステムコール・プログラム演習 高水準入出力のシステムコール・プログラムを実装し、実行できる。
2ndQ
9週 シグナル関連のシステムコール:シグナルのシステムコール シグナルのシステムコールについて理解できる。
10週 シグナル関連のシステムコール:シグナルのシステムコール・プログラム演習 シグナルのシステムコール・プログラムを実装し、実行できる。
11週 プロセス間通信(1):単方向パイプ/双方向パイプ、FIFOシステムコール・プログラム演習 単方向パイプ/双方向パイプ、FIFOシステムコール・プログラムについて理解し、プログラムを実装し、実行できる。
12週 プロセス間通信(2):共有メモリ、メッセージ、セマフォのシステムコール・プログラム演習 共有メモリ、メッセージ、セマフォのシステムコールについて理解し、プログラムを実装し、実行できる。
13週 シェルスクリプトによるアプリケーション・プロトタイプ(1):プロトタイプで使用するツール、ライブラリ プロトタイプで使用するツール、ライブラリについて理解できる。
14週 シェルスクリプトによるアプリケーション・プロトタイプ(2):並行サーバ・プログラム演習 並行サーバ・プログラムの実装ができる。
15週 シェルスクリプトによるアプリケーション・プロトタイプ(3):プロトタイプ作成演習とまとめ アプリケーション・プロトタイプの作成ができる。
16週

モデルコアカリキュラムの学習内容と到達目標

分類分野学習内容学習内容の到達目標到達レベル授業週

評価割合

定期試験課題合計
総合評価割合6040100
専門的能力6040100