---------------------------------------------------------------------------------------
.
---------------------------------------------------------------------------------------
#alternate Edit this page Wikipedia (en)
SymbOS
From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
This article has multiple issues. Please help improve it or discuss
these issues on the talk page. (Learn how and when to remove these
template messages)
This article needs additional citations for verification. Please help
improve this article by adding citations to reliable sources. Unsourced
material may be challenged and removed.
Find sources: "SymbOS" - news . newspapers . books . scholar . JSTOR
(September 2012) (Learn how and when to remove this template message)
This article may contain excessive or inappropriate references to
self-published sources. Please help improve it by removing references
to unreliable sources where they are used inappropriately. (September
2012) (Learn how and when to remove this template message)
The topic of this article may not meet Wikipedia's general notability
guideline. Please help to demonstrate the notability of the topic by
citing reliable secondary sources that are independent of the topic and
provide significant coverage of it beyond a mere trivial mention. If
notability cannot be shown, the article is likely to be merged,
redirected, or deleted.
Find sources: "SymbOS" - news . newspapers . books . scholar . JSTOR
(September 2012) (Learn how and when to remove this template message)
(Learn how and when to remove this template message)
This article is about the computer system. For the obsolete caprine
genus Symbos, see Bootherium.
CAPTION: SymbOS
Screenshot of the SymbOS desktop on the Amstrad CPC
Screenshot of the SymbOS desktop on the Amstrad CPC
Developer SymbiosiS
Written in Assembly language (Zilog Z80)
Working state Current
Source model Freeware
Initial release 1 May 2006; 15 years ago (2006-05-01)
Latest release 3.1 / 30 December 2021; 2 months ago (2021-12-30)
Available in English
Platforms Amstrad CPC, MSX, Amstrad PCW, Enterprise 64/128
Kernel type Microkernel
Default
user interface Graphical user interface
Official website www.symbos.de
SYmbiosis Multitasking Based Operating System (SymbOS) is a
multitasking operating system for Zilog Z80-based 8-bit computer
systems.
Contrary to early 8-bit operating systems it 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. SymbOS
contains a Microsoft Windows like graphical user interface (GUI),
supports hard disks with a capacity of up to 128 GB and can already be
booted on an unexpanded Amstrad CPC-6128, a 128K-MSX2 and an Amstrad
PCW.
As of August 30th 2017 it is available for the Amstrad CPC series of
computers, all MSX models starting from the MSX2 standard, MSX with
V9990 graphics chip, all Amstrad PCW models, CPC-TREX, C-ONE and the
Enterprise 64/128 computers.^[1]
[ ]
Contents
* 1 Motivation and rationale
* 2 Design
+ 2.1 Task management
+ 2.2 Memory and banking management
+ 2.3 Interprocess communication
+ 2.4 File system management
* 3 Interface
* 4 Applications
+ 4.1 Commands
* 5 Development and release
* 6 See also
* 7 References
* 8 External links
Motivation and rationale[edit]
This section does not cite any sources. Please help improve this
section by adding citations to reliable sources. Unsourced material may
be challenged and removed. (October 2018) (Learn how and when to remove
this template message)
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. GEOS contributed to the
motivation, but the structure and features of SymbOS aren't similar to
that system. The release in 2006 proved that such a "mini windows"
system is possible on a then 20-year-old home computer with only
quantitative limitations. SymbOS is one of the largest retro computing
software projects of recent years. One of the goals of the project is
to allow these old machines to be used like a modern PC, using hardware
extensions.
Although only an 8-bit CPU, the Z80 can run a preemptive multitasking
operating system. Features such as memory protection, which the Z80
lacks, are not essential in such an OS. For example, AmigaOS also lacks
memory protection. The MP/M OS proved that multitasking on the Z80 CPU
was possible. Yet, it was generally unavailable for home computers.
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. The existence of an alternative
register set accelerates context switching between tasks dramatically.
The restriction of Z80 system to a 64 KB address space can be solved
with bank switching. In this way, computers like the Amstrad CPC and
PCW, MSX, Enterprise or SAM Coupe can access hundreds or thousands of
kilobytes of memory.
Design[edit]
SymbOS includes a microkernel, which can perform task management,
memory management and inter-process communication.^[2]
Task management[edit]
For task management, a combination of preemptive and cooperative
multitasking was chosen, which makes different task priorities
possible. Preemptive means that tasks are interrupted after a certain
amount of time by the operating system, in order to share the CPU time
with other tasks. Cooperatively means that a task stops using CPU time
by itself. It does that, if it's finished with its current job or
waiting for a certain event. Because of this combination it is possible
to assign priorities. Tasks with low priority get CPU time only if all
tasks with higher priorities are not then working.
Memory and banking management[edit]
Main article: bank switching
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.
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. It makes transparent access to memory and functions placed
in other 64 KB banks possible.
Interprocess communication[edit]
Communication between different tasks and the operating system usually
does not take place via calls, but is done via messages. This is
necessary inside a multitasking environment to avoid organization
problems with the stack, global variables and shared system resources.
The SymbOS kernel supports synchronous and asynchronous IPC.
File system management[edit]
SymbOS supports the file systems CP/M, AMSDOS, and File Allocation
Table (FAT) 12-16-32, on all platforms. With the last one, SymbOS can
address mass storage devices with a capacity of up to 128 GB. Also, the
ability to administer files with a size of up to 2 GB is uncommon for
an 8-bit system. Because of the FAT support data exchange with other
computers is quite easy, as most 32 and 64 bit operating systems do
support the three FAT file systems.
Interface[edit]
Screenshot of the MSX version of SymbOS
The graphical user interface (GUI) of SymbOS works in a fully
object-oriented manner. The look and feel mimics that of Microsoft
Windows. It contains the well-known task bar with the clock and the
"start" menu and can open up to 32 windows that can be moved, resized
and scrolled. 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.
The background or invisible areas of a window don't need to be saved in
a separate bitmap buffer. If an area needs to be restored on the
display, its contents will be redrawn instead. This makes SymbOS GUI
much more memory-friendly compared to most other 8-bit GUIs.
Applications[edit]
There are several standard applications available for SymbOS, which are
designed to resemble similar software available on other operating
systems. Examples include Notepad, SymCommander (similar to Norton
Commander), SymShell (cmd.exe), SymZilla (Mozilla Firefox), SymPlay
(QuickTime), SymAmp (Winamp) and Minesweeper.^[3]
Commands[edit]
The following list of commands is supported by SymShell.^[4]
* ATTRIB
* CD
* CLS
* COLOR
* COPY
* DATE
* DEL
* DIR
* ECHO
* EXIT
* FULL
* HELP
* MD
* MOVE
* PAUSE
* RD
* REM
* REN
* SIZE
* TIME
* TYPE
* VER
Development and release[edit]
SymbOS was originally developed for the Amstrad CPC. Its modular
structure, with strict separation of general and hardware components,
makes porting to other Z80-based systems comparatively easy.
The MSX computers starting with the MSX2 standard have been supported
since summer 2006.^[5] The Amstrad PCW port has been available since
August 2007.^[6] Versions for the Enterprise 128, the SAM Coupe and
such clones of ZXSpectrum as ATM-turbo 2+ and ZX-Evolution/BaseConf 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 an intermediate
layer, SymbOS applications run platform-independently on each computer
and doesn't need to be adapted for different systems, with the obvious
exception of applications that directly access particular hardware.
See also[edit]
* Contiki
* MSX-DOS
* OS-9
References[edit]
1. ^ Basic facts
2. ^ SymbOS kernel description
3. ^ SymbOS applications on CpcRulez.fr
4. ^ http://www.symbos.de/appinfo.htm?00025
5. ^ SymbOS 2.0 on MSX.org
6. ^ PCW Joyce Computer Club
External links[edit]
* Official website Edit this at Wikidata
* SymbOS installation help file
* SymbOS mailing list
* Page at the CPCWiki
* SymbOS demo video running on a real MSX turboR GT with MP3MSX
cartridge
* v
* t
* e
Hobbyist operating systems
* AROS
* AtheOS
* BareMetal
* DSPnano RTOS
* EmuTOS
* FiwixOS
* GeckOS
* Ghost
* HelenOS
* KolibriOS
* LUnix
* MenuetOS
* Phantom OS
* Redox
* SerenityOS
* SharpOS
* Syllable Desktop
* SymbOS
* TempleOS
* ToaruOS
* Category
* List
Retrieved from
"https://en.wikipedia.org/w/index.php?title=SymbOS&oldid=1069656404"
Categories:
* Amstrad CPC
* MSX
* Hobbyist operating systems
Hidden categories:
* Articles needing additional references from September 2012
* All articles needing additional references
* Articles with self-published sources from September 2012
* All articles with self-published sources
* Articles with topics of unclear notability from September 2012
* All articles with topics of unclear notability
* Articles with multiple maintenance issues
* Articles needing additional references from October 2018
Navigation menu
Personal tools
* Not logged in
* Talk
* Contributions
* Create account
* Log in
Namespaces
* Article
* Talk
[ ] English expanded collapsed
Views
* Read
* Edit
* View history
[ ] More expanded collapsed
Search
____________________ Search Go
Navigation
* Main page
* Contents
* Current events
* Random article
* About Wikipedia
* Contact us
* Donate
Contribute
* Help
* Learn to edit
* Community portal
* Recent changes
* Upload file
Tools
* What links here
* Related changes
* Upload file
* Special pages
* Permanent link
* Page information
* Cite this page
* Wikidata item
Print/export
* Download as PDF
* Printable version
In other projects
* Wikimedia Commons
Languages
* Espanol
* Italiano
* Russkij
Edit links
* This page was last edited on 3 February 2022, at 11:27 (UTC).
* Text is available under the Creative Commons Attribution-ShareAlike
License 3.0; additional terms may apply. By using this site, you
agree to the Terms of Use and Privacy Policy. Wikipedia(R) is a
registered trademark of the Wikimedia Foundation, Inc., a
non-profit organization.
* Privacy policy
* About Wikipedia
* Disclaimers
* Contact Wikipedia
* Mobile view
* Developers
* Statistics
* Cookie statement
* Wikimedia Foundation
* Powered by MediaWiki
---------------------------------------------------------------------------------------