システムプログラミング入門(システムプログラミングニュウモン)
実行しながら理解する 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 件)
この本に興味がある方におすすめ
この本に関連
関連記事
写経を超える - 技術書のコードを自分のプロジェクトに応用する方法
技術書のサンプルコードを写経するだけでは実力は伸びません。書籍のコードを自分のプロジェクトに応用し、実務で使える力に変える 5 つのステップを解説します。
本屋のプログラミングコーナーの歩き方
本屋のプログラミング書コーナーに行くと、棚いっぱいの本に圧倒されます。どこを見ればいいか、どう選べばいいかを初心者向けに案内します。
有名プログラマの読書習慣 - 天才たちは何を読んできたのか
リーナス・トーバルズ、まつもとゆきひろ、ビル・ゲイツなど、著名なプログラマたちの読書習慣と愛読書を紹介します。天才たちの読書スタイルから学べることとは。
関連用語
プロセスとスレッドの違いとは - メモリ空間・生成コスト・通信方法を比較
プロセスとスレッドの違いをメモリ空間・生成コスト・通信方法の 3 軸で比較。マルチスレッドの注意点と Go/Rust の並行処理モデルとの関係も図解で解説
システムコール
ユーザー空間のプログラムが OS カーネルの機能を呼び出すインターフェース
プログラミング
コンピュータに実行させる手順をプログラミング言語で記述し、動作を作り出す行為
UNIX
多くの OS の源流となった基本ソフト。設計思想は現代の Linux や macOS に受け継がれる
プロセスタイプ
Twelve-Factor App のプロセスモデルで、アプリケーションの実行形態を分類する概念
ADR
アーキテクチャ上の意思決定とその背景・理由を記録する軽量なドキュメント形式