= = = WHEATSYSTEM = = =
WheatSystem is an operating system by Jack Eisenmann.
Design specification:
Software utilities:
Version 1.0.0 of the WheatSystem specification and the C implementation are complete.
Computers which run WheatSystem:
Please see this video for an overview of WheatSystem and WheatBox 55A1.
WHEATBOX MODEL NUMBERS
Each computer intended to run WheatSystem is named "WheatBox" followed by a model number. The model number consists of the following components:
(ramSize)(formFactor)(processorType)(variation)
(ramSize) is an integer which describes the amount of RAM in the computer:
(formFactor) is a digit which describes the I/O and power supply of the computer:
(processorType) is a letter which describes the technology for executing machine code:
(variation) is an integer which describes the iteration of computer design. This number begins at 1 for a given permutation of (ramSize)(formFactor)(processorType), and increases by 1 for each additional design which has the same permutation of (ramSize)(formFactor)(processorType). Different variations may have different button layouts, types of displays, processor models, and so forth.
Example WheatBox model numbers:
WHEATSYSTEM MOTIVATION
While designing and implementing BreadSystem, I realized that the operating system was rather complex. I was worried that the firmware would be too big for simpler hardware, such as the venerable ATMega328, or a processor with 16-bit address space and no bank switching. These are hardware platforms I enjoy using, and I expected that BreadSystem would leave them in the dust.
WheatSystem uses many of the same design principles of BreadSystem, but simplifies them substantially. It has a bytecode with fewer instructions, permission system with less granularity, and file system lacking directory support. However, it still provides a unified heap and interprocess communication through exposed functions. I think that WheatSystem will be fun to play with, and I look forward to incorporating it into future hardware projects.