システムプログラミング入門(システムプログラミングニュウモン)
実行しながら理解する Linux OS のしくみ
プログラミング- 著者:
- 篠山 学(ササヤマ マナブ)
- 出版社:
- 森北出版
- 出版日:
- 2020年10月30日頃
- ISBN:
- 9784627855519
- 在庫:
- 在庫あり
なぜ注目されているか
書籍紹介
はじめてシステムプログラミングを学ぶ方向けのやさしいテキストです。
ディレクトリ構造と基本的なコマンドの説明から、プロセス管理、メモリ管理、ファイルシステムまで Linux OS のしくみをわかりやすく解説します。
C 言語を用いたサンプルプログラム・実行例を豊富に掲載し、手を動かしながら学ぶことができるようになっています。
動作のイメージがつかめるような平易な解説で、初学者への配慮が行き届いたコンパクトな 1 冊です。
第 1 章 C 言語のまとめ
第 2 章 Linux のディレクトリ構造とコマンド
第 3 章 プロセス
第 4 章 環境変数
第 5 章 プロセスの管理
第 6 章 ファイルシステム
第 7 章 シグナル
第 8 章 パイプ
第 9 章 共有メモリ
第 10 章 ソケット通信
第 11 章 スレッド
技書の森解説
アプリケーション開発に慣れてくると、「プロセスとスレッドの違いは何か」「ファイル I/O は内部でどう動いているのか」という疑問がいずれ浮かびます。本書はそうした OS とハードウェアの境界に位置するシステムプログラミングの世界を、大学の情報系学部で使えるレベルの体系性を持ちつつ、初学者が読み通せる平易さで解説する教科書です。
扱われるテーマはプロセス管理、メモリ管理、ファイルシステム、シグナル、プロセス間通信、ネットワークソケットなど、 UNIX/Linux 環境でのシステムコールを中心とした低レイヤの基礎です。 C 言語のコード例とともに「 OS が提供する機能を直接呼び出すとはどういうことか」を一つずつ確かめていく構成のため、 C 言語の基本文法を理解していることが前提になります。
高水準な言語やフレームワークの上で開発している方にとっては遠い世界に見えるかもしれませんが、コンテナ技術やパフォーマンスチューニングの根底にはここで扱う知識があります。アプリケーション層の下で何が起きているかを一度きちんと学んでおきたい方に向けた、堅実な入門の一冊です。
言及 Qiita 記事 (1 件)
この本に興味がある方におすすめ
この本に関連
関連記事
Python 本の選び方 - 独学の最初の 1 冊から実務品質まで
Python 本の選び方を「動機」から逆算して整理。プログラミング未経験の最初の 1 冊、業務自動化に直結する本、型ヒントとコード品質で実務水準へ進む本まで、2026 年 8 月時点の定番を独学ルートに沿って解説します。
Linux 本ガイド - コマンドライン / しくみ / 性能の 3 層で選ぶ技術書
Linux を学ぶ技術書の選び方を 3 層 (コマンドラインの操作 → カーネルのしくみ → 性能と運用) で整理。新しい Linux の教科書や [試して理解] Linux のしくみなどの定番書の使い分けと、学ぶ順番を解説します。
障害対応の夜に思い出す、あの本の 1 ページ
本番障害の緊迫した場面で、過去に読んだ技術書の知識が助けてくれた経験はありませんか。「いつか役立つ」知識が「今この瞬間」に変わる読書の価値を考えます。
関連用語
システムコール
ユーザー空間のプログラムが OS カーネルの機能を呼び出すインターフェース
プロセスとスレッドの違いとは - メモリ空間 / 生成コスト / 通信方法を比較
プロセスとスレッドの違いをメモリ空間 / 生成コスト / 通信方法の 3 軸で比較。Node.js での使い分け、Lambda の実行環境、データ競合とコンテナの PID 1 の落とし穴まで解説
C4 Model
ソフトウェアアーキテクチャを 4 つの抽象レベルで図示するモデル
UNIX
多くの OS の源流となった基本ソフト。設計思想は現代の Linux や macOS に受け継がれる
Elixir
高い並行性と耐障害性を持つ関数型言語。大量接続を捌くシステムに向く
プロセスタイプ
Twelve-Factor App のプロセスモデルで、アプリケーションの実行形態を分類する概念