[[Image:symboscpc.gif|320px|thumb|Screenshot of the SymbOS desktop running on the Amstrad CPC]]
[[Image:symbos-msx2.gif|320px|thumb|SymbOS MSX running on a MSX2 computer; all applications are platform independant]]
[[Image:symbos-pcw.gif|320px|thumb|SymbOS PCW is the third port to a different Z80 system and supports a screen resolution of 720x255]]
''Parts of this article have been copied from the [http://en.wikipedia.org/wiki/SymbOS english Wikipedia article].''
'''SymbOS''' is a free multitasking operating system for Z80 based 8-bit computer systems written by [[Prodatron]]. At present it is available for the computers of the Amstrad CPC as well as for all MSX models starting from the MSX2 standardand all Amstrad PCW (Joyce) models until the PcW10. Contrary to early 8-bit operating systems it is based on a microkernel, which provides pre-emptive and priority oriented multitasking and manages RAM memory with a size of up to 576 1024 kB. SymbOS contains a MS-Windows like GUI, supports hard discs with a capacity of up to 128 GB and can already be booted on an unexpanded Amstrad CPC-6128 , PCW or a 128K-MSX2.
== History ==
Already in the 80's, only few years after the release of the Commodore C64, the legendary [http://en.wikipedia.org/wiki/GEOS_%288-bit_operating_system%29 GEOS] by Berkeley Softworks appeared and set the standard for a windows-based operating system on c64. It was a graphical user-interface (GUI) which was similar to the old desktop of the Apple Macintosh. Powerfull applications were made available for GEOS like GeoWrite (similar to MS-Word) or GeoCalc (similar to MS-Excel). It was incredible, that an 8bit-machine with only 64K was able to realize such an operating system!.
On the Amstrad CPC many efforts to build a decent GUI were made as well. In most cases they were just extensions to realize a WIMP (Windows, Icons, Menus and Pointers) environment but weren't true operating systems with their own kernel, memory-management and so on. The [http://www.prodatron.net/details.htm?7 CEUS Desktop 2.0 (1990)] by Prodatron was just such an extension-system.
Therefore, the CPC's own OS (in combination with AmsDOS) and [[CP/M]] were the only two known OSes for the series, but the question remained: since most CPCs have 128K (most C64 only have 64K), a screen-resolution of 320x200 with 4 colours (C64 only has 2 colours for each 8x8 area in 320x200) and some more advantages, why not have something similar? So the SymbOS-Project was born. SymbOS stands for "SYmbiosis Multitasking Based Operating System". SymbOS is a demonstration of what has been achieved on the CPC: real preemptive multitasking, dynamic memory-management for up to 576K 1024K and a totaly MS-Windows-like GUI are the three most important features.
=== Events ===
* ''05/2006'': Development of the MSX version started
* ''12/2006'': SymbOS release 1.1 is out
* ''05/2006'': 1MB and richtext support together with the graphical browser [[SymZilla]] have been implemented
* ''07/2006'': Development of the PCW version started
== Feature overview ==
*'''Micro kernel'''
**Maximum amount of supported RAM: 576 1024 KB
**Maximum number of processes: 32
**Number of different process priorities: 9
**Maximum file size: 2 GB
**Maximum number of devices: 8
**Maximum number of open files: 8 7
*'''Source code'''
**Source code size (OS Release 1): ~ 30.000 lines
*'''Supported platforms'''
**Amstrad [[CPC]]-6128 (unexpanded) and compatibles ([[CPC TREX]], [[C-ONE]])
**MSX2 with 128KB Ram (unexpanded) and compatibles (MSX2+, MSX TurboR, OCM)**Amstrad PCW (all models until PcW10)*'''Supported external hardware'''
**[[dk'tronics]] memory expansion 64K-512K and compatibles ([[Dobbertin]], [[SYMBiFACE II]])
**[[SYMBiFACE II]] (realtime clock, PS/2 mouse, IDE interface)
**Sunrise IDE interface (MSX)
**MP3MSX (MSX)
==Kernel==
The memory management divides the entire RAM into small 256 byte blocks, which can be assigned dynamically. Applications are always running in a secondary 64 kB RAM bank, where no memory space is occupied by the operating system or the video memory. That makes it possible to reserve up to 63 kB in one piece.
The banking management makes sure, that the system is able to administer memory with a size of more than half a one megabyte even with the fact that the Z80 CPU has only a 16-bit address bus. It makes transparent access to memory and functions placed in other 64 kB banks possible.
===Messaging===
* '''Applications'''
** [[SymCommander]] (file and disc management)
** [[SymZilla]] (browser and richtext viewer)
** [[SymPlay]] (video player)
** [[SymSee]] (picture viewer)
SymbOS has been developed originally for the Amstrad CPC. Because of the modular structure with the strict separation of general and hardware components the porting to other Z80-based systems is quite easy.
The MSX computers starting with the MSX2 standard are supported since summer 2006. The Amstrad PCW port is available since August 2007 (beta). Versions for the Enterprise 128, the Amstrad PCW and the SAM Coupé are possible, too, as they fulfill the requirements for SymbOS.
By keeping a basic condition for an operating system, the strict separation of hardware and application software by the supply of an intermediate layer, SymbOS applications run platform-independently on each computer and do not have to be adapted for a special system. Exceptions are applications, which access directly the hardware.