Linux の書籍として入門書はたくさんありますが、そこからもう一歩レベルアップするのにちょうど良い書籍は多くありません。
この記事では、そんな数少ない「入門からもう一歩レベルアップ」くらいの難易度の書籍 2 冊を紹介します。
どのくらいのレベルの書籍か
紹介していく書籍のレベル感としては、”Linux でコマンドを実行したり環境構築することに抵抗がなくなり、「システムコール」という単語を耳にし始めて気になっている” というくらいです。
Linux の定番資格の LPIC で言えば、レベル 1 は取得済みで、レベル 2 を取得する際の副読本としてちょうど良いくらいだと思います。
もしこの記事で紹介する書籍が「少し早いかも?」と感じる場合は
などで学習するのがおすすめです。
書籍紹介
それでは、「入門からもう一歩レベルアップ」くらいの 2 冊を紹介していきます。
[試して理解]Linuxのしくみ ~実験と図解で学ぶOSとハードウェアの基礎知識
表紙に書かれている通り、メモリやストレージデバイスといったハードウェアに着目しつつ Linux の仕組みを解説していく書籍です。
プロセススケジューラ、メモリ管理、ファイルシステムといった、Linux の重要な仕組みが解説されています。
特にレジスタ・キャッシュメモリ・メモリ・ストレージデバイスといった記憶装置の階層構造とそれらの繋がりについて非常に手厚く解説されており、例えば「ファイルへの書き込みがどのような流れで処理されるのか」といった仕組みへの理解が深まります。
コマンドの実行例も豊富なため、自分で手を動かしながらしっかり理解できるようになっています。
図解も非常に豊富で、この上なく分かりやすい素晴らしい書籍です。
ふつうのLinuxプログラミング 第2版 Linuxの仕組みから学べるgccプログラミングの王道
C 言語でのプログラムとともに、システムコールやライブラリ関数を解説しながら Linux の仕組みを学べる書籍です。
先に紹介した『[試して理解]Linuxのしくみ』とは少し違う観点で、ファイルシステム・プロセス・ストリームという 3 つの重要概念に注目してまとめられています。
特に「ストリーム」という概念を使って Linux の仕組みを非常にきれいに整理して解説されており、ファイルやネットワークなどへの入出力について理解が深まります。
読み進めるためには、C 言語の構造体とポインタ程度の知識が必要になりますが、C 言語を多少勉強してでも是非読んでおきたい一冊です。
読み終えたあと、さらに勉強するための書籍などもたくさん紹介されています。
おわりに
以上、Linux の「入門からもう一歩レベルアップ」くらいの書籍 2 冊を紹介しました。
2 冊ともぜひ読んでおきたいオススメの書籍なので、もう一歩 Linux に詳しくなりたい、という方は手にとってみてください。
これら 2 冊を読んだ次のステップとしては、『ゼロからのOS自作入門』が非常にオススメです。 OS が 1 つ 1 つのプログラムの積み重ねで実装されていく様子を体験しつつ、重要な概念についても学ぶことができる非常に素晴らしい書籍です。
また、『ふつうのLinuxプログラミング』の中にも少しだけ登場しますが、最近は Linux 上で Docker を利用することも増えています。
Docker の書籍についても状況・難易度別に こちら の記事にまとめているので、興味がある方は参照ください。