フィウィックス
Fiwix は、UNIX アーキテクチャに基づいて最初から作成されたオペレーティング システム カーネルであり、POSIX との互換性を重視しています。主にホビー OS として設計および開発されていますが、教育目的でもあるため、学生や OS 愛好家のためにカーネル コードは可能な限りシンプルに保たれています。サイズが小さく (コードが 50K 行未満)、i386 ハードウェア プラットフォーム上で実行され、既存の GNU アプリケーションの良好なベースと互換性があります。
特徴
- ANSI C言語で書かれています(必要な部分のみアセンブリを使用しています)。
- GRUB マルチブート仕様 v1 に準拠。
- 完全な 32 ビット保護モードの非プリエンプティブ カーネル。
- i386 プロセッサ以降の場合。
- プリエンプティブなマルチタスク。
- (ほとんど) POSIX 準拠。
- プロセスグループ、セッション、およびジョブ制御。
- パイプ、シグナル、および UNIX ドメイン ソケットを使用したプロセス間通信。
- UNIX System V IPC (セマフォ、メッセージ キュー、共有メモリ)。
- BSD ファイル ロック メカニズム (POSIX はファイルとアドバイザリのみに制限されています)。
- 仮想メモリの分割 (ユーザー/カーネル): 3GB/1GB および 2GB/2GB。
- コピーオンライト機能によるデマンドページング。
- Linux 2.0 ABI システムは (ほとんどの場合) 互換性を呼び出します。
- ELF-i386 実行可能形式のサポート (静的および動的リンク)。
- ラウンド ロビン ベースのスケジューラ アルゴリズム (優先順位はまだありません)。
- VFS 抽象化レイヤー。
- マルチブート仕様 v1 および Linux ブート プロトコルによる Kexec のサポート。
- 1KB、2KB、4KB ブロック サイズの EXT2 ファイルシステムをサポートします。
- Minix v1 および v2 ファイルシステムのサポート。
- Linux のような PROC ファイルシステムのサポート (読み取り専用)。
- PIPE 疑似ファイルシステムのサポート。
- Rock Ridge 拡張機能による ISO9660 ファイルシステムのサポート。
- RAMディスクデバイスのサポート。
- 初期 RAMdisk (initrd) イメージのサポート。
- SVGAlib ベースのアプリケーションのサポート。
- PCIローカルバスのサポート。
- QEMU PCI シリアル デバイスのサポート。
- QEMU/Bochs グラフィックス アダプターのサポート。
- インテル PIIX3 PCI ISA IDE コントローラー。
- Linux キーマップをサポートするキーボード ドライバー。
- PS/2マウスのサポート。
- VESA VBE 2.0+ 準拠のグラフィック カードに対するフレームバッファ デバイスのサポート。
- フレームバッファ コンソール (fbcon) のサポート。
- シリアル ポート (RS-232) ドライバーのサポート。
- リモート シリアル コンソールのサポート。
- QEMU Bochs スタイルのデバッグ コンソールのサポート。
- パラレルポートプリンタードライバーのサポート。
- 擬似乱数ジェネレーターの基本的な実装。
- フロッピー ディスク デバイス ドライバーと DMA 管理。
- IDE/ATA ATAPI CD-ROM デバイス ドライバー。
- IDE/ATA ハードディスクデバイスドライバー。
コンパイル中
Fiwix カーネルのビルドに必要なコマンドはmake clean ; make
。これにより、ソース コード ツリーのルート ディレクトリにファイルfiwix (カーネル自体) とSystem.map.gz (シンボル テーブル) が作成されます。
コンパイルする前に、 include/fiwix/config.h
およびinclude/fiwix/limits.h
のデフォルト値を変更して、カーネル構成を微調整することもできます。
カーネルはそれ自体では何も行わないことに注意してください。カーネルを利用するにはユーザー空間環境を作成する必要があります。起動時にカーネルはルート ファイルシステムをマウントし、その上で/sbin/init
実行しようとするため、このプログラムを自分で用意する必要があります。幸いなことに、FiwixOS は、Fiwix カーネルをテストするための完全なユーザー空間の UNIX のような環境を提供します。
インストール中
CD-ROM またはフロッピーから起動して、ハードディスクへの FiwixOS のインストールに進むことができます。後者を選択した場合は、すべてのシステム環境を構成するパッケージをインストールするために、インストール CD-ROM も挿入する必要があります。
システムを起動し、準備ができたら、 install.sh
と入力するだけです。
ハードウェアの最小要件は次のとおりです。
- 標準的な IBM PC-AT アーキテクチャ。
- i386 プロセッサ (浮動小数点プロセッサ付き)。
- 4MB の RAM メモリ (128MB を推奨)。
- IDE/ATAPI CD-ROM またはフロッピー ディスク (3.5 インチ、1.44MB)。
- 1GB ATAハードディスク。
これは非常に初期段階にあるカーネルであり、まだ特定または解決されていない重大なバグや壊れた機能が存在する可能性があることに留意してください。
繰り返します。
これは非常に初期段階にあるカーネルであり、まだ特定または解決されていない重大なバグや壊れた機能が存在する可能性があることに留意してください。
*****************************
*** USE AT YOUR OWN RISK! ***
*****************************
参考文献
ライセンス
Fiwix は、MIT ライセンスの条件に基づいてライセンス供与されたフリー ソフトウェアです。詳細については、LICENSE ファイルを参照してください。
著作権 (C) 2018-2024、ジョルディ サンフェリウ。
クレジット
Fiwix は Jordi Sanfeliu によって作成されました。
[email protected] までご連絡ください。 CREDITS ファイルも参照してください。