GeckOS

GeckOS is a multitasking operating system for MOS 6502, and compatible processors such as the MOS 6510. The GeckOS operating system is one of the few successful attempts to implement a Unix-like operating system on the 6502 architecture.

Overview
The system offers some Unix-like functionality including pre-emptive multitasking, multithreading, semaphores, signals, binary relocation, TCP/IP networking via SLIP, and a 6502 standard library.

GeckOS includes native support for the Commodore PET (32 KB and 96 KB models), Commodore 64 and the CS/A65 homebrew system. Due to the platform independent nature of the kernel code, GeckOS is advertised as an extremely easy OS to port to alternative 6502 platforms.

Binary compatibility with the LUnix operating system can be attained when the lib6502 shared library is used.

Due to the small fixed-location stack of the 6502, and because an external MMU is rarely provided, multitasking is somewhat limited. The OS supports a maximum of four tasks when a shared stack space is used. This can be increased to sixteen tasks when stack snapshotting is enabled, although this is done at the expense of some system speed.

A webserver is integrated into the SLIP daemon.

Unix on 6502 architecture
While early versions of Unix ran on for example early model PDP-11 computers that were comparable to Commodore 64 in terms of memory and processor performance there were architecture differences in terms of lack of a kernel mode, only 3 8-bit registers versus eight 16-bit general registers, and a fixed stack. These architectural limitations make implementing a Unix-like operating system on the 6502 challenging.

The possible non-exhaustive list of other viable Unix-like implementations on 6502 are LUnix, Asterix (Chris Baird) and ACE (Chris "Polar" Baird). GeckOS arguably is more complete in some respects, with ACE being stronger in terms of standard Unix utilities but weaker in the operating system area.