人々が 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 ブースではその他の既刊も展示・頒布します。
ファジングツール syzkaller は何を検査するものなの?
OSSセキュリティ技術の会 第七回勉強会 に参加してきました。 syzkaller が何を,どうやって検査するのか,原理を忘れないうちにメモします。
ファジング
ファジングはプログラム解析手法の 1 つです。入力値をいろいろ変えて与えてみてバグが発生するかどうかをテストします。 バグ=脆弱性バグではありませんが,バグがあれば脆弱性に繋がる可能性があり,脆弱性を見つけたい人たち(防御側および攻撃側)に人気があるそうです。
「入力」にはさまざまなものがあり得ます。Linux のコマンドラインツールであればコマンドライン引数や標準入力,ファイル,ネットワークなどが入力経路として一般的かと思います。 今回の OSS セキュリティ技術の会で取り上げられていた Linux カーネルに対するファジングツールである syzkaller(濁らせずに「シスコーラー」と読むらしい)は,Linux のシステムコールを色々な引数で呼んでみてバグを検査します。
続きを読むMikanOSの歴史
この記事は 自作 OS アドベントカレンダー 2019 の 2 日目の記事です。
MikanOS
筆者(uchan_nos)はここ数年,教育用 OS である MikanOS(ミカノス)を作っています。 MikanOS は「未完」と「蜜柑」を掛けた名前です。
MikanOS は教育用 OS と言っている通り,将来は大学などの授業で採用されたらいいなあと思って作っています。 今のところ 2020 年 12 月から 2021 年 1 月に東工大で開催する予定の自作 OS 講義のサンプルとして採用を予定しています。 (この講義については 筆者の宣伝ツイート を参照してください)
この記事は MikanOS 製作の進捗を過去から現在までまとめてみるものです。
続きを読む「asm volatile」におけるvolatileの効果
インラインアセンブラは低レイヤプログラミングをする人にとっては有名な機能ですが,私はなぜ「volatile」を付ける必要があるのかイマイチ分かりませんでした。いままで「volatile」を付けずとも意図通り動いていたからです。しかし今回,「volatile」を付けない場合に意図しない最適化をされてしまったのでここで紹介します。
続きを読む