C言語システムプログラミング C Language System Programming http://software.ed.sie.dendai.ac.jp/csystem/ 情報環境学部 紫合 治 shigo@sie.dendai.ac.jp
担当 紫合 (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によるシステムコールプログラミング技法について実施し,ファイル処理,並行プロセス,プロセス間通信,シグナル等についても習得する.
講義について ポインタ Pointer 環境構築 Install データ構造 Struct 演算,入出力 ファイル File ソケット Socket 並行プロセス Concurrent processes 環境構築 Install 演算,入出力 I/O, operators 制御構造 Control structures 配列 Array 関数 Function 中間テスト Exam 期末テストは実施せず, 最終課題を課します.
講義について 別途,講義資料を用意しますが,なるべく教科書を用意して下さい.用意しない場合は,課題や試験で不利になる場合があります.講義の順序は,教科書通りとは限りません. カーニハン / リッチー著, 石田晴久訳「プログラミング言語C」, 共立出版,ISBN4-320-02692-6
講義の時間配分 以下の時間配分での実施を検討しています 演習/課題 Exercise 講義 (座学メイン) Lecture 火曜日 ニ限目 Second hour 演習/課題 Exercise 時間は綺麗に切れるとは 限りません 一限目 First hour 一限目 First hour 講義 (座学メイン) Lecture 火曜日 Tuesday 木曜日 Thursday
C-learningの講義ID 紫合クラス (302教室) 講義ID:8315660319 今回,ログイン出来ない場合でも,次回に説明致します.
C-learningについて C-learningというシステムを用いて課題提出を行ってもらいます.URLは以下になります.資料にリンクがあります. https://sie.c-learning.jp/sp/ ログインID メールアドレス (例 11jk999@ms.dendai.ac.jp) パスワード 忘れた場合は再発行して下さい. 初めての場合は,IDの始めの4文字+生年月日の月日 (7月27日なら 11jk0727) 講義ID:8315660319
今週のこれからの予定 次回Cygwinのインストールをやります. We install Cygwin in this Thursday. ネットワーク経由で行うので,LANケーブルを使用して下さい. Bring LAN cable.