授業科目: システムプログラム (2単位) System Program |
対象:3・4学年 | |
---|---|---|
第1学期 | 曜・時:月2・3 | 担当教官: 新城靖、加藤和彦 |
週別授業計画
教材:
毎週プリントを配布する。WWWで教材を提示する。
概要:
Unixのシステムコールとライブラリを主な題材としてシステムプログラ ミング、ネットワーク・プログラミング、および、オブジェクト指向プログラ ミングについて講義する。計算機を用いた実習を課す。
学習・教育目標:
授業計画:
週 | 講義内容/理解すべき項目 |
---|---|
第1週 | 計算機システムのソフトウェア構成、Unixにおけるプログラムの実行環境
ライブラリとシステムコール、マニュアルの読み方 コンパイルとリンク、デバッガ、makeコマンド |
第2週 | 数値と文字の表現、ファイルのシーケンシャル・アクセス
数値の表現、文字列操作のライブラリ関数 ライブラリとシステムコールによるファイルの扱い、ストリーム、標準入出力 |
第3週 | プロセスの概念、パイプ、メモリマップ
プロセスの生成、プロセスとプログラムの関係、パイプの生成 ファイル記述子、変数の番地、スタック、ヒープ |
第4週 | 構造体の入出力、ディレクトリ、時刻の扱い
ファイルのランダムアクセス、メモリマップ式の入出力 可変長構造体のファイル中の表現、ディレクトリ役割と構造 時刻の表現、時刻の取得、時刻を操作するライブラリ関数 |
第5〜7週 | ネットワーク・プログラミング
TCP/IPの概念、ソケットAPI、プロトコルスタック TCP/IPのクライアントとサーバ UDP/IPのクライアントとサーバ |
第8週 | シグナル、属性、アクセス制御
周辺装置、入出力、ポーリング、割込み、ソフトウェア割込み ファイルの属性、プロセスの属性、アクセス権 |
第9週 | WWWプログラミングとWWWにおけるアクセス制御
CGIの仕組み、SSIの仕組み、JavaScript、クロスサイトスクリプティング攻撃 Basic認証、IPアドレスによる制御、Cookie |
第10週 | スクリプト言語
スクリプト言語によるプログラミングの手法 Ruby、Python、Perl、または sh等によるプログラミング |
参考書等:
「システムプログラム」(山口和紀、昭晃堂)
「The Unix Super Text 第2版」(山口和紀・古瀬一隆・中村敦司・新城 靖・西山博泰・林 謙一・金谷英信・鈴木孝幸・端山貴也、技術評論社)
予備知識・前提条件:
データ構造とアルゴリズムに関する知識があることを前提とする。また、機械語序論を受講していることが望ましい。
オフィスアワー:
木4・5 3F829/3E302(新城)、3F413/3E304(加藤)
成績評価:
レポートにより評価を行う。基準を満たさなかったレポートは、再提出を求めることがある。 毎回出席をとり、最終的な評価の際に考慮に入れる。
講義のホームページ:
http://www.hlla.is.tsukuba.ac.jp/~yas/coins/syspro-2003/
教官メールアドレス: