en.wikipedia.org, 2022-03-23 | Main page
---------------------------------------------------------------------------------------
Saved from web.archive.org, with Lynx.
---------------------------------------------------------------------------------------
   #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
---------------------------------------------------------------------------------------
Saved from web.archive.org, with Lynx.
 
Main page
 
© 2022 Matei. No cookies®