Unlike early 8-bit operating systems, SymbOS is based on a microkernel, which provides preemptive and priority-oriented multitasking and manages random-access memory (RAM) with a size of up to 1024 KB.
[1] SymbOS was originally started as an experiment to find out to what extent it is possible to implement a multitasking operating system with a windowed GUI on an 8-bit computer from 1985.
While the MOS Technology 6502 cannot move the stack pointer, the Z80 can freely relocate it to any position in memory, which makes it easier to implement preemptive multitasking.
In this way, computers like the Amstrad CPC and PCW, MSX, Enterprise or SAM Coupé can access hundreds or thousands of kilobytes of memory.
Banking management ensures that the system can administer memory with a size of up to one megabyte, even though the Z80 CPU has only a 16-bit address bus.
This is necessary inside a multitasking environment to avoid organization problems with the stack, global variables and shared system resources.
The whole system is written in optimized assembly language, meaning that the GUI runs as fast as the host machine supports.
Content of a window is defined with "controls" that are primitive GUI elements such as sliders, check boxes, text lines, buttons or graphics.
Examples include Notepad, SymCommander (similar to Norton Commander), SymShell (cmd.exe), SymZilla (Mozilla Firefox), SymPlay (QuickTime), SymAmp (Winamp) and Minesweeper.
Its modular structure, with strict separation of general and hardware components, makes porting to other Z80-based systems comparatively easy.