August 2024
Intermediate to advanced
660 pages
9h 58m
Japanese
OSは、ハードウェアを抽象化し、汎用的なインタフェースをユーザーに提供しています。そのおかげで開発者は通常、OSの内部実装やハードウェアの詳細を意識することなく、プログラムを実装・実行できます。しかし、アプリケーションの性能や品質をとことん追求したいといった場合には、OSが提供している機能とそのしくみに目を向けることが必須になってくるでしょう。OSによって提供されている機能を広く深く知り、自分の目的に合わせて活用することで、OSやハードウェアの性能を引き出せます。さらに、時にはOSが提供する抽象化の下に潜ること、すなわちOS自体をHackしたくなることもあるかもしれません。OSをブラックボックスとして扱うのではなく、カーネル内部の実装を調べたり、拡張できれば、既存のOSの機能では解決しないような未知の問題とも戦えます。
本章では、そういったときに役立つ、OSが提供するさまざまな機能を活用するテクニック、また、OS自体をHackするためのテクニックを紹介します。本章の前半ではOSが提供する、プロセス・メモリ・ファイルシステムといった機能に関するHackを扱い、後半では、カーネル内部を理解したり改造したり、さらにはファームウェアを自作するためのHackを紹介します。本章のHackの多くはLinuxを対象としていますが、ほかのOSでも類似した機能が提供されていたり、概念自体は応用できるものも多いはずです。
Read now
Unlock full access