カーネルについて学び始めた(1日目)
こんにちは、秀才ハッカーを目指している揚げパンです。
Linuxカーネルに興味をもちだしたのでこちらの本を購入しました(僕がカーネルに興味を持った理由は前日の記事で詳しく話しています。)
超例解Linuxカーネルプログラミング~最先端Linuxカーネルの修正コードから学ぶソフトウェア品質~
- 作者:平田 豊
- 出版社/メーカー: シーアンドアールケンキュウジョ
- 発売日: 2019/07/18
- メディア: 単行本(ソフトカバー)
僕が参考書を購入してから(1日目)
こちらの本を購入して早速読み始めました。
前提知識
まずはじめに必要な前提知識についての記載がありました。
前提知識では、LinuxでC言語を使って簡単なプログラムを作ったことがあれば問題なく読み進められるとのことだったので、数年前に大学の講義でC言語について学んだので大丈夫であろうと思い読み進めることにしました。
動作環境
次に動作環境のセットアップとのことでした。
僕のマシンには開発ツールがまだ整っていなかったため本の支持に従いaptコマンドを使って開発ツールをインストールしました。
カーネルのバージョンの見方やカーネルソースコードの見方
この部分はこれから本を読むにあたり、スムーズに読めるようにカーネルソースコードの探し方などを書いていたので流し読みしました。
ソフトウェアの品質について
この章では、有料ソフトウェアは品質が大事であるが、無料で提供しているソフトウェアではどこまでの品質が求められるのかについて書いていました。
また、クロスチェックや、テストなどを行うことによりソフトウェアの品質を高めることができるということについても触れていました。
最後に
購入初日では、2章まで読み進めました。
カーネルを学ぶにあたり最低限の知識を手に入れたような気になれました(まだこの部分を読んだだけでは知識は全然足りない)。
更に読み進めて、カーネルについての理解を深めるぞ!
Linuxカーネル上で動くプログラムが作れるらしい
どうも、秀才ハッカーを目指している揚げパンです。
先日先輩と話しているとどうやら先輩の友人にカーネル上で動くプログラムを書いている人がいるらしくとてもおもしろそうだと思った。
カーネル上で動くプログラムとは...
聞くところによるとカーネル上で動くプログラムを書くことができると、osのプログラムが実行するよりも先にプログラムを実行することができるらしい。
そのようにすることで、ウイルス対策ソフトなどに検知されないようにすることができるとかできないとか...
そのプログラムを作成するためには、C言語の'stdio.h'などのヘッダファイルも自作する必要があるとかないとか...
話を聞いて
僕は'stdio.h'のようなヘッダファイルは自作できるものではないと思っていたため驚いたのと同時にどのようにして作っているのだろう、自分もカーネル上で動くプログラムを書いてみたいと不覚にも思ってしまった。
その後
ブログ書いてる人はできるイメージ
先日LT(lightning talk)の傍聴をする機会がありました。
その際、皆さんのLTを聴いていて、とてもレベルの高いことをしているんだなと言う印象を受けました。
さらにLTを聞いているうちに発表者の方の内多くの人がブログを書いているということがわかりました。
そこで、僕の中で、ブログを書いている人は凄いという印象を受けました。
何故ブログを書いている人に対して凄いという印象を受けるのか、そして僕はどのようにするとスキルアップができるのかについて僕なりに考えてみました。
僕が考えついた結論は、他人が見ることを意識してブログを書くことで、必然的に何も考えずに学習を行うより理解が深まるということでした。
また、ブログを書くことで、必然的に自分がインプットしたことをアウトプットするようになるので僕もやってみようと思いました。
ということで、学習への理解を深めるために僕もブログを始めてみたいと思います。