| ▲ | retrac 2 hours ago | |
Yes. It has Unix style processes. The basic memory model is similar to ancient Unix on the PDP-11 without paging. A process gets a flat memory space. Processes are swapped out in the background as necessary. How it is implemented varies by platform. On the 8-bit micros it takes advantage of bank-switching memory hardware if there is any. On the MMUless 68K a flat single address space can be used with position-independent code for the processes. On platforms with paging or relocation hardware that is used. Most of the host platforms do not have hardware memory protection, but there's room in the design to support it. It has been ported to the Raspberry Pi Pico [1] (ARM Cortex-m0+ based) and could be ported to other microcontrollers which have enough RAM. Toolchain is the biggest problem. It's hard to get a good cross toolchain that works. FUZIX's creator has been writing a portable C compiler but it's not done yet. The code does compile with Clang and GCC but a working toolchain is a steep knowledge cliff to climb. I have got the kernel to build and link for a riscv32i target. Just need some real riscv32 hardware to test it on. And free time. | ||