uchan note

プログラミングや電子工作の話題を書きます

ベクタークロックと競合検査

ベクタークロック(vector clock)という名前は,クロック(時計)を並べたベクターというところからきています。 マルチスレッドプログラムの競合検査の分野で言うベクタークロックは,各スレッドの論理時刻を並べたものです。

uchan がベクタークロックをちょっと勉強したので,メモがてら解説を書いてみます。 最終的に,競合状態を検出する実例を示すところまでをゴールとします。

続きを読む

技術書典応援祭 自作OS関連の頒布物一覧

技術書典 応援祭 が 3 月 7 日に開始しましたね。 サークル単位の頒布物一覧を探しにくいようなので,サークル「bitnos」の頒布物をまとめておきます。 この記事を読む方は自作 OS に興味があると思うので,他サークルの自作 OS 関連物も後半にまとめています。(会期中随時更新します)

techbookfest.org

技術書典8 『マイクロカーネルの設計と実装』 は電子版が無料配布!

続きを読む

人々が OS を自作するきっかけは何だろう

OS 自作はとてもニッチな趣味ですが,ときどきやっている人を見かけます。 「OS を自作してみよう」と思うまでには,まずコンピュータに触れる経験が必要で,加えて OS の存在に気付く必要があるはずです。 業務命令で OS を自作するようなケースを除けば,OS の存在に気づいた上で,さらに OS に興味を持つ必要があります。 彼ら/彼女らはなぜ「OS の自作」に興味を持つのかを調査してみました。

続きを読む

【技術書典 応援祭】OS 自作技術 ステップアップ問題集を出します

技術書オンリーの同人誌即売会技術書典 応援祭」が,2020/03/07(土)からオンライン開催されます。 『OS 自作技術 ステップアップ問題集』と『マイクロカーネルの設計と実装』を頒布しますのでお知らせします。

頒布情報

技術書典 8 は開催中止です。 その代わり「技術書典 応援祭」に出展します!以下,応援祭の情報です。

  • 日時 2020 年 3 月 7 日(土) - 4 月 5 日(日)
  • 場所 特設サイト
  • ブース 「bitnos」 OS自作技術ステップアップ問題集
  • 新刊1『OS自作技術 ステップアップ問題集』(@uchan_nos 著)
  • 新刊2『マイクロカーネルの設計と実装』(怒田晟也著)
  • bitnos ブースではその他の既刊も展示・頒布します。

f:id:uchan_nos:20200217102209j:plainf:id:uchan_nos:20200217102227p:plain
新刊の表紙画像

続きを読む

ファジングツール syzkaller は何を検査するものなの?

OSSセキュリティ技術の会 第七回勉強会 に参加してきました。 syzkaller が何を,どうやって検査するのか,原理を忘れないうちにメモします。

ファジング

ファジングはプログラム解析手法の 1 つです。入力値をいろいろ変えて与えてみてバグが発生するかどうかをテストします。 バグ=脆弱性バグではありませんが,バグがあれば脆弱性に繋がる可能性があり,脆弱性を見つけたい人たち(防御側および攻撃側)に人気があるそうです。

「入力」にはさまざまなものがあり得ます。Linuxコマンドラインツールであればコマンドライン引数や標準入力,ファイル,ネットワークなどが入力経路として一般的かと思います。 今回の OSS セキュリティ技術の会で取り上げられていた Linux カーネルに対するファジングツールである syzkaller(濁らせずに「シスコーラー」と読むらしい)は,Linuxシステムコールを色々な引数で呼んでみてバグを検査します。

続きを読む

プログラム解析の目的

来年からサイボウズ・ラボ株式会社に所属して研究活動をすることになりました。 研究テーマは今のところプログラム解析をやろうと思っています。 プログラム解析は初心者ですので勉強したことをブログにしてみます。

プログラム解析の目的の一つはデバッグ支援

プログラム解析はざっくり言えば,プログラムを解析して何らかの情報を得ることです。 プログラム解析の代表的な手法と応用先を知りたかったのでこの論文を読んでみました。

続きを読む