csystem

C言語システムプログラミング
C Language System Programming
http://software.ed.sie.dendai.ac.jp/csystem/
情報環境学部 紫合 治
[email protected]
担当 紫合 (302教室)



JK科 教授 Professor
専門: ソフトウェア工学
Software engineering
他の担当科目


ソフトウェア工学
計算機数学 等
Cについて What is C?

1969年,AT&Tベル研のトンプソンにより
Unixが産声をあげました.Unixは,ファイ
ル入出力を基本としたI/Oを持つマルチタ
スクOSで,現在でも広く利用されています
(Solaris,AIX等).当初のUnixの実装は,
アセンブラで行われていました.
Multics (破綻) → Unics → Unix
Cについて

アセンブラの実装では,機能のエンハンス
等に支障が生じてきます.そこでリッチー
は,1971年 にUnixをCで書き直しました.
本来,CはOSを実装するために作られた
言語です.
Cについて

Unixを開発するために生まれたCですが,
基本ステートメントの数は多くありません.
OSの実装という,低水準 (ハードウェアに
近いという意味.程度が低いという意味で
はない.) の処理を行うためです.
C言語 ← 高級言語と低級言語の中間
高級言語 : Java,Pascal,BASIC,COBOL,FORTRAN…….
低級言語 : 機械語,アセンブラ
Cについて


また,I/Oの入出力を行うステートメントは,
用意されていません.
I/Oの入出力等の機能は,関数により拡張
されます. 例えば,Unixのアプリケーショ
ン開発にも,システムコールを発行するた
めのCによる関数ライブラリが用いられま
す.
Cについて

また,Unix互換OSとしてLinuxがあります.
Linuxはオープンソースのカーネルを持つ
フリーのOSであり,サーバ,組み込み等の
多くの分野で利用されています.
Linux →
UnixとAPI(システムコール)レベルの互換性
→ 同じソースコードの利用
Cについて

電機メーカーでは,家電製品の組み込み
システムの開発を行うことが多いと思われ
ます.開発に用いられる組み込みOSの主
流は,Linuxに移行しつつあります.
組み込みプログラミングのトレンド:
μITRON→Linux
アセンブラ→C,(Java)
講義について About this course


計算機環境を効率的に活用するために,
C言語を用いたOSのシステムコールプロ
グラミング技術の習得を目標とする.
Student is required to make C
programs with OS system calls.
講義について




http://software.ed.sie.dendai.ac.jp/
csystem/ に講義資料を提示します.
普段の演習課題,中間テスト及び最終
課題で評価します.(昨年は,中間テス
トの結果により,追試を行いました.)
プログラミング環境は,Cygwinを使用
します.次回インストールします.
講義について



前半ではC言語による基本プログラミング技法に
ついて実施し,基本ステートメント,関数について
習得する (中間テストの範囲).
後半では,ポインタ,構造体,線形リストによる
データ構造の構築法について習得する.
また,UNIXによるシステムコールプログラミング
技法について実施し,ファイル処理,並行プロセ
ス,プロセス間通信,シグナル等についても習得
する.
講義について



環境構築 Install
演算,入出力
I/O, operators
制御構造
Control structures



配列 Array
関数 Function
中間テスト Exam





ポインタ Pointer
データ構造 Struct
ファイル File
ソケット Socket
並行プロセス
Concurrent processes
期末テストは実施せず,
最終課題を課します.
講義について

別途,講義資料を用意しますが,なるべく教科書
を用意して下さい.用意しない場合は,課題や試
験で不利になる場合があります.講義の順序は,
教科書通りとは限りません.
カーニハン / リッチー著,
石田晴久訳「プログラミング言語C」,
共立出版,ISBN4-320-02692-6
講義の時間配分

以下の時間配分での実施を検討しています
ニ限目
Second hour
演習/課題 Exercise
時間は綺麗に切れるとは
限りません
一限目
First hour
火曜日
Tuesday
一限目
First hour
木曜日
Thursday
講義 (座学メイン) Lecture
C-learningの講義ID

紫合クラス (302教室)


講義ID:8315660319
今回,ログイン出来ない場合でも,次回に説明致
します.
C-learningについて

C-learningというシステムを用いて課題提出を行
ってもらいます.URLは以下になります.資料にリ
ンクがあります.


ログインID


メールアドレス (例 [email protected])
パスワード



https://sie.c-learning.jp/sp/
忘れた場合は再発行して下さい.
初めての場合は,IDの始めの4文字+生年月日の月
日 (7月27日なら 11jk0727)
講義ID:8315660319
今週のこれからの予定


次回Cygwinのインストールをやります.
We install Cygwin in this Thursday.
ネットワーク経由で行うので,LANケーブル
を使用して下さい.
Bring LAN cable.