桜、抹茶、白、日記

名古屋市在住のC++使いのcoderの日記だったもの。

第二回 カーネル/VM探検隊@関西 に参加

昨日・明日と大阪に遠征しているので、中日の勉強会と言う事で行ってきました。

第二回 カーネルVM探検隊@関西
http://atnd.org/events/18449

会場が京都大学という事で、自分の学力では地元の国公立も入れなかったのでちょっと頭が良くなった気に全くなりませんでした。あと会場に20分前に着いたら関係者が全くいなくて場所を間違えたかと思ってビックリした。

13:10 開会

[twitter:@uwabami]さんにより会場諸注意の説明。
トイレは施錠された建物内にあるので使えない旨の説明があった。休憩のタイミングで解錠して利用できる形になりましたけど。

13:20 [twitter:@naota344]さん 「スケジュール管理しよう」

Linuxのスケジューラーについてのお話。

  • schedule()
    • スケジューラの入り口
      • 送信途中のI/Oを送ってしまう
  • __schedule
    • スケジューラのコア
      • pre_schedule()
      • clockの更新してput_prev_task()
  • (struct task_struct)->state
    • タスクの状態
      • RUNNING : 実行中 or 実行待ち
      • INTERUPPLE :
  • struct rq (run queue)
    • あるCPUで実行可能(RUNNING)なタスクのqueue
  • pick_next_task(struct rq *rq)
  • 感想等

いきなり深い所の話でついて行けない感じで心折れそうだった。

13:55 [twitter:@moguriso]さん 「MeeGo won’t die」

  • MeeGoとは?
  • MeeGo Netbook
    • 実用レベルで動作するエディション
    • SSSE3対応CPUが必要
  • MeeGo Tablet
  • MeeGo IVI
    • 車載端末用エディション
  • よくある質問と誤解
    • MeeGoってなんですか
    • Androidと比べてどうなの?特徴は?
      • ライフサイクルが長い。
    • 流行っているの?流行るの?
      • 知らん
    • MeeGoが動くハードは何?
      • 現状輸入するしかない
    • なんでMeeGoなの?
      • 個人的にやりたいから
    • よくある誤解
      • IntelNokiaの物でしょ?
        • Linux Foundationが主導している
        • GENIVIが車載向け標準OSとして規定している
        • OSSなので誰の物でもありません
    • 実用的MeeGo
      • 国内ではまだまだ動作報告が少ない
      • 特にIntelCPU以外での報告例が少ない...気がする
      • 提供されているのはHandset以外は全てx86向けのみ
  • まとめ
    • まだまだ発展途上のMeeGo!
    • だからこと参画余地は無限大
    • 勉強会も非常に活発!関係者は誰もMeeGo捨ててない
  • 感想等

OSCで精力的に活動されていて、OSC名古屋でもセッションに参加したかったけど、結局出来なかったのでとても勉強になった。
一番ビックリしたのは、MeeGoってどこかのベンダー主体でやっているのではない。というのは知らなかった。

14:50 [twitter:@uwabami]さん 「Debian - Next Release Goal: Multiarch -」

  • 今日の目的
  • What's is Debian
  • Multiarch in Debian
    • Multiarch
    • Debianの識別
      • experiment : 大変
      • unstable :
      • testing : unstableに10日間不具合報告がなかったもの
      • stable :
    • releaseする場合
      • unstable : 凍結
      • testing -> frozen : Bug Squash!
      • frozen -> stable :
    • Release Goal
      • 時期安定版へ向けてのリリース目標
    • Timebase Release Freeze
      • リリース物のフリーズを2年単位に
      • 奇数年の12月に
    • 時期安定版「Wheezy」のリリース目標
    • Multiarch : 異なるアーキテクチャ上で同じコードが動作する
      • emulator環境, cross-build環境
      • 必要なもんだけ、必要に応じて簡単便利に提供
      • バイナリ配布のソフトウェアの良いサポート
      • cross-grading support
    • Multiarch : Compiler
      • コンパイラ
        • prefix/lib/target
        • prefix/include/target
      • からファイルを探さなくてはならない
    • Multiarch : cross-build
      • 試していない
    • Multiarch : Summary
      • とりあえずsid(unstable版)入れてみて試してみてよ

その他お知らせなど

関西Debian勉強会
http://wiki.debian.org/KansaiDebianMeeting

  • 感想等

Debianに関するセッション。リリース手順や次期リリースの内容等。特に次期リリースの内容については、他のディストリビューションでも取り入れられるであろう内容なので、興味深かった。

15:20 [twitter:@rofi]さん 「フック(入門)」

  • フックとは、プログラム中の特定の箇所に・・・ wikipedia参照方。
  • 反面、既存のプログラムの動作を変更できるので、悪意を持ったプログラムによって利用される場合もある
  • フックの方法
    • 単純にJMP命令に書き換える
      • 最近はVirtualProtect Win32APIを利用する必要がある
  • プログラムはAPIを呼び出す
    • DLLの仲介
      • APIの実装はDLLにある
  • 偽装DLLの作成
  • デモ
    • ケルトンが作成されるので必要か関数部分を書き換える
  • 実行ファイルを書き換える
    • 実は書き換えなくても出来る方法がある
  • 感想等

フックは知っていたけどやった事ないですね。

16:00 [twitter:@hiromu1996]さん 「難解プログラミング入門」

  • 感想等

最近の若者は凄いなーって感じで話を聞いていた。
単にネタ言語を紹介するだけではなくて、その内部構造にも触れているのでホントにスゴいなぁ。

Lightning Talks

LTといっても、15分〜20分のショートセッションといった感じだった。

16:30 [twitter:@fadis_]さん 「シンセサイザー入門」
  • 高知から参加
  • シンセサイザーの基本
    • 意図した音階に対応する周波数を主成分とする
  • 流行のマイコン:mbed
  • ファミコン矩形波三角波のみ。
  • エンベロープを利用する。
    • アタック:最大音量になるまでの時間
    • ディケイ:最大音量から音が小さくなるまでの時間
    • サステイン:
    • リリース:弾くのを止めてから音が消えるまでの時間
  • 作戦1:ハモンドオルガン
    • 0.5, 1, 1.5, 2, 3, 4, 5, 6, 7, 8倍の音色を重ね合わせる
    • 問題点:
  • 作戦2:FM音源
    • FM変調を使ってサイン波を歪める
    • 問題点:意図した音色を作りには試行錯誤が必要
  • 作戦3:波形テーブル音源
    • 問題点:時間変化する音色を扱うのが困難
16:45 [twitter:@mayahu32] 「たのしいアンパック」
  • 自己紹介
  • パッカーについてしゃべります
    • パッカーとはうんぬん
      • ソフトウェアプロテクションの一つ
      • ソフトウェアを実行可能形式に保ったまま圧縮する
    • PEファイルフォーマット
  • パッカーの仕組み
    • 実行ファイルを圧縮
      • セクションを圧縮
    • 実行すると
    • アンパック
  • パッカー
    • UPX
    • AsPack
    • FSG
    • tElock
    • MEW
  • デモ
    • OllyDbgを使ってバイナリイメージを表示しながらアンパックの流れを説明
    • トラックパッドが動かないトラブルがあった
17:00 [twitter:@syuu1228]さん 「Intel 82599 10GbE Controllerで遊ぼう」
  • Intel 82599 10GbE Controller
    • 1枚5万円位
  • SPEC
    • PCIe 2.0 x8
    • VLAN, FCoE, iSCSI Suport
  • Receive Side Scaling
    • CPUコア分のキューを作成して、各キューに公平にパケットを割り振る
    • http://j.mp/rqGjBj+
    • Receive Side Scalingの制限
      • フローが多いとハッシュ衝突するので
  • Flow Director
    • 32kの八種テーブルの先にリンクドリスト
    • 2つのFilter mode
  • Linuxでの利用例 #1
  • Linuxでの利用例 #2
    • ethertoolからフィルタを手動追加
  • FreeBSD
    • sysctlを使ったパッチを書いたら釣れた
    • 議論が発散していまいどうすれば良いの?
17:35 [twitter:@zick_minoh]さん 「いつから「関数を呼び出したら、いつかは戻ってくる」と錯覚していた?」
  • Henry G.Bakerさんの Cheney on the M.T.A. 論文の話
  • 今日は関数型言語を知っている人が少なそうなのでC言語
  • callとreturnを考える
    • call
      • 引数や戻り先をスタック等に置いてジャンプ
  • return
    • スタックなどから戻り先を取り出す
    • 戻り先を意識する
  • CPSとは
    • 次にやること:Continue
    • 引数として渡す:Passing
  • なぜCPS
    • Schemeでは諸事情により全部の関数をCPSにしたい
  • C言語CPS変換すると
    • スタックがあふれて死ぬ
  • C言語CPS変換が出来ないと
  • それでもC言語CPS変換したい
    • スタックが伸びてきたらJMPで
  • スタックからヒープへのコピー
    • 一般的なゴミ集めの手法で作れる

閉会

時間が余ったので、宣伝・告知タイム。


[twitter:@naota344]さんが記事書いたよ買ってね!と宣伝。

Software Design (ソフトウェア デザイン) 2011年 10月号 [雑誌]

Software Design (ソフトウェア デザイン) 2011年 10月号 [雑誌]

懇親会

パス。

参加しての感想等

そもそも勉強会の主旨を理解していませんでした>< Linuxカーネルの濃い話をするのかなと思っていたら、Linux縛りとかはなくて各種OSのカーネルに関連したネタなどを披露する会だったんですね。とても楽しめました。

関西の人はゆるい感じなのか、集合時間20分前にスタッフの人含めて誰もいなかったりとか、当日の進行もゆるゆるだった。確かにプロ生のスケジュールもそんな感じだなーとか思ったり。

それから未成年者が懇親会に参加していたみたいですが、条例で色々と夜間の出歩きとか制限あるので、ちゃんとした方が良いと思った。