コミックマーケット95で「システムコールの薄い本」出します!

この記事は自作OS Advent Calendar 2018の10日目の記事です。(宣伝ですみません。。)

次の冬コミ(コミックマーケット95)の2日目(12/30(日))に東テ55aにて、サークル「へにゃぺんて」で出展します。

新刊は「システムコールの薄い本」です。
自作OSへのシステムコール機能を追加していく事で、システムコールというものがどのように実現されているのかを紹介しています。

x86_64自作OSのパート3(「フルスクラッチで作る!」シリーズとしては5冊目)で、
本書でついに、64ビット自作OSの方でもカーネルとアプリがバイナリレベルで分離されます!
そして、アプリから別バイナリのアプリをフォアグラウンド実行やバックグラウンド実行で呼び出す仕組みも実装します!


当日はこれまでの期間もすべて持っていきますので、興味があればぜひお立ち寄りください!


また、当サークルの過去の同人誌のPDF版/HTML版は以下のページで公開しています。
興味があれば見てみてもらえると嬉しいです。

C95の新刊もイベント日(12/30)以降に公開します。


裏表紙や目次などは↓の「続きを読む」から

■ 裏表紙


■ 表紙のフィギュアについて

x86_64自作OSシリーズや当サークル自体のマスコットキャラクターが欲しいなと思っていた中、
ぷちのこメーカー」というパーツを選ぶだけで二頭身キャラの3Dモデルを作れるサービスを見つけました。
このサービスでは有償でフィギュアにできるので、試しに作ってみました。


■ 目次

  • はじめに
    • 本書の構成
    • 開発環境・動作確認環境
    • 本書の PDF 版 /HTML 版やソースコードの公開場所について
  • 第1章 システムコールを実装し、カーネルとアプリを分離する
    • 1.1 システムコールの仕組み
    • 1.2 ソフトウェア割り込みを使えるようにする
      • 1.2.1 割り込みハンドラ入口 / 出口処理 ( アセンブラ ) 実装
      • 1.2.2 割り込みハンドラの C 言語側の関数を実装
      • 1.2.3 実装した割り込みハンドラを登録する
      • 1.2.4 ソフトウェア割り込みを呼び出してみる
      • 1.2.5 実行する
    • 1.3 カーネルから外部の実行バイナリ ( アプリ ) を起動する
      • 1.3.1 exec 関数を実装する
      • 1.3.2 実行ファイル ( アプリ ) を作る
      • 1.3.3 実行する
    • 1.4 システムコールを実装する
  • 第2章 アプリから別のアプリを呼び出す
    • 2.1 フォアグラウンド実行を実現する
      • 2.1.1 open と exec をシステムコール
      • 2.1.2 アプリからアプリを呼び出してみる
      • 2.1.3 実行する
    • 2.2 バックグラウンド実行を実現する
      • 2.2.1 実験用の処理を削除し、スケジューラを有効化する
      • 2.2.2 アプリをランキューへ追加するシステムコールを作成する
      • 2.2.3 アプリからランキュー追加を試す
      • 2.2.4 実行する
  • おわりに
    • 表紙のフィギュアについて
  • 参考情報