2006年07月度の LILO Monthly Seminarを行います。 皆様、ふるって御参加ください。
尚、プログラムの内容は、変更される可能性があります。 あらかじめご了承ください。
6to4、radvdやIPv6のマルチキャストを例に取り上げて、最新のLinuxカーネル内部を学習します。IPv6アクセス制限も話題に取り上げます。
malloc関数はlibcの中でもっとも使用頻度が高い関数の一つでありながら、その実装の詳細は意外なほど知られていません。
Unix誕生当初のプログラミングスタイルでは、ほとんどのデータはスタックとグローバル変数に格納されており、mallocの使用頻度は低かったようです。
しかし、今日ではGUI、スクリプト言語、C++といったmallocを多発するソフトウェアが極めて一般的になり、mallocの性能の重要度は増しています。
こうした点に注目して、素朴な malloc では何が問題だったのか。また、glibc malloc がどういった点に注力してチューニングされているのか。といった点を説明できれば。と思います。
あわせて、glibc mallocを意識した性能チューニングの方法や、glibc malloc独自のデバッグ支援機能なども紹介したいと思います。
C言語でmalloc関数を使うと、glibc→カーネル→CPUを経由してメモリを確保します。
mallocの旅(glibc編)に続き、malloc関数を呼び出した際のカーネル内部の動きをお話しします。
malloc関数を呼び出すと、カーネルではsys_mmap2システムコールが実行されます。そしてカーネル内のメモリ管理機構→CPU(x86)のメモリモデルを経由します。その流れを楽しんでいただけたらと思います。
カーネル入門という位置づけで"見える化"重視の発表を行いたいと思います。
サンプル的に昔の(マルチプロセッサの動作を"見える化"した)プレゼンを紹介しておきます。
スピンロックから始めるLinuxカーネル入門
特になし。
人数把握のため、必ず 参加登録ページよ り、登録をお願い致します。
36名。 定員オーバになった場合、参加できない可能性がありますので、 ご注意ください。
会場利用代及び資料印刷代、講師の方の交通費のカンパ(1000円程度)をお願いします。
LMS 世話役チーム (lms@lilo.linux.or.jp) まで
セミナー終了後、二次会 (懇親会) を行います。 時間のある方は、ぜひ御参加ください。 懇親会のみの参加も歓迎します。