Last Update 2022/05/25

コンピュータの性能を100%引き出すために
動くメカニズムを図解&実験! Linux超入門

宗像 尚郎/海老原 祐太郎 共著
B5判 264ページ
定価3,520円(税込)
JAN9784789844727
2016年5月1日発行
好評発売中!
動くメカニズムを図解&実験! Linux超入門

 現代における装置作りにLinuxは欠かせません.ラズベリー・パイなどの名刺サイズの小型・高性能Linuxボード・コンピュータも数百から数千円で入手できる時代になりました.
 このようなLinuxコンピュータを作ったり使ったりする人はカーネルの動きを理解しておく必要があります.処理能力の低いCPUでも性能をUPしたり,ちょっとしたトラブルに対応できるようになります.そもそも知らないとちゃんと動かせません.
 カーネルには,メモリ・アクセス,割り込み,グラフィック描画など,さまざまな機能に最適化のしくみがあります.これらはアプリケーションからの要求を細かく分析した結果を基に行われます.カーネルの使い方次第で装置自体の性能が変わります.性能をUPするなら,カーネルの気持ち(=内部最適化処理)を理解してプログラミングすることが重要です.
 本書ではLinuxが動くメカニズムをできるだけわかりやすく図解し,性能UPのヒントまで紹介します.また,実験プログラムでわかりにくいカーネルの動きを可視化し,高速起動・高速応答・小メモリ動作などのテクニックを紹介します.

目 次


第1部 そうなっていたのか! Linuxカーネルが動くメカニズム

基本をおさえておけばメカニズムも長所短所も合点!
第1章 Linuxカーネルの設計思想

電源ONからブートローダ処理/RAM展開/カーネル起動/RootFSマウント/SysVinitスクリプト処理まで
第2章 Linux起動のしくみ

コンピュータの処理性能を最高にするためのRAMの使い方
第3章 仮想メモリ・アクセスのしくみ

インテリなスケジューリングで高性能処理実現!
第4章 プログラム実行順序決定のしくみ

I/Oはファイル操作だけ! 同じアプリが使い回せる理由
第5章 ハードウェア制御の基本的なしくみ

高速応答割り込みハンドラ作成のコツ
第6章 割り込みのしくみ

カーネルが知っている! ハード情報のGETが高性能化の近道
第7章 ハードウェア資源管理のしくみ

仮想ファイル・システムVFS×キャッシュ・メモリでフル回転!
第8章 メモリに高速アクセスするしくみ

Linuxボード使用時は知っておきたいWindow System & 最新フレーム・バッファ
第9章 グラフィック描画&表示のしくみ

デバドラ経由からDMA転送,最新の取り組みまで
第10章 大容量データ受け渡しのしくみ

OSがシステム全体やCPUの動作状態をきめ細かく管理する
第11章 電力制御のしくみ

他のOSだと簡単じゃない! 固有ハード対応用デバイス・ツリー入門
第12章 いろんなチップ&ボードで動かせるしくみ

LinuxボードBeagleBone Blackのデバイス・ツリー
第13章 固有ハードに対応するためのしくみ実例

知らないのはマズいLinuxのキー・テクノロジ
第14章 ファイル・システムのしくみ

インターネット時代の必須技術! 基本から最新テクノロジまで
第15章 セキュリティ管理のしくみ



第2部 しくみがわかれば差は歴然! Linuxを高性能に使うテクニック10+

ガーン… 14μsが6msに! Linuxがリアルタイム用途に向かない理由
第16章 割り込み処理ルーチンを高速起動するコツ…負荷は重くしちゃダメ

Linuxの性能を生かすにはできるだけ早くOSに権限を返すのが基本
第17章 割り込み処理を短時間で済ませるコツ…必要な処理をまず済ませる

処理がいっぱいいっぱいになるとタスク切り替えが増えてフル回転できない
第18章 マルチタスクを高性能に処理するコツ…なるべくI/O処理と同時に動かさない

実行ファイルをメモリにmmapするのが時間を食う
第19章 プロセスを高速応答させるコツ…先に立ち上げてスリープさせておく

ブートローダを自作してImageファイル形式を選べるようになる
第20章 カーネル圧縮方式を選ぶコツ…サイズや起動時間で使い分ける

Appendix 便利で高速起動! 定番ブートローダU-Bootを使う

システム・コールにメモリを要求するには時間がかかる
第21章 メモリ操作を高速にするコツ…malloc/freeはループ内に書いちゃいけない

最初の書き込み時に時間をかけて物理メモリを確保する
第22章 大容量のmallocをムダなく高速に行うコツ…必要なぶんだけ初期化して使う

速度と確実性はトレードオフ!
第23章 物理メモリに高速/確実に読み書きするコツ…キャッシュの同期をコントロールする

Linuxで使える代表的なファイル・システムは把握しておく
第24章 ファイル・システムを選ぶコツ…互換性/圧縮率/速度で使い分ける

大容量データ転送は専用ハードウェアに任せるのが基本
第25章 Linuxが苦手なデータ高速転送のコツ…DMAを使う

アイドル時の消費電力を抑えればバッテリ動作も目指せる
第26章 消費電力を減らすコツ…Linuxが備える機能を駆使する

専用ICで電池長もち&高精度!
第27章 正確な時刻を知るコツ…ハードウェア時計を使う