Software that provides a published, common set of interfaces for the management of hardware on behalf of application software in a computer system. An operating system (short: OS) provides services to application software including:
- Memory management
- Data storage
- Program / process management
- User interface
- Input / output control (I/O)
- Task scheduling
Commodore Operating Systems
Although many manufacturers provide their operating systems on loadable media such as magnetic tape, magnetic disk or optical disk, Commodore provided it's operating systems in ROM called the Kernal, built into the motherboard.
Commodore also typically added a BASIC ROM to their motherboards that allowed users to author, save, load and execute (RUN) BASIC programs for themselves. The BASIC ROM is typically considered to be part of the operating system although strictly speaking it is not.
Third Party Operating Systems
CP/M was an early text-based single-tasking operating system that strongly influenced early operating system design. It bears a superficial similarity to MS DOS. The Commodore 64 was compatible with CP/M 80 via a cartridge containing a Z80 microprocessor. It was not well received as many CP/M applications expected a 60–80 character wide text display. The C64's display only supports 40 characters natively.
The Graphic Environment Operating System (GEOS) is probably the best known 8-bit graphical operating system. The interface was reminiscent of early Mac OS versions. It shipped with a very well developed office suite out of the box. It was a single-tasking operating system with limited desk accessory support.
Later third party patches introduced task switching via primitive concurrent multitasking provided the C64 was equipped with an REU.
Short for "Little Unix" LUnix was an attempt to bring a multitasking kernel and Unix design philosophy to the C64 very late in its life. The operating system was open source.
GeckOS was already developed in 1989 for a clone of the Commodore PET with additional MMU. It was later ported to the C64. The developer included a software library "lib6502" that provided compatibility between GeckOS and LUnix. GeckOS was also open source.
CLiPS was designed to be a drop-in replacement for GEOS. It was unique in that it was designed for use on CMD SuperCPU equipped C64's *only* and required at least 1MB RAM. CLiPS was developed by Protovision KG. Development stalled circa 2001 and the project was abandoned in favor of a joint effort with the developer of JOS. The result was WiNGS.
Contiki is a modern "internet of things" operating system designed for memory constrained systems. Written mostly in C it is highly portable and supports many systems including MOS 6502-based computers like the VIC 20 and Commodore 64. Contiki is unique in that it uses a special thread model that does not require an MMU to successfully multitask even with only a few kilobytes of RAM. Contiki has a TCP/IP implementation and supports both IPv4 and IPv6 — even on an 8-bit hardware target like the C64.
PicoOS is a highly configurable and very fast real time operating system (RTOS). It targets a wide range of architectures, from very small 8 bit processors and microcontrollers up to very huge platforms. Ports are available for 6502, 80x86, PPC and AVR. It supports preemptive multitasking with up to 64 tasks on C64.
C64 OS is a single tasking operating system with GUI, networking and REU support. It is able to run one utility concurrently with the main application.