Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

FreeBSD の小ネタ

1,235 views

Published on

K*BUG 紹介のために
カーネル/VM+K*BUG勉強会@関西 ごかいめ
で使ったスライド

http://atnd.org/events/43501

  • Be the first to comment

FreeBSD の小ネタ

  1. 1. FreeBSD 付属ツールの 小ネタ Hirohisa Yamaguchi @umq カーネル/VM+K*BUG勉強会@関西 ごかいめ 2013/10/19
  2. 2. 発表者について • 株式会社ラプラス・システム •http://www.lapsys.co.jp • 技術部 • 関西 *BSD ユーザ会 (K*BUG) •http://www.kbug.gr.jp
  3. 3. 関西 *BSD ユーザ会 • 主に関西で「BSDがちょっと気になる」ぐら いのゆるい括りの集まり • 隔月ぐらいのペースで集まってる • BSDネタ縛りは特にない • 「人のケツは叩くが足は引っ張らない」
  4. 4. 今日はカーネルもVMも関係 ない話をします
  5. 5. FreeBSD • BSD の派生 • 今年で20年らしい
  6. 6. 発端 • 「FreeBSD のネットワークスタックを組み込 み用途に移植してて、設定もそのままコマン ド類を使いたいんだけど…」 • http://lists.freebsd.org/pipermail/freebsd-hackers/2013October/043553.html
  7. 7. 発端 • 「FreeBSD のネットワークスタックを組み込 み用途に移植してて、設定もそのままコマン ド類を使いたいんだけど…」 • http://lists.freebsd.org/pipermail/freebsd-hackers/2013October/043553.html
  8. 8. static const char *const argv[] = { "ifconfig", "lo0", "127.0.0.1" }; ifconfig(3, &argv[0]); みたいに
  9. 9. problem • static だと、グローバル変数周りで色々問題 がある • 同時実行できない • 呼び出しの度に初期化がいるよね
  10. 10. patch • グローバル変数をstaticなコンテクスト構造 体に移動 • グローバル定数はconst宣言する • 関数、変数は可能な限りstaticにする • https://gist.github.com/anonymous/ f403849622ee51da4645
  11. 11. 残る課題 • メモリの開放ちゃんとできてない • exit(2)そのまま呼んでたらあかんのんやない? • getopt(3)みたいに同様の問題抱えたものをな んとかする
  12. 12. てか、ライブラリに 括り出しちゃえば いいんじゃねぇの?
  13. 13. まとめ • FreeBSD の紹介をしました • K*BUG ヨロシク

×