IT業界、46年やってます (老人IT技術者の独り言) 

現在71歳、IT関連で勉強したい事が盛りだくさんで、目移り状態です(^o^)

新しい趣味の数学学習 ガロア理論

さて次の趣味の続きは、今回も何十年も懸念のガロア理論の理解です。
4次方程式までは解の公式がありますが、5次方程式には無いのを理論的に分かってまして、それを学習したいです。これは私が大学時代からの念願です。
教科書は初心者の定番本として数学ガールシリーズの「ガロア理論」です。
若干二十歳のフランス人のガロアが「どんな方程式なら根号で解けて、どんな方程式は解けないのか」を判定する一般理論を作ったことです。彼は方程式の解の "対称性" を 群という概念で捉えました。これが今の ガロア理論 で、現代数学(代数・暗号・物理まで)の土台のひとつになっています。
ガロア自身は女性を巡る決闘で亡くなってます。死ぬ間際、弟に「泣くな、アルフレッド! 20歳で死ぬには、ありったけの勇気がいるんだ」と言い残してるそうです。
彼は数学の天才でしたが、当時の数学会のレベルを超えてしまっていたので、当時のトップ数学者ですら彼の理論を理解出来ず、投稿した論文を廃棄されたり、査読者が死んで論文が行方不明になったり、辛酸な目に遭ってました。
遺稿を公開してくれた友人オーギュスト・シュヴァリエのお陰でガロアの業績が失われなかった事は幸いでした。
 
今回も頼もしい AIを先生にして学習をします。Anthropic 社のClaude(モデルは Opus 4/8)を利用します。
 

アマゾン本 レガシーシリーズ8巻 無償キャンペーン 

10年間書き溜めた アマゾン本 レガシーシリーズ8巻 の無償提供キャンペーンを始めます。

期間:2026/6/15(月)  ~ 6/19(金)

 

ラズベリーパイ上で、40〜50年前の今の時代とは全く違ったOSを楽しめるシリーズとなってます。ただ10年前の違い現在は Windows 上なら WSL2 + Ubuntu 24.04 などで試せますし、 Mac なら brew 環境で簡単に試せます。

 

1冊だけはは今流行の AI 大規模言語モデルに関する平易な説明本です。

 

 

ご注意:左上のオリジナルOS本は無償枠を使ってしまったので、申し訳ありませんが、今回は提供出来ません。

 

OS を作り始めました パート8 Amazon Kindle 本を出版しました。

 

世の中には、優れた自作 OS の入門書が数多くあります。ブートローダからカーネルを起動し、画面に文字を出し、簡単なアプリを動かす。その一歩一歩は、OS 開発の入口として非常に重要です。

しかし本書が扱うのは、そこで終わらない自作 OS です。

本書の主役である Orthox-64 は、64-bit x86_64 上で動作する、Unix 系の実用的なプラットフォーム OS を目指した自作 OS です。単に「カーネルが起動する」だけではなく、その上で POSIX 互換の標準 C ライブラリである musl libc が動作し、Unix 環境を提供する BusyBox が起動し、Python 3.12、BearSSL、DOOM、そして GCC までを受け止めます。

最終的には、Orthox-64 の上で動く GCC によって、Orthox-64 自身のカーネルソースコードをビルドし、生成されたカーネルを再び起動するという、セルフホスティングの流れまで追います。

本書の中心にあるのは、
syscall(システムコール)です。

ユーザーランドのソフトウェアは、カーネルの内部関数を直接呼び出すことはできません。Python も BusyBox も GCC も DOOM も、最後は syscall という契約を通じて OS に処理を依頼します。本書では、V6 Unix から続く syscall の思想を起点に、Orthox-64 の実コードを読みながら、メモリ管理、プロセス、ファイル記述子、VFS、xv6fs、pipe、signal、socket、ELF ローダ、動的リンク、TLS、そしてセルフホストまでを、ひとつの連続した構造として読み解いていきます。

さらに後半では、AI エージェントを OS 開発にどう使うかを扱います。

AI にコードを丸投げするのではなく、人間が仕様を設計し、AI の提案を VFS や fd、メモリ寿命、ロック、参照カウントといった境界でレビューし、ビルドと QEMU 上の検証に戻す。その題材として、procfs 風の仮想ファイルシステムを Orthox-64 に追加する流れを扱います。AI は魔法の代筆者ではなく、広いコードベースを横断し、候補を出し、検証手順を支援する技術的な相棒として位置づけられます。

目次ダイジェスト
はじめに
第 I 部:OS の入口と基本機能
ブート、物理・仮想メモリ管理、割り込み、タイマ、SMP、syscall entry
第 II 部:プロセスとファイルシステム
プロセス、スケジューラ、fork / exec / wait、file descriptor、VFS、xv6fs、pipe、signal、socket
第 III 部:標準環境とセルフホスト
musl libc、BusyBox、ELF ローダ、動的リンク、TLS、Python、BearSSL、DOOM、GCC、セルフホスト
第 IV 部:AI エージェントで OS 機能を設計・追加する
AI に任せられる題材の選定、procfs 仕様設計、AI パッチ案のレビュー、VFS 境界での検証
おわりに
付録 A:Orthox-64 の開発環境を整える
付録 B:読者への演習課題:他アーキテクチャへの挑戦

 

 

 

Linux のソースは百万行レベルで理解するレベルには無いと思いますが、この OS のカーネルは1万6千行レベルなので、解説付きで十分読みこなせます。

 

ところで10年前から Amazon のキンドル本を少しずつ出版して、今回が9冊目です。

飽きやすい私がここまで来れました。



OS を作り始めました パート7

だいぶ間が空いちゃいました。

 

1. その間 ついに自分自身のOS ソースを自分の中でコンパイルして起動出来るようになりました。セルフホスティング

 

2. musl clib を shared lib サポート対応

 

3. Python の Numpy をインクルード出来る様になりました。

 

4. OS の本を書いてます。

 

現在校正中。AIエージェントを活用する構成です。

レガシーシリーズと同様 KDP から出版します。

価格は 500 円としました。

6月前半にリリース予定です。

 

 

OS を作り始めました パート6

完全にスタンドアローンの C 言語開発環境を目指してます。

 

1. ファイルシステムを導入して、読み書きできる様にしました。

 この処理は RetroFS というオープンソースを移植して実装しました。

 これで自立してボリュームを保持することができる様になりました。

 

2. それから オープンソースから軽量のテキスト・エディター  kilo を導入。

 挿入中に OS がパニックで停止。調査するとメモリー割り付けに不具合があり改修。

 

以上が整ってきたので、次に gcc を導入中です。

 

・感想

最初は一気にOSが出来て喜んでましたが、実際に種々のオープンソースを走らせると、もともとのOSの基本的な部分の欠陥、特にメモリー関連の弱さを露呈して、修正に時間がかかる様になってきました。

 

 

OS を作り始めました パート5

次のプロジェクトに良い本を見つけました

 

gihyo.jp

 

実行環境が一段難しくなってて、自作OS WasabiOS 上でブラウザを動かすって興味が湧きます。

ちなみにこのOSだけの本も出てまして、こちらもブラウザと同じで Rust で記述されているそうです。 

 

gihyo.jp

 

今回の目的は、Orthox-64  でこのブラウザを動かそうと思います。

・まず 自分の OS 向けの Rust コンパイラを用意しないとです。

 

OS を作り始めました パート4 一気にマルチコアまで

OSの名前は Orthox-64 にしました。

 

ネットまで出来た時点で Zenn に投稿しておきました。

zenn.dev

 

それから github へ初めてオリジナルソフトを投稿

 

github.com

 

先週はずっと RISC-V CPUへの対応をしてましたが、難易度がかなり高いので、Codex AIエージェントもかなり苦戦して挫折しそうになりましたが・・・一応出来ましたが品質がいまイチな感じで、これは一旦保留にしました。