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

続きを読む

Rust より C++ が優れている 12 のポイント

若干釣りタイトルですが,私が「Rust にはない C++ の良さ」を募ったところ,12 個ほどの優れている点が報告されたので,まとめてみます.

背景

私は 2018/10/08 開催予定の技術書典5で,『C++でできる!OS自作入門』と題して,Clang+LLD で C++ を使って OS 開発する際の注意点とか C++ の活用例を解説する同人誌を書こうと思っています. その下調べもかねて,このようなツイートをしました.

続きを読む

セキュリティキャンプ 2018「フルスクラッチ OS を書こう!」テーマまとめ

セキュリティキャンプ 2018 全国大会の集中開発コースの講師をやったので報告です. 「フルスクラッチ OS を書こう!」というテーマで,自作 OS を一から作るお手伝いをしました.

フルスクラッチ OS を書こう!」の概要

フルスクラッチと言いつつキャンプの 3 日間(名目上は 5 日間だが,前後 1 日は作業できない)ではフルスクラッチで OS を作るのは難しいので, 小さな OS を作る,または改造するという方向で受講者とネタを考えました. 結果,2 人はそれぞれ次のネタをやることになりました.

  • 「はりぼて OS」にコマンドを増やす
  • xv6 を UEFI で起動する
続きを読む

「30 日でできる!OS 自作入門」のような段階的に進展するプログラムについての解説書の執筆を Git で支援する

プログラムについての解説書を Git を用いて執筆する方法の提案です.

まえがき

プログラミングに関する解説書には大きく分けて 2 つの系統があります. 1 つはテーマごとにサンプルプログラムを提示して解説するもの,もう 1 つは特定のプログラムの各部分について解説するものです. 後者の中でも,完成形を用いるものと,段階的に進展する各時点での断面(スナップショット)を解説するものがあります. この記事は,後者の執筆を Git で支援するというものです. この形態の書籍としては「30 日でできる!OS 自作入門」が有名でしょう. OS の作り方を 30 章に分け,各章で少しずつ OS を作り上げていきます.

続きを読む

SSD 周りの用語まとめ(M.2,PCIe,SATA,AHCI,NVMe)

SSD 関連の用語で違いがよく分からなかったりしませんか? 特に,M.2,PCIe(PCI Express),SATASerial ATA),AHCI,NVMe(NVM Express)などの用語が飛び交っていて,筆者も少しあいまいだったので,今回調査してまとめてみました.

概要

  • M.2 は「フォームファクタ」と言って,コネクタの物理的な形の規格名です.
  • PCIe と SATA はどちらもシリアル通信を用いる周辺機器のインターフェース規格です.
  • AHCI と NVMe はどちらもホストが SSD を制御するためのコントローラの規格です.

簡単にまとめると上記の通りです.以下,もう少し詳細に説明していきます.

続きを読む

OS自作入門の入門

この記事では OS 自作の最初の一歩の部分を紹介します.OS 開発を始める前に雰囲気をつかみたい,という方に向けて書いています. 「セキュリティキャンプ 2018」の「OS 開発ゼミ・フルスクラッチ OS を書こう!」の補足資料でもあります.

続きを読む