livaの雑記帳

seccamp2018(補足4)

注:このページは、セキュリティ・キャンプ2018全国大会x86 OS ゼミにおいて私が担当するテーマ(最先端OS談義)について解説したものです。

詳しくはトップページを御覧ください。

 

独創的なOSを作るために私が必要だと考える3つの要素について

 

既にあるOSについてよく学ぶ

これは所謂「お勉強」であって、もしかすると退屈に感じる人もいるかもしれません。


でも既にあるOSは、そのOSを作った人が長い時間を掛けていろいろな事を考え、アイディアを熟成させ、その結果として実装された物です。我々が0から同じ事(長い時間を掛けて考えて、アイディアを具現化する事)をするよりも、その部分については既存のOSから学んだ方が効率的ではないでしょうか?それによって生まれた時間を使って、更にそれを膨らませた物を作った方が、ずっと面白そうに思えませんか?


さて、勉強するとなると困るのが、「何を学べば良いのか」という事です。そこで、このテーマ希望者向けの選択課題を参考にしてみてください。ここには皆さんが知っているようなOSは殆ど出てこないかもしれませんが、「OSの世界の最先端」があります。
皆さんに「OSの世界の奥深さ」を体感してもらえるようなテーマで課題を作成できたと思うので、是非一通り目を通してみてください。

 

手を動かして検証する

学んだだけで満足せず、学んだ事について実際にコードを書き、走らせ、学んだ事と同じ結果が得られるか、確かめてみましょう。

ただ勉強しただけでは、きちんと実感できないものです。皆さんも学校の授業で、何かを学んだ後は演習という形で手を動かしますよね?それと同じ話です。

もちろん、今このページを読んでいる皆さんの多くにとっては、「コードを書く事が嫌いではない」はず(むしろ、勉強よりもコード書かせてくれ!って思う人の方が多いのかもしれません)なので、この点については皆さんなら大丈夫だと思っています。

但し、1つ問題になるのが、OSというテーマは実装がとても大変だという事です。「自分の好きなようにOSを作るのでさえ大変なのに、新しく学んだ事を実装するなんて無理だよ!」と思う方もいらっしゃるでしょう。このテーマでは、「いかに最小コストで検証するか」という事についても学んで行きたいと思っています。これについては、私の方からいろいろサポートするので、皆さんが気にしなくても大丈夫ですよ。

 

皆でOSについて話し合って、知識を共有したり、考察する

これがこのテーマで最も重要視している事で、「最先端OS談義」というテーマ名の由来にもなっています。

一人でずっと考えても良いアイディアは思いつかないものです。皆で話せば、自分が気づかなかった事に気付かされたり、逆に他の人に刺激を与える事ができ、その中でふとした拍子に良いアイディアを思いつく事があるかもしれません。「3人寄らば文殊の知恵」なんてことわざもありますから。