低レベルプログラミング
あらすじ
「IoT」というコトバが爆発的に広がり、老若男女だれもが知っているIT用語となった昨今ではあるけれど、そのインフラストラクチャとしてのPCアーキテクチャは、大多数の人々にとってはブラックボックスのままです。 とはいえ、そのブラックボックスを十全に理解し、各種ブラックボックスをフル活用できなければ、IoT自体の活用や発展・進歩はありえません。
本書はアセンブリとC言語を使用し、インテル製アーキテクチャの64ビット版が、コンパイルされたプログラムをどのように処理し、データをどのように、そしてどこに配置し、それらを使用しているのか、を克明に解説した1冊です。 すなわち、ネットワークにぶら下がって各種データをやり取りしているPCの、ごくごく基本的な動作原理をプログラミングすることで紐解きながら学ぶ、歯ごたえと滋養に満ちた学習書といえるでしょう。 アセンブラやC言語を多少なりとも知っていれば、知識の深度と対象への理解が増しますし、知らなくても必要最小限の知識を提供しているので、熱意さえあれば性能を重視したプログラムを書けるまで成長できるでしょう。
【本書の目的】
Intel x64をベースに、低レベルプログラミング領域における堅実な知識の蓄積と洞察力の向上を手助けすることです。最終的に、以下の事柄を目指します。 ・Intel 64のプログラミングモデルを理解する。
・適切な計算モデルを使うことで、プログラムの複雑さを大きく減らせる。
・性能が重視されるコードを書ける。
【本書の特徴】
C言語やアセンブリを知らなくても、それらの必要最小限の知識とともに、順序立てて体系を解説しています。 また、各章末には適切な問題を配置し、自身の理解度を把握できます。それらの解答はすべてGitHub上に展開されているので、容易に確認できますし、必要であればコンパイルし、実行して結果を確認することも可能です。 目次
第1章 コンピュータアーキテクチャの基礎
第2章 アセンブリ言語
第3章 レガシー
第2部 プログラミング言語C
第8章 基礎
第10章 コードの構造
第12章 構文と意味と実際
第3部 Cとアセンブラの間
第14章 変換処理の詳細
第16章 性能
第4部 付録
第20章 付録C:システムコール
第22章 付録E:参考文献
CIST図書館リンク
感想