憧れの、岩尾はるかさんですよ。岩尾さんは、かまたさんや私達でやっている女性のプレゼン練習会「TechGIRL」の過去の回で、LTしていただいたんですね。私はそこで、「ああ、女性ですごくかっこいい技術者の方がいるんだな」と思ったんです。ありがとうございます。7月末のデブサミ夏で、子ども向けのプログラミングの絵本『ルビィのぼうけん』の著者さんである、リンダ・リウカスさんを交えたセッションを行ったのですが、岩尾さんは、リンダさんの通訳としてご協力いただいたご縁もございます。聞いていきたいと思います。Updates』というシリーズで、まさにLinuxカーネルをテーマにされていますね。Linuxカーネルに関心を持っていらっしゃるんでしょうか。この本を最初に書いた時には、某Webの会社でインフラエンジニアをしてたんですね。その前はメーカーで組み込みをやってました。インフラエンジニアをやってると、どうしてもOSの設定や、Linuxの挙動で悩むことがあって、あんまりググっても見つからないし、本にすると需要があるかなと思って本にしました。調べてるうちに面白くなって、ずっと続けて調べてる、そんな感じです。2012年12月ですね。表紙は高校時代の友達や、Twitterつながりでお願いした方に描いてもらい、中身はほとんど1人でやってます。すごくかわいい感じですね。コミケで販売したときに、ブースに立ち寄ってくれた方が、よく表紙を見て、かわいい本かなと思って手に取るんだけど、中身見たら全然かわいくなくて、そっと閉じられてることがコミケでよくあります。これ、全部揃えてるっていう強者もいそうですよね。Twitter検索したらいらっしゃいました。本当に嬉しかったです。あと、ジュンク堂の池袋店でも売られてますよね。並べていただきました。PCコーナーの方に声をかけていただいて、普通の出版社から出してる本じゃなくても置けると言われて。それで置いていただきました。次の質問にいきたいと思います。Linuxに限らず、OSは一般的に、システムの色々な管理を行う「カーネル」と、「ユーザープロセス」に分かれていて、賃貸に例えると、大家さんと店子みたいな関係です。PCでもサーバでもいいのですが、特別なプログラムがOSの中にいて、メモリを、この店子(プロセス)にはいくつ割り当てて、この店子が入りたいと言ったら入居の手続きして、出て行く時には原状復帰をして、という管理を全部する。それをカーネルと言ってます。実際のコンピュータだと、主にプロセスの起動終了、まあプロセス管理ですね、をやっています。新しくFirefoxを起動したら、FirefoxというプロセスをSSDやハードディスクから読み込んで、どのくらいメモリを割り当ててほしいですかと聞いて、例えば500MBと言われたら500MBを割り当てて、他のプロセスのメモリには書けないように守ったり、しています。あとはネットワーク通信を面倒見ていますね。それぞれのプロセスがお互いに喧嘩し合わないように仲裁しつつ管理する、そういう役割を持った、OSの一番コアとなる心臓部がカーネルです。WindowsにもMacにもカーネルがあって、Windowsではエクスプローラとは一線を画した形で存在します。Linuxではシステムコール、WindowsではAPIと呼んでいる特別な関数を介してしかやり取りできないというように守られていて、これを特権と呼んでいます。他のプロセスに対してああだこうだって口出しして管理できる。いう部分のことをカーネルって言ってます。古いバージョンだと、最新版だと使えるパラメータが使えない、最新版で入ってる機能が使えない、とかですかね。微妙にデフォルトの値が違うものもあります。LinuxカーネルのI/Oスケジューラは、ディスクにアクセスする時に、例えばプロセスがみんな一斉にディスクのこのファイルが欲しいと言った時には、ではこの順番というふうにスケジューリングするんですけど、それのスケジューラが変わってたりとか。逆に、古いバージョンで使えていたのに、新しくなって使えなくなる問題もあるんですか。それは、Linuxではほとんどないです。過去に数回やっちゃったというのがあるぐらいで、Linuxはすごく後方互換性に気をつけて開発されてます。互換性を壊すようなパッチを書くと、メーリングリストでボコボコにされる感じですね。誰も使ってないようなパラメータを1つ変えるのでも、ダメって言われる。そこはすごく厳しいですね。互換性に関しては、すごく安心してバージョンアップできます。「ちょっといい話ボタン」がほしいですね。