システムプログラミング入門

書影

Computer Science Library  10

システムプログラミング入門

UNIXシステムコール,演習による理解
定価:
2,420
(本体:2,200円+税)
難易度:入門

発行日:2011年4月25日

発行:サイエンス社

ISBN:978-4-7819-1276-9

サイズ:上製A5

ページ数:224ページ

在庫:在庫あり

内容詳細

ソフトウェアを開発する側の立場に立って,何のシステムコールを使えばどんなふうにカーネルの機能を利用できるのかを学ぶことを目的とする,システムプログラミング入門者のための教科・参考書.

目次

第1章 はじめに
  1.1 本書で扱うシステムプログラミング
  1.2 本書の学習目標
  1.3 本書が対象とするOS,言語,学習スキル
  1.4 実習を進める上で知っておきたい知識
  1.5 本書の構成

第2章 おさえておきたいC言語プログラミングのいろいろ
  2.1 main引数
  2.2 エラー処理
  2.3 関数リファレンスの読み方と使い方
  2.4 manコマンドで調べる
  2.5 errnoとperror
  第2章の章末問題

第3章 高水準入出力:テキストファイルの入出力
  3.1 ストレージとファイルシステム
  3.2 入出力関数の種類
  3.3 ファイル入出力の処理の流れ
  3.4 ファイルを開く・閉じる
  3.5 ファイルの読込み・書込み
  3.6 標準入出力
  3.7 FILE構造体
  第3章の章末問題

第4章 高水準入出力:バイナリファイルの入出力
  4.1 バイナリファイルの入出力
  4.2 テキストとバイナリによる入出力の比較
  4.3 ファイルオフセット
  第4章の章末問題

第5章 低水準入出力
  5.1 入出力に関するシステムコール
  5.2 バッファリング
  第5章の章末問題

第6章 ディレクトリやファイルの情報
  6.1 ディレクトリ階層
  6.2 ファイル一覧を見る
  6.3 ファイル情報の取得
  6.4 アクセス権
  6.5 iノード
  第6章の章末問題

第7章 リンク,パーティション
  7.1 ハードリンク
  7.2 シンボリックリンク
  7.3 リンクに関するシステムコール
  7.4 パーティション
  第7章の章末問題

第8章 仮想アドレス空間
  8.1 変数とスコープ
  8.2 動的な領域確保
  8.3 アドレス空間
  8.4 スタック領域の割り当て
  第8章の章末問題

第9章 メモリ確保に関するさまざまな問題
  9.1 スタックオーバフロー
  9.2 動的メモリ確保とメモリリーク
  9.3 バッファオーバフロー
  9.4 バッファオーバフローを使った攻撃
  第9章の章末問題

第10章 プロセス
  10.1 プロセスとは
  10.2 プロセスの生成
  10.3 プロセスの待機
  第10章の章末問題

第11章 プログラムの実行と割り込み
  11.1 execによるプログラムの実行
  11.2 execファミリ
  11.3 シグナルによる割り込み
  11.4 シグナルに関するシステムコール
  第11章の章末問題

第12章 パイプによるプロセス間通信
  12.1 パイプとは
  12.2 パイプを使った通信
  12.3 名前つきパイプ
  12.4 リダイレクションとパイプ
  12.5 リダイレクションの実装
  12.6 パイプの実装
  第12章の章末問題

第13章 共有メモリとセマフォ
  13.1 共有メモリ
  13.2 セマフォによる排他制御
  第13章の章末問題

第14章 ソケット通信
  14.1 ソケット通信とは
  14.2 ソケット通信に関するシステムコールと通信の仕組み
  14.3 マルチクライアントへの対応
  第14章の章末問題

第15章 スレッド
  15.1 基本的なスレッドの使い方
  15.2 mutexを用いたスレッド間の排他制御
  第15章の章末問題

第16章 おわりに
  16.1 そのほかのシステムコール
  16.2 演習を終えたあとに

参考文献
索引

サポート情報

その他

解答など



「システムプログラミング入門」 サポートページ



解答とプログラムの方針

講義用スライド(zip)(1-12章,及び14-15章.)

・「解答プログラムについては,本書を演習として講義で使うことを考え,教授者用にのみ配布いたします.ご講義用としてご希望の方はサイエンス社編集部 (rikei@saiensu.co.jp)まで,お名前・学校名・送り先などをご明記の上ご連絡下さい.」