システムプログラム   [ GB31401,L510701 ]
System Program
対象:3・4学年
第1学期 水1・2 (3A207) 2単位 担当教員:新城靖,追川修一

概要

Unixのシステムコールとライブラリを主な題材としてシ ステムプログラ ミング、ネットワーク・プログラミング、および、オブ ジェクト指向プロ グラミングについて講義する。計算機を用いた実習を課す。

学習・教育目標

  1. API (システムコールとライブラリ)を使った プログラム作成 法を学ぶ。
  2. マニュアルの読み方を身につけ る。
  3. 文字列、ファイル、時刻などの基本的ななオブジェクト を扱うことを 扱えるようになる。
  4. プロセス生成やシグナル を題材として 並行プログラミングの基礎を学ぶ。
  5. TCP/IPを 用いたネット ワーク通信を行うプログラムを作成できるようにな る。
  6. World Wide Web の CGI の仕組みを理解する。
  7. スクリプト 言語を用いたプログラムを作成できるようにな る。

時間割

講義内容/理解すべき項目
第1週計算機システムのソフトウェア構成、Unixにおけるプロ グラムの実行環 境
ライブラリとシステムコール、ポインタによる データの受け渡 し
コンパイルとリンク、makeコマンド、デバッグ の方法
第2週数値と文字の表現、文字列、配列、ポインタ、ヒープ
数値の表 現、文字列操作のライブラリ関数、変数や配列の番地、 領域確保
第3週ファイルアクセス
ライブラリとシステムコールによるファイルの扱い、 ファイル記述子、ス トリーム、標準入出力
第4週プロセスの概念、パイプ、メモリマップ
プロセス の生成、プロセ スとプログラムの関係、パイプの生成
第5週シグナル、属性、アクセス制御
周辺装置、入出 力、ポーリング、 割込み、ソフトウェア割込み
ファイルの属性、プ ロセスの属性、 アクセス権
第6〜8週ネットワーク・プログラミング
TCP/IPの概念、ソ ケットAPI、プ ロトコルスタック
TCP/IPのクライアントとサーバ
UDP/IP のクライアントとサーバ
第9週WWWプログラミングとWWWにおけるアクセス制御
CGI の仕組 み、SSIの仕組み、JavaScript、クロスサイトスクリプ ティング攻撃
Basic認証、IPアドレスによる制御、Cookie
第10週スクリプト言語
スクリプト言語によるプログラミ ングの手法
Ruby、Python、Perl、または sh等によるプログラミング

教材

毎週プリントを配布する。WWWで教材を提示する。

参考書籍

「C言語によるUNIXシステムプログラミング入門」(河 野 清尊、オー ム社) 
「The Unix Super Text第2版」(山口和 紀・古瀬一 隆・中村敦司・新城 靖・西山博泰・林 謙一・金谷英 信・鈴木孝幸・端 山貴也、技術評論社)

予備知識・前提条件

データ構造とアルゴリズムに関する知識があることを前 提とする。また、 機械語序論を受講していることが望ましい。

成績評価

レポートにより評価を行う。基準を満たさなかったレ ポートは、再提出を 求めることがある。毎回出席をとり、最終的な評価の際 に考慮に入れる。

教員メールアドレス

新城:yasの後に(AT)is.tsukuba.ac.jp
追川:shuiの後に(AT)cs.tsukuba.ac.jp

講義のWebページ

http://www.coins.tsukuba.ac.jp/~syspro/2009/

オフィスアワー

木6 3E302(新城)、月2 3F911(追川)