出版社内容情報
UNIX/Linuxの機能を使ったC言語プログラミングを解説する。UNIX/Linuxシステムプログラミングをはじめよう。UNIX/Linuxシステムプログラミングをはじめよう
本書は、2007年にピアソン・エデュケーションから発行された『例解UNIXプログラミング教室 ―システムコールを使いこなすための12講―』の改訂版です。
本書は、UNIX/Linuxの機能を使ったC言語プログラミングを解説するものです。UNIXは、ファイルの操作やプロセスの制御、プロセスへのシグナル、ネットワーク通信、端末の操作など、多くの高度な機能を持っています。しかし、システムコールによって、このような機能を利用したプログラムを正しく動作するようつくるためには、UNIXの隠れた概念や制約について知っている必要があり、それらを網羅的に覚えるのは困難です。
本書は、この概念や制約が、それぞれのシステムコールの動作に及ぼす影響を全部覚えるといったアプローチはとっていません。むしろ、必要なときに必要なシステムコールが分かり、それをどう使えばよいのか、そして、その機能には当然どのような制限があるのかが分かるようになるように、UNIXの基本概念とプログラマから見えるUNIXの概観をつかめるよう解説しました。
本書は単なるインタフェースの解説書ではありません。インタフェースの説明をしつつ、 UNIXの概観(エッセンス)を読者に理解してもらうことで、できるだけ楽に、しかも確かなUNIXシステムプログラミングができるようになってもらうことを目指しました。また、豊富なサンプルコードと演習問題を掲載し、実践的なプログラミングの助けとなるようにしています。
<このような方におすすめ>
・C言語の基本を学習し終えた学生、プログラミング入門者
・システムプログラミングのスキルをさらに磨きたいソフトウェアエンジニア
・組込みプログラムやデバイスドライバの開発に必要な基礎知識を学びたいエンジニア
<おもな改訂内容>
・第0章 UNIXの基礎とシェルの新設:UNIXシステムプログラミングを学ぶ準備として、UNIX にまだ慣れていない読者のために、UNIXとはどのようなものか、どのように操作するかを説明する第0章を新設しました。
・用語の見直し:旧版では提案も含めて読者にわかりやすい用語を目指していましたが、この新版では、わかりやすさを保ちつつ、広く使われている語を用いるようにしました。
UNIX自体がすでに成熟しているため、システムプログラミングの部分については小規模な改善を行いました。
なお、すべてのコードは以下のサイトからダウンロードできます。
https://github.com/kazutomi/reikai-unix-code-samples
第0章 UNIX の基礎とシェル
第1章 C の復習 (1):マニュアルの読み方,エラー処理,構造体,共用体
第2章 C の復習 (2):ポインタ,バイトオーダ,複雑な型
第3章 低水準入出力
第4章 標準入出力ライブラリ
第5章 プロセス
第6章 ファイルシステム
第7章 ファイル記述子のコピーとパイプ: dup , dup2 , pipe
第8章 ソケット通信入門
第9章 シグナルと競合状態
第10章 端末 (1) :端末,端末ラインディシプリン, termios 構造体
第11章 端末 (2) :エスケープシーケンス, curses ライブラリ,擬似端末
第12章 非局所脱出: setjmp, longjmp
参考文献
用語集
索引
冨永 和人[トミナガ カズト]
著・文・その他
権藤 克彦[ゴンドウ カツヒコ]
著・文・その他
目次
UNIXの基礎とシェル
Cの復習(1):マニュアルの読み方、エラー処理、構造体、共用体
Cの復習(2):ポインタ、バイトオーダ、複雑な型
低水準入出力
標準入出力ライブラリ
プロセス
ファイルシステム
ファイル記述子のコピーとパイプ:dup,dup2,pipe
ソケット通信入門
シグナルと競合状態〔ほか〕
著者等紹介
冨永和人[トミナガカズト]
1966年生まれ。1994年東京工業大学理工学研究科情報工学専攻博士課程単位取得退学。1996年同専攻より博士(工学)の学位を取得。東京工科大学工学部情報工学科講師、同助教授、米国イリノイ大学アーバナ=シャンペーン校コンピュータサイエンス学科客員研究員、東京工科大学コンピュータサイエンス学部准教授などを経て、現在、和情報網代表。博士(工学)。1976年頃からBASICやマシン語でプログラミングを始める。UNIXでのC言語プログラミングを1985年から始め、1994年から2012年まで大学の情報系専門学科でC言語プログラミング、オペレーティングシステム、UNIXシステムプログラミングなどの授業を担当する
権藤克彦[ゴンドウカツヒコ]
1966年生まれ。1994年東京工業大学理工学研究科情報工学専攻博士課程修了。同年同専攻より博士(工学)の学位を取得。東京工業大学講師、北陸先端科学技術大学院大学助教授、米国ブラウン大学客員研究員などを経て、現在、東京工業大学情報理工学院教授。博士(工学)。1994年から現在までC言語プログラミング、UNIXシステムプログラミング、コンパイラ、オペレーティングシステムなどの授業を担当する。専門はソフトウェア工学、ソフトウェア開発環境(本データはこの書籍が刊行された当時に掲載されていたものです)
※書籍に掲載されている著者及び編者、訳者、監修者、イラストレーターなどの紹介情報です。