uchan note

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

2019-01-01から1年間の記事一覧

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

OSSセキュリティ技術の会 第七回勉強会 に参加してきました。 syzkaller が何を,どうやって検査するのか,原理を忘れないうちにメモします。 ファジング ファジングはプログラム解析手法の 1 つです。入力値をいろいろ変えて与えてみてバグが発生するかどう…

プログラム解析の目的

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

MikanOSの歴史

この記事は 自作 OS アドベントカレンダー 2019 の 2 日目の記事です。 MikanOS 筆者(uchan_nos)はここ数年,教育用 OS である MikanOS(ミカノス)を作っています。 MikanOS は「未完」と「蜜柑」を掛けた名前です。 MikanOS は教育用 OS と言っている通…

「asm volatile」におけるvolatileの効果

インラインアセンブラは低レイヤプログラミングをする人にとっては有名な機能ですが,私はなぜ「volatile」を付ける必要があるのかイマイチ分かりませんでした。いままで「volatile」を付けずとも意図通り動いていたからです。しかし今回,「volatile」を付…

FIFOバッファ

この記事はプログラミング,とりわけ自作OSに興味を持った計算機科学初心者の方に向け,FIFOバッファの紹介,および具体的な実装例を紹介するものです. FIFOバッファとは何か,自作OSでの応用例,ナイーブな実装例と性能を多少考慮した改良例を紹介します.

割り込み「ベクタ」と呼ぶ理由

割り込みハンドラへのポインタを配列状に並べたものを「割り込みベクタテーブル」と呼びます。英語ではInterrupt Vector Table。なぜ「ベクタ(ベクトル)」という語が使われるのか疑問に思い、ツイッターで聞いたりした結果、ベクタはポインタとほぼ同じ意…

セキュリティキャンプ2019全国大会 OS開発ゼミ 紹介

このページはセキュリティキャンプ全国大会 2019 の集中開発コース「OS 開発ゼミ」の紹介ページです. OS 開発ゼミ 基本情報 OS 開発ゼミの基本的な情報は以下の通りです。 イベント:セキュリティキャンプ全国大会 2019 コース:集中開発コース トラック:…

【技術書典6】「Local APICタイマー入門」を出します(ダウンロード頒布有)

大人気の技術書オンリーの同人誌即売会「技術書典 6」が、2019/04/14(日)に池袋サンシャインシティで開かれます。 今回は「Local APICタイマー入門」を出しますので、そのお知らせです。 頒布情報 日時 2019 年 4 月 14 日(日) 場所 池袋サンシャインシ…

std::function のオーバーヘッド計測

C++

C++ の std::function による呼び出しオーバーヘッドを計測してみました.

C++ autoの使いどころ・使わない方が良い場面

C++

この記事では C++11 から導入された型推論 auto の使いどころ,使うべきでない場面を紹介します. 可読性や保守性の高いプログラムにするために記事が役立てば幸いです. (筆者の考え方が偏っているかもしれません.是非,ご意見ご感想をお寄せください) …

uchanの自作OS的な自分史

筆者(uchan)は現在,自作OSの分野で精力的に活動しています.そんな筆者も最初から知識が有ったわけではありません.当然ですが最初は初心者でした.このエッセイは,筆者の自作OS人生を振り返り,何のきっかけで自作OSに足を踏み入れ,どうやって成長した…