z80 os
1.0.0
Zebra是針對Z80計算機的多任務操作系統,主要在C中使用一些彙編器實現。
該軟件已根據GPLV3許可。有關完整的許可條款,請參見此處。
如果您有興趣為自己的系統設置操作系統,請聯繫!
操作系統針對我的自定義Z80模塊化計算機。
內核旨在使用32KB的RAM運行,並通過串行接口提供用戶交互。用戶程序分別分配了一個32KB的銀行RAM頁面,從而可以同時執行多個程序。
該存儲庫還包含一些內置的實用程序程序,例如基本解釋器。
兩階段引導加載程序允許從文件系統加載OS圖像
rst指令實現硬件抽象的SYSCALLSdir在啟動時,模塊化計算機在0x0000時具有8K ROM,在0x8000時具有32K RAM。引導加載程序位於ROM中,並且具有基本的CF-Card驅動程序能夠從磁盤讀取各個扇區。
輔助引導程序位於CF卡的前9個扇區上。該第二階段加載程序具有相同的CF卡例程,但還有一個FAT-16驅動程序能夠從磁盤上讀取文件,該文件以FAT16格式格式化。
該輔助引導加載程序以0x8000加載到RAM中,然後執行。它首先將下銀行( 0x0000至0x7fff )從ROM切換到RAM,並將位於CF-Card文件系統上的kernel.bin上的內核圖像寫入0x0000的RAM。然後,輔助加載器將重置為0x0000以引導到內核。
內核初始化了一個完整的文件系統驅動程序和其他操作系統組件,然後從磁盤上加載命令處理器( command.exe )並開始執行它。
此時,控制權交給了用戶,用戶能夠通過運行程序的命令行與系統進行交互。
Low RAM High RAM
0x0000┌────────────────────────┐ 0x8000┌────────────────────────┐
│ Kernel │ │ User Program Area │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ 0xe000├────────────────────────┤
│ │ │ Stack │
│ │ │ │
│ │ │ │
│ │ 0xF800├────────────────────────┤
│ │ │ User Program Args │
└────────────────────────┘ └────────────────────────┘
0xF7FF ,然後成長。argv和argc )。