The FulCROM OS Development Project
FulCROM overview
About Six years ago I started work on the FulCROM operating system.
This is the logical extension of the TICkit micro-interpreter and holds
great promise for powerful yet extremely affordable mini-computers. The
unique ideas of the operating system are as follows:
- Combine DRAM physical interface, Application Memory Management,
Run-time variable management, and Multi-tasking Memory Protection,
into a single OS strategy.
- Create a virtual processor that fetches program code from the
large DRAM memory pool. Only allow user code to operate through the
virtual processor. So called operating system calls would be
implemented as token calls in the language effectively creating a
VCISC ( very complex instruct set computing ) core. The TICkit
op-code format with automatic stack pushing will serve as the model
for this instruction set.
- Combine interrupt handling, direct memory access, process to
process signaling into a single OS strategy. In a single processor
emulating traditional hardware functions, direct memory access is
functionally equivalent to an interrupt. A hardware event triggers a
reaction from the CPU. In the FulCROM all interrupts can either send
signals to applications or call faster pre-written kernel functions.
These kernel functions (memory move etc.) are the analog to
traditional DMA. Furthermore, process to process signaling becomes
the primary method for inter-process communication. All I/O system
calls are implemented as signals.
- Develop a simple executable module format with memory residence
under kernel control. This is the way in which "drivers"
are installed. By registering signal capability with the kernel, any
driver can receive directives from any process. The kernel imposes
very little pre-defined I/O conventions on the OS. The body of
drivers, which can form a hierarchy does effectively build an ad-hoc
I/O standard.
Since most upper level language programs consist primarily of calls
to kernel functions and shell functions, the effective throughput of
this approach should be extremely high for the low cost, low power,
small physical size, and simplicity of the system. Other benefits like
virus invulnerability, no active cooling, and improved security should
make the system very stable.
The overall hope of this project is to create a platform that brings
the enjoyment of computers back to the masses. I, like many people, have
fond memories of Tandy's Color Computer, Commodore's C64, Sinclair's and
Atari's personal computers. Frankly, I never see the PC or any of its
children filling this market, so I hope to fill the gap with this
entirely unique approach.
FulCROM history
Original work was started on the PIC16C74 and was later moved to the
Scenix (now Ubicom) SX28AC. Unfortunately this project has only gotten
"left over" time and has moved forward slowly. I hope to jump
start some life into this project by offering a working processor and
opening up development to anyone who wants to be involved. |