uchan note

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

【技術書典5】「C++でできる!OS自作入門」を出します(ダウンロード頒布有)

大人気の技術書オンリーの同人誌即売会技術書典 5」が、2018/10/08(月・祝)に池袋サンシャインシティで開かれます。 秋葉原 UDX ではないのでご注意を!

今回は「C++でできる!OS自作入門」を出しますので、そのお知らせです。

頒布情報

  • 日時 2018 年 10 月 8 日(月・祝)
  • 場所 池袋サンシャインシティ 2F 展示ホール D(文化会館ビル 2F)
  • ブース お 05「bitnos」 bitnos のサークルページ
  • 書名 C++でできる!OS自作入門
    • bitnos ブースでは既刊 3 種類も展示します。
  • ページ数 52(表紙含む)

f:id:uchan_nos:20180907192311p:plain:w150

概要

この同人誌は OS を書いてみたいと思っている方に、記述言語として C++ を選んでもらうための本です。 世にある自作 OS の本は C 言語で書いてあるものが多いですが、機能が豊富な C++ も有力な選択肢であることをお伝えするのが目標です。

メインの部分は第 3 章「C++ のコア機能の活用」です。 C++ は 2003 年に出た規格からしばらく新規格が出てきませんでしたが、2011 に出た C++11 を皮切りに新機能がどんどん導入されています。 現時点の最新規格 C++17 までに導入された機能のうち、私が OS を書く際に便利だと思う機能を紹介しています。

OS を作ることを念頭にトピックを選んでいますが、その中の半分くらいの機能は自作 OS 以外でも通じるものです。 したがって、これから C++ を学ぶという方の「C++ 学習の到達指標」としても本書を活用していただけます。 本書の内容が理解できれば C++ をそれなりに使いこなせていると思ってよいでしょう。

次に重要な章は第 2 章「C++ の開発環境」です。 この章では OS 開発に C++ を使う際に押さえておきたい「標準ライブラリ」の話題を扱っています。 C++ は言語組み込みの機能だけでも使うことができますが、標準ライブラリが使えるようになると非常に便利になります。

残念ながら標準ライブラリの多くの部分は OS の作成時には使いにくくなってしまっていますが(例えば動的メモリ管理が必要なライブラリは素直には使えない)、 フリースタンディング環境で使えるライブラリだけでも使えるようにしたいものです。 第 2 章では標準 C ライブラリ newlib と標準 C++ ライブラリ libc++ のビルド方法を紹介しています。

目次

  • 第 1 章 はじめに
    • OS 記述言語としての C++
    • その他の言語による OS 開発
    • Rust と C++ の比較
  • 第 2 章 C++ の開発環境
    • コンパイラとリンカ
    • アセンブラ
    • 標準ライブラリ
    • 標準ライブラリのビルド
    • 標準ライブラリの使用
    • newlib のスタブ
  • 第 3 章 C++ のコア機能の活用
  • 第 4 章 C++ の落とし穴
    • キャストするとアドレス値が変化する!?
    • ヌルポインタの内部表現は 0 とは限らない
    • return を忘れた際の GCC と Clang の差

チラ見

中身を数ページだけ公開します。 ブースに立ち寄るかどうかの参考になれば幸いです。

f:id:uchan_nos:20180907211154p:plain:w150 f:id:uchan_nos:20180907211206p:plain:w150 f:id:uchan_nos:20180907211310p:plain:w150

お隣ブース情報

「 お 05」周辺は低レイヤ系ブースが集まっています。そちらにも是非お立ち寄りください! f:id:uchan_nos:20180924094331p:plain

ダウンロード頒布

同人誌即売会の雰囲気を大事にしたいので、当日ブースまで来ていただけると嬉しいです。しかし、何らかの理由により来られない方のために、ダウンロードによる頒布を行っています。

ダウンロード頒布は https://uchan.booth.pm/ で行っています。(過去作もあります)