builderscon 三日目
聞いた話のメモと感想を書いていきます.
全てのエンジニアに知ってもらいたいOSの中身について
ariakiさん MEDIA DO
最近のOS事情
- OSの選択やOSのカスタマイズをする必要があまりなくなって来た
- Dockerなどが登場して関心ごとがアプリケーション側へ
- setenforce 0
- OS認知の低下
- PaaS, FaaSの流行り
- Web,機械学習の流行
- アセンブラ,C言語の認知度の低下
- OSの中身を知ると少し幸せになるかも
CPU
- x86はIntel8086が元,x86,16bit ia32,32bit
- 40年前のCPUと互換動作する
- メモリが1MBだったら640KBしかアクセスできず,セグメントで区切られている
- プロテクトモードにバグがあり,使えないはずの64KBが使えるようになった
- バグだったがこのバグを閉じず,今も使用できる
レジスタ
モード
- リアルモード -> プロテクトモード -> ロングモード
- リアルモード,いろんな場所に書き込み可能,フリーダム
- プロテクトモードでいろいろと制限されるようになった
プロテクトモード
特権管理
- いつも使っているのはRing3
- kernelはRing0
- システムコールで,上位の処理を呼ぶ
一般保護例外
- ページフォールト
- セグメンテーションフォールトの一種
メモリ管理
- 一番小さい範囲 -> ページ
- ページのリストみたいな -> PTE
- PTEのリストみたいな -> PDE
- ページング
- リニアアドレス(上記の領域)をまとめた区間 -> セグメント
タスク管理
- タイマ割り込み,コンテキストスイッチ
- TSSがタスク管理している,状態を保持
ブートシーケンス
- BIOS -> Bootstrap Loader -> Kernel Loader -> Kernel
- 0x7c00に書き込む -> 先頭は予約されており末尾から読み込むことを考えた
システムコール
- Application -> User Land -> System call -> Kernel
- User Landにはシェルなどが入っている
- straceでシステムコールを確認
- puts -> writeが呼ばれる
system call table
- 起動時にシステムコールの命令をメモリに書き込んでおく場所
感想
結構知らなかった知識がふんだんに盛り込まれていたので,楽しく聴くことができました. やっぱり昔を振り返ることも重要なんだなと思いました.
高集積コンテナホスティングにおけるボトルネックとその解法
pyama86さん ボトルネックの探し方
sntsを作成
HACONIWA -> mruby製コンテナエンジン
コンテナの話
- コンテナ=プロセス
namespace
- ip a -> bash -> unshare --net -> ip a
- unshareでホストとゲスト間の分離を行える
chroot
cgroup
- リソース割り当て
capability
- プロセスが持つ特権を調べる
- LXCで学ぶコンテナ入門が参考になるらしい
FastContainerアーキテクチャ
- FastCGIから
- プロセスをフォークし一定時間動いたら止める
- コンテナを起動して,一定時間動いたら止める
- データはストレージに置く
コンテナの起動をいかに早くするか
- 監視コンテナが落ちる
- ネットワークネームスペースの追加に一分ぐらいかかってる
- ipコマンドでネットワークネームスペースを区切る
- 名前が被ってるかも? -> そんなことはなかったらしい
- straceコマンドでしらべる
- unshareコマンドが遅いらしい
- perf recode call graph -> 重くなっている処理を確認できる
- slab -> deactivate_slabが重いらしい
- dentryキャッシュ(ファイルのパスのキャッシュ)が多かった
キャッシュをクリアするようにして解決
Linuxブリッジの上限がある
ブリッジを分散して解決
cadvisor -> コンテナの情報を取れる
gdb -> コマンドの履歴を取得できる
ボトルネックが遷移した
- 2500コンテナにするとまた遅くなる
- ipコマンドにいらない処理があったので削除して高速化
- valgrind -> HEAPのサマリーをとる
- 4000コンテナ弱の起動ができた
感想
流れるようなプレゼンでそれでも多くの知識を漏らさず丁寧に発表されており,すげぇといった感じでした. 知らない便利コマンドがいろいろ知れてよかったです.
遠いようで身近なサウンドエンジニアリング
@karupaneruraさん DeNA
趣味:サウンドエンジニア
レコーディング
一発どり
- ノリでいけるが編集しづらい
バラどり
- 楽器が多くなると編集が大変になってしまう
- 市販のイヤホンで聞いて,聞きやすい音質に調整する
- リマスター版とかは,音質をより良いものに調整して再配布する感じ
- マイクは音の振動を電圧の変化に変換する
- コンピュータの限界の音量を越えると音割れする
実際のギターによる実演
- ギターの録音する位置によって音が違う (すごい)
感想
いきなりギターが出てきたときは,すげぇってなりました. でもサウンドにもいろいろ気を配ったりする箇所があるのだと知れて,とても嬉しかったです.
業務時間で書いたパッチは誰のもの? OSS 活動にまつわる罠
uchan_nosさん サイボウズ SRE
OSSに問題があったら自分で直す
OSSに不具合があったら,パッチを書く.そして貢献する.
もともと趣味で作っていたものが業務で使われている
業務時間を趣味のプロダクトに使っているのはいいのか?
ポリシー
Read the Docsで公開
感想
まだ学生なので仕事上でのOSSの貢献の大変さについて知れてよかったです.
Building Self-Hosted Kubernetes
nasa9084さん
自動化された自律システム
いい感じにしてくれる
システムが落ちた時に自動で直してくれる
k8s
self hostedでのk8s
感想
k8sという言葉を無限に聴くことができて幸せでした. k8s on k8s は夢が広がります.
自作キーボード
残念ながら立ち見でTwitterしかしていなかったのですが,自作キーボードあるあるが非常に詰め込まれてて共感できました. 私もつい先日自作キーボードのために半田付けやらをやっていて,今もまだ少し動いていない状態で放置しています. なので帰ったらまた再チャレンジしたいと思います.
LT
クッソ面白かった
まとめ
学生でぺーぺーの自分が初めてカンファレンスに参加して,それでも大いに楽しめたのでbuildersconに感謝してもしきれません. また来年も機会があれば行きたみが深いです.