Linux システムプログラミング
リナックス システム プログラミング
- 著者:
- ロバート・ラブ / 千住治郎(ラブ, ロバート / センジュ, ジロウ)
- 出版社:
- オライリー・ジャパン
- 出版日:
- 2008年04月
- ISBN:
- 9784873113623
- 在庫:
- 在庫あり
なぜ注目されているか
書籍紹介
技書の森解説
『Linux システムプログラミング』 (Robert Love 著、千住 治郎 訳、オライリー・ジャパン、2008 年 4 月刊) は、Linux 上で動くプログラムがカーネルの機能をどのように呼び出すのかを、プログラマの立場から解説した書籍です。原書は Linux System Programming で、版元の紹介文は、カーネルの内部実装よりもプログラマがソースコードを書くために必須の知識をまとめた本だと説明し、対応するカーネルを 2.6 と明記しています。C で Linux 向けのツールやサーバーを書く人が、ライブラリ関数の一段下で何が起きているのかを押さえるための一冊です。
全 10 章と GCC 拡張の付録、ファイル I/O からタイマーまで
構成は全 10 章と付録です。1 章の概要および主要概念で API と ABI、標準仕様、Linux プログラミングの概念を整理したあと、2 章から 4 章の 3 つの章をファイルの入出力に充てています。2 章のファイル I/O は read () と write () に加えて同期 I/O、ダイレクト I/O、I/O の多重化を扱い、3 章は標準 I/O ライブラリのバッファリングとその制御、4 章は scatter-gather I/O、Event Poll インタフェース、ファイルのメモリへのマッピング、I/O スケジューラーと I/O パフォーマンスへ進みます。5 章と 6 章はプロセス管理で、新規プロセスの起動と終了、デーモン、プロセススケジューリング、プロセッサアフィニティ、リアルタイムシステム、リソースリミットを取り上げます。後半は 7 章のファイル、ディレクトリの管理、8 章のメモリ管理、9 章のシグナル、10 章の時間と続き、巻末には C 言語の GCC 拡張を扱う付録が置かれています。
システムコールと標準ライブラリの境目を知る意味
Linux のプログラムがファイルを開く、メモリを確保する、子プロセスを作るといった操作は、最終的に システムコール を通じてカーネルへ依頼されます。C の標準ライブラリはその上にバッファリングや書式付きの入出力といった便利な層を重ねていますが、この層があるために、書いたはずのデータがまだディスクに届いていない、シグナルを受けた瞬間に呼び出しが途中で戻る、といった挙動が見えにくくなります。open () が返す ファイルディスクリプタ という整数を起点に、書き込みが要求より短く終わる場合の扱い、fsync による同期、fork と exec によるプロセスの生成と置き換え、epoll による多数の接続の待ち受けを理解しておくと、ログが欠ける、子プロセスが回収されずに残る、高負荷で接続を捌けないといった障害の原因を自分で切り分けられるようになります。
C の基礎とカーネル 2.6 時代の前提、向く人と向かない人
コード例は C で書かれているため、ポインターと構造体を扱えること、コマンドラインでプログラムをコンパイルして動かせることが読み進める前提になります。刊行は 2008 年で、対応するカーネルは 2.6 です。2008 年時点の技術環境を前提とした本であり、その後のカーネルで加わった機能は範囲に含まれません。また版元が説明するとおり、カーネル内部の実装を学ぶ本ではないので、スケジューラーやデバイスドライバーの作りそのものを知りたい場合は目的が合いません。版元のページには刷ごとの正誤表が公開されているため、手元の本の刷数を奥付で確かめてから照らし合わせると安心です。Linux の操作やカーネルの仕組みを扱う本との使い分けは、Linux 本の選び方 で整理されています。
標準ライブラリの便利さに頼ってきたものの、障害の調査や性能の詰めで一段下の動きを説明できずに困った経験がある人にとって、ファイル、プロセス、メモリ、シグナル、時間という OS の基本の機能をプログラマの側から一通り押さえられる本書は、手元に置く価値のある一冊です。C の基礎を固めたうえで 2 章から順にコードを追えば、Linux の上で動くプログラムの動きを一段下の層から説明する手がかりが得られます。
言及した記事 (6 件)
ソフトウェアエンジニアリングの70年と、これからの話
♡ 55AI, 歴史, キャリア, プログラミング言語, ソフトウェアエンジニアリングNVIDIA Vera Rubin のアーキテクチャを理解する ─ 希少なHBM4を使い倒す設計 (HBM 容量は B300から増量なし、MI455Xより少ない)
♡ 3NVIDIA, Vera, Rubin, HBM4, MI455X【サルでもわかる】Linuxの基礎~実務の初心者ガイド【これだけ!】
♡ 2初心者向け, 自分用メモ, 学習記録, LinuxWebアプリって結局どう動いてる? フロント・バック・サーバを、たぶん一番やさしく
♡ 1Web, アプリ, 初心者, AIプログラミング雑記 2026年8月26日
♡ 0プログラミング, Cloud, AI, エンジニアBashシェルスクリプト演算子対応表:数値・文字列・ファイル判定の使い分け備忘録
♡ 0ShellScript, Linux, まとめ, 資格, linuc
この本に興味がある方におすすめ
関連する本
関連記事
インフラ / クラウド本ガイド - AWS や Docker を本で学ぶ
クラウドインフラ、コンテナ、IaC を学べる技術書の選び方と学習順序を紹介。インフラ本の賞味期限問題と公式ドキュメントとの使い分けも解説します。
副業エンジニアの武器になる 1 冊の見つけ方
副業で技術力を売るエンジニアが、限られた時間で最大のリターンを得る選書戦略と、本業との差別化に効く本の選び方を解説します。
AWS 本の選び方 - 全体像 / 構築 / 設計 / 運用 / セキュリティの 5 視点
AWS を学ぶ技術書の選び方を「全体像 / 構築 / 設計 / 運用 / セキュリティ」の 5 視点で整理。公式ドキュメントと本の役割分担、資格対策書の位置づけまで、2026 年 8 月時点の定番書で AWS 独学のルートを解説します。