SYmbiosis Multitasking Based Operating System ( SymbOS ) es un sistema operativo multitarea para sistemas informáticos de 8 bits basados en Zilog Z80 .
A diferencia de los primeros sistemas operativos de 8 bits, SymbOS se basa en un microkernel que proporciona multitarea con prioridad y gestión de memoria de acceso aleatorio (RAM) de hasta 1024 KB . Tiene una interfaz gráfica de usuario (GUI) similar a la de Windows , admite discos duros de hasta 128 GB y ya puede arrancar en un Amstrad CPC- 6128 sin expansión, un 128K- MSX 2 y un Amstrad PCW .
A partir del 31 de enero de 2025, está disponible para los modelos Amstrad CPC , Amstrad PCW , la serie de computadoras Amstrad NC , Enterprise 64/128 , el ZX Spectrum Next , todos los modelos MSX a partir del estándar MSX2 , MSX con chip gráfico V9990, CPC-TREX, C-ONE y como máquina virtual para ejecutarse en hardware moderno. [ 1 ]
Motivación y fundamentos
SymbOS se inició originalmente como un experimento para determinar hasta qué punto era posible implementar un sistema operativo multitarea con una interfaz gráfica de usuario (GUI) en ventanas en un ordenador de 8 bits de 1985. GEOS contribuyó a la motivación, pero la estructura y las características de SymbOS no son similares a las de ese sistema. El lanzamiento en 2006 demostró que un sistema de "mini ventanas" de este tipo era posible en un ordenador doméstico de entonces 20 años, con solo limitaciones cuantitativas. SymbOS es uno de los proyectos de software de informática retro más grandes de los últimos años. Uno de los objetivos del proyecto es permitir que estas máquinas antiguas se utilicen como un PC moderno, mediante extensiones de hardware. [ 2 ]
Aunque solo cuenta con una CPU de 8 bits, el Z80 puede ejecutar un sistema operativo multitarea con prioridad . Funciones como la protección de memoria , de la que carece el Z80, no son esenciales en este tipo de sistema operativo. Por ejemplo, AmigaOS tampoco cuenta con protección de memoria. El sistema operativo MP/M demostró que la multitarea en la CPU Z80 era posible. Sin embargo, en general, no estaba disponible para ordenadores domésticos.
Si bien el MOS Technology 6502 no puede mover el puntero de pila , el Z80 puede reubicarlo libremente en cualquier posición de la memoria, lo que facilita la implementación de la multitarea preventiva . La existencia de un conjunto de registros alternativo acelera drásticamente el cambio de contexto entre tareas.
La limitación del sistema Z80 a un espacio de direcciones de 64 KB se puede solucionar con la conmutación de bancos de memoria . De esta forma, ordenadores como el Amstrad CPC y PCW , MSX , Enterprise o SAM Coupé pueden acceder a cientos o miles de kilobytes de memoria.
Diseño
SymbOS incluye un microkernel que puede realizar la gestión de tareas, la gestión de memoria y la comunicación entre procesos . [ 3 ]
Gestión de tareas
Para la gestión de tareas, se optó por una combinación de multitarea preventiva y cooperativa, lo que permite establecer diferentes prioridades. La multitarea preventiva interrumpe las tareas tras un cierto tiempo de espera para que el sistema operativo comparta el tiempo de CPU con otras tareas. La multitarea cooperativa, por su parte, deja de usar el tiempo de CPU automáticamente al finalizar su tarea actual o al esperar un evento específico. Gracias a esta combinación, es posible asignar prioridades. Las tareas de baja prioridad solo obtienen tiempo de CPU si las tareas de mayor prioridad no están en ejecución.
Gestión de memoria y bancaria
La gestión de memoria divide toda la RAM en pequeños bloques de 256 bytes, que se pueden asignar dinámicamente. Las aplicaciones siempre se ejecutan en un banco de RAM secundario de 64 KB, donde el sistema operativo y la memoria de vídeo no ocupan espacio. Esto permite reservar hasta 63 KB de memoria de una sola vez.
La gestión bancaria garantiza que el sistema pueda administrar memoria de hasta un megabyte, aunque la CPU Z80 solo tenga un bus de direcciones de 16 bits . Esto permite un acceso transparente a la memoria y a las funciones ubicadas en otros bancos de 64 KB.
comunicación entre procesos
La comunicación entre las distintas tareas y el sistema operativo no suele realizarse mediante llamadas , sino mediante mensajes . Esto es necesario en un entorno multitarea para evitar problemas de organización con la pila, las variables globales y los recursos compartidos del sistema. El núcleo de SymbOS admite comunicación entre procesos (IPC) síncrona y asíncrona.
Gestión del sistema de archivos
SymbOS es compatible con los sistemas de archivos CP/M , AMSDOS y FAT ( Tabla de Asignación de Archivos ) 12-16-32 en todas las plataformas. Para este último, SymbOS puede gestionar dispositivos de almacenamiento masivo con una capacidad de hasta 128 GB. Además, la capacidad de administrar archivos de hasta 2 GB es poco común en un sistema de 8 bits. La compatibilidad con FAT facilita el intercambio de datos con otros ordenadores, ya que la mayoría de los sistemas operativos de 32 y 64 bits son compatibles con los tres sistemas de archivos FAT.
Interfaz

La interfaz gráfica de usuario (GUI) de SymbOS funciona de forma totalmente orientada a objetos . Su aspecto es similar al de Microsoft Windows . Incluye la conocida barra de tareas con reloj y el menú "Inicio", y puede abrir hasta 32 ventanas que se pueden mover, redimensionar y desplazar. Todo el sistema está escrito en lenguaje ensamblador optimizado , lo que significa que la GUI se ejecuta a la máxima velocidad que permita el equipo anfitrión.
El contenido de una ventana se define mediante "controles", que son elementos primitivos de la interfaz gráfica de usuario (GUI), como deslizadores, casillas de verificación, líneas de texto, botones o gráficos. El fondo o las áreas invisibles de una ventana no necesitan guardarse en un búfer de mapa de bits independiente. Si un área necesita restaurarse en la pantalla, su contenido se redibujará.
Aplicaciones
Existen varias aplicaciones estándar disponibles para SymbOS, diseñadas para asemejarse a software similar disponible en otros sistemas operativos. Algunos ejemplos son el Bloc de notas , SymCommander (similar a Norton Commander ), SymShell ( cmd.exe ), SymZilla ( Mozilla Firefox ), SymPlay ( QuickTime ), SymAmp ( Winamp ) y Buscaminas . [ 4 ]
Las aplicaciones se pueden escribir para SymbOS en ensamblador Z80 o Ansi C (usando un compilador nativo) y pueden recibir asistencia con el IDE de desarrollo Quigs [ 5 ].
Comandos
SymShell admite la siguiente lista de comandos . [ 6 ]
Desarrollo y lanzamiento
SymbOS se desarrolló originalmente para el Amstrad CPC. Su estructura modular, con una estricta separación entre los componentes generales y los de hardware, permite su adaptación a otros sistemas basados en el Z80 con suficiente memoria.
La versión 1.0 (mayo de 2006) fue la versión inicial y era compatible con el Amstrad CPC.
La versión 1.1 (diciembre de 2006) añadió compatibilidad con los ordenadores MSX2 .
La versión 2.0 (agosto de 2007) añadió una versión compatible con el Amstrad PCW .
La versión 2.1 (agosto de 2014) incluyó compatibilidad con ordenadores MSX adicionales .
La versión 3.0 (agosto de 2017) añadió compatibilidad con Enterprise 64/128 .
La versión 3.1 (diciembre de 2021) añadió compatibilidad de hardware adicional para las plataformas de vídeo y almacenamiento masivo.
La versión 4.0 (enero de 2025) incluyó la incorporación de la serie Amstrad NC , el ZX Spectrum Next y la edición Virtual Machine.
También son posibles las versiones para el SAM Coupé y otros clones del ZX Spectrum como el ATM-turbo 2+ y el ZX-Evolution/BaseConf , ya que cumplen los requisitos de SymbOS.
Al mantener una condición básica para un sistema operativo, la estricta separación del hardware y el software de aplicación mediante una capa intermedia, las aplicaciones de SymbOS se ejecutan de forma independiente de la plataforma en cada ordenador y no necesitan adaptarse a diferentes sistemas, con la obvia excepción de las aplicaciones que acceden directamente a un hardware específico.
Véase también
Referencias
- ↑ "Plataformas SymbOS" . SymbOS . Consultado el 19 de febrero de 2025 .
- ↑ symbos.de http://symbos.de/facts.htm . Consultado el 19 de febrero de 2025 .
{{cite web}}: Falta o está vacío|title=( ayuda ) - ↑ "Micro-Kernel" . SymbOS . Archivado del original el 7 de agosto de 2020. Consultado el 4 de diciembre de 2022 .
- ↑ "SymbOS Apply Preview" . CPC Rulez . Archivado del original el 1 de marzo de 2021. Consultado el 4 de diciembre de 2022 .
- ↑ symbos.de http://symbos.de/quigs.htm . Consultado el 19 de febrero de 2025 .
{{cite web}}: Falta o está vacío|title=( ayuda ) - ↑ "SymShell" . SymbOS . Archivado del original el 7 de abril de 2022. Consultado el 4 de diciembre de 2022 .
Enlaces externos
- Amstrad CPC
- MSX
- Sistemas operativos para aficionados