菲維克斯
Fiwix 是一個從頭開始編寫的作業系統內核,基於 UNIX 架構,完全專注於 POSIX 相容。它主要是作為業餘愛好操作系統而設計和開發的,並且由於它也用於教育目的,因此為了學生和操作系統愛好者的利益,內核代碼盡可能保持簡單。它體積小(少於 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抽象層。
- Kexec 支援多重啟動規格 v1 和 Linux 啟動協定。
- EXT2 檔案系統支援 1KB、2KB 和 4KB 區塊大小。
- Minix v1 和 v2 檔案系統支援。
- 類似 Linux 的 PROC 檔案系統支援(唯讀)。
- PIPE 偽檔案系統支援。
- ISO9660 檔案系統支援 Rock Ridge 擴展。
- RAMdisk 設備支援。
- 初始 RAMdisk (initrd) 映像支援。
- 基於 SVGAlib 的應用程式支援。
- PCI 本地匯流排支援。
- QEMU PCI 串列設備支援。
- QEMU/Bochs 圖形適配器支援。
- Intel 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 提供了一個完整的使用者空間類別 UNIX 環境來測試 Fiwix 核心。
安裝中
您可以透過從 CD-ROM 或軟碟開機來繼續在硬碟上安裝 FiwixOS。如果您選擇後者,您還需要插入安裝光碟來安裝構成所有系統環境的軟體包。
讓系統啟動,準備好後,只需輸入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 許可證條款獲得許可的免費軟體,請參閱許可證文件以了解更多詳細資訊。
版權所有 (C) 2018-2024,Jordi Sanfeliu。
製作人員
Fiwix 由 Jordi Sanfeliu 創作。
您可以透過 [email protected] 聯繫我。另請參閱 CREDITS 文件。