はじめに
秋葉原ロボット部Advent Calendar 2022 7日目に「半導体不足時代のCollapseOS」という記事を掲載しました。
https://qiita.com/kazueda/items/c35ab8017cdf60e84e4c
この記事では、IntelPC上でUSBメモリから起動するCollapse OSの環境構築を紹介しました。
2023年7月に8ビットCPUで動作するForth OSのCollapse OSから、32ビットForthの動作するDusk OSでの環境開発に変わったようです。
この記事では、Collapse OSと比較しながら、Dusk OSの概要を紹介します。
Collapse OSの設計思想と特徴
設計思想
- 最小限の身近で手に入りやすいマシン上で動作可能
- 身近で手に入りやすいインターフェース
- テキストやバイナリの情報を編集可能
- マイクロコントローラーからCPUまでのアセンブラソースをコンパイル可能
- 様々な記録デバイスの読み書きが可能
- 動作環境でアセンブルでき、他のマシンへ移植可能
特徴
- リソースの少ないZ80、8086、6809や6502マシン上で動作
- Z80、AVR、8086、6809や6502のバイナリをアセンブル可能
- 6502と6809のディスアセンブル可能
- AVRマイクロコントローラのプログラムが可能
- Forthでよく用いられるエディタに似たコマンドラインエディタだけでなくUNIX' VIにヒントを得たビジュアルテキストエディタ搭載
- ビジュアルバイナリエディタを搭載
- Forthインタプリタ搭載
- CCとmakeだけでPOSIX環境でビルド可能
- マシン依存のコードを除くと、2000行のコード
Dusk OSの現状
- i386、ARMとオンラインエミュレータのWASM、あるいはNetBSDカーネル上で動作可能
- FAT12/FAT16ボリュームからの起動やボリューム上の読み書きが可能
- FAT12/FAT16ボリュームを新たに作成可能
- 6502CPUをエミュレート可能
- 汎用性の高いCコンパイラ
- とても小さなフットプリント。昔の16 MBのRAMを搭載したPentium 75 MHzで動作可能
等など
Dusk OSを作った理由
Collapse時代後、どのようなアーキテクチャとOSが利用可能かを予測するの難しくなったことと、個人で管理できるOSはお遊び用OSで実用に耐えうるのは複数の人々が管理するOSになっている現状を気にしているからのようです。
おわりに
Forthが単純で現在も進化しているOSなので、Dusk OSの作者はForth OSを推しているようです。
たしかに、6809のCPUのマシンでは、Forthをファームウェアのように使って、その後より大きなOSOを起動する例があります。multicomp09上のForthとFuzixの関係がそれに相当します。
移植アーキテクチャが、80386以降とRaspberry piを含むARMになっているのが興味深いです。
追伸
NEC PC-9801へのポートの情報
https://lists.sr.ht/~vdupras/duskos-discuss/%3C413840582.472243.1688267692920%40privateemail.com%3E