システムプログラム
[ GB31401,L510701 ] System Program |
対象:3・4学年 |
第1学期 |
水1・2 (3A207) |
2単位 |
担当教員:新城靖,追川修一 |
概要
Unixのシステムコールとライブラリを主な題材としてシ
ステムプログラ
ミング、ネットワーク・プログラミング、および、オブ
ジェクト指向プロ
グラミングについて講義する。計算機を用いた実習を課す。
学習・教育目標
- API (システムコールとライブラリ)を使った
プログラム作成
法を学ぶ。
- マニュアルの読み方を身につけ
る。
-
文字列、ファイル、時刻などの基本的ななオブジェクト
を扱うことを
扱えるようになる。
- プロセス生成やシグナル
を題材として
並行プログラミングの基礎を学ぶ。
- TCP/IPを
用いたネット
ワーク通信を行うプログラムを作成できるようにな
る。
-
World Wide Web の CGI の仕組みを理解する。
- スクリプト
言語を用いたプログラムを作成できるようにな
る。
時間割
週 | 講義内容/理解すべき項目 |
---|
第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(追川)