uchan note

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

プログラム解析の目的

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

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

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

続きを読む

MikanOSの歴史

この記事は 自作 OS アドベントカレンダー 2019 の 2 日目の記事です。

MikanOS

筆者(uchan_nos)はここ数年,教育用 OS である MikanOS(ミカノス)を作っています。 MikanOS は「未完」と「蜜柑」を掛けた名前です。

MikanOS は教育用 OS と言っている通り,将来は大学などの授業で採用されたらいいなあと思って作っています。 今のところ 2020 年 12 月から 2021 年 1 月に東工大で開催する予定の自作 OS 講義のサンプルとして採用を予定しています。 (この講義については 筆者の宣伝ツイート を参照してください)

この記事は MikanOS 製作の進捗を過去から現在までまとめてみるものです。

続きを読む

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

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

続きを読む

FIFOバッファ

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

続きを読む

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

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

続きを読む

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

このページはセキュリティキャンプ全国大会 2019 の集中開発コース「OS 開発ゼミ」の紹介ページです.

OS 開発ゼミ 基本情報

OS 開発ゼミの基本的な情報は以下の通りです。

  • イベント:セキュリティキャンプ全国大会 2019
  • コース:集中開発コース
  • トラック:システムプログラミングトラック
  • ゼミ:OS 開発ゼミ
  • 時間帯:3 日間連続(8/14 - 8/16)
  • 必要機材:PC、その他必要に応じて仕様書や参考書など
  • 事前学習:あり(詳しくは後述)
  • 講師:粟本さん,武内さん,西永さん,内田
続きを読む

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

大人気の技術書オンリーの同人誌即売会技術書典 6」が、2019/04/14(日)に池袋サンシャインシティで開かれます。

今回は「Local APICタイマー入門」を出しますので、そのお知らせです。

頒布情報

  • 日時 2019 年 4 月 14 日(日)
  • 場所 池袋サンシャインシティ 2F 展示ホール D(文化会館ビル 2F)
  • ブース う38「bitnos」 bitnos のサークルページ
  • 書名 Local APICタイマー入門
    • bitnos ブースでは既刊 4 種類も展示します。
  • ページ数 44(表紙含む)

f:id:uchan_nos:20190327212524p:plain:w150

その他の新刊

う38 ではその他に委託の新刊を頒布する予定です。

  • PythonとColabでできる - ゼロから作るRAW現像
    • 著者 @MuneOiz
    • デジタルカメラのRAW画像についての解説をし、RAW画像をRGBカラー画像へと現像するソフトウェアを作ってしまう意欲作
  • もしかしたら後1冊、新刊が出るかも!?
続きを読む