SymbOS - SymbOS

SymbOS
Скриншот рабочего стола SymbOS на Amstrad CPC
Скриншот рабочего стола SymbOS на Amstrad CPC
Разработчик Симбиоз
Написано в Ассемблер ( Zilog Z80 )
Рабочее состояние Текущий
Исходная модель Бесплатное ПО
Первый выпуск 1 мая 2006 г . ; 15 лет назад ( 2006-05-01 )
Последний релиз 3.0 / 30 августа 2017 г . ; 3 года назад ( 2017-08-30 )
Доступно в английский
Платформы Amstrad CPC , MSX , Amstrad PCW , Enterprise 64/128
Тип ядра Микроядро

Пользовательский интерфейс по умолчанию
Графический пользовательский интерфейс
Официальный веб-сайт www .symbos .de

Операционная система на основе симбиоза Многозадачность ( SymbOS ) является многозадачной операционной системы для Zilog Z80 -На 8-битных компьютерных систем.

В отличие от ранних 8-битных операционных систем, он основан на микроядре , которое обеспечивает вытесняющую и ориентированную на приоритет многозадачность и управляет оперативной памятью (ОЗУ) размером до 1024  КБ . SymbOS содержит графический интерфейс пользователя (GUI), подобный Microsoft Windows , поддерживает жесткие диски емкостью до 128 ГБ и уже может быть загружен на Amstrad CPC -6128 без расширения, 128K- MSX 2 и Amstrad PCW .

По состоянию на 30 августа 2017 года он доступен для Amstrad CPC серии компьютеров, все MSX модели , начиная с MSX2 стандарта, MSX с V9990 графическим чипом, все Amstrad PCW модели, CPC-TREX, C-ONE и Enterprise 64/128 компьютеры .

Мотивация и обоснование

Изначально SymbOS начиналась как эксперимент с целью выяснить, в какой степени возможно реализовать многозадачную операционную систему с оконным графическим интерфейсом пользователя на 8-битном компьютере с 1985 года. GEOS внесла свой вклад в мотивацию, но структура и особенности SymbOS не меняют. t похож на эту систему. Выпуск 2006 года доказал, что такая система «мини-окон» возможна на домашнем компьютере 20-летней давности только с количественными ограничениями. SymbOS - один из крупнейших проектов программного обеспечения для ретро-вычислений последних лет. Одна из целей проекта - позволить использовать эти старые машины как современные ПК с использованием аппаратных расширений.

Несмотря на то, что Z80 имеет только 8-битный процессор, он может работать с многозадачной операционной системой с вытеснением . Такие функции, как защита памяти , которых нет в Z80, в такой ОС не обязательны. Например, в AmigaOS также отсутствует защита памяти. MP / M OS доказал , что многозадачность на Z80 CPU было возможно. Тем не менее, для домашних компьютеров он был недоступен.

Хотя технология MOS 6502 не может перемещать указатель стека , Z80 может свободно перемещать его в любую позицию в памяти, что упрощает реализацию вытесняющей многозадачности . Наличие альтернативного набора регистров значительно ускоряет переключение контекста между задачами. Ограничение системы Z80 адресным пространством 64 КБ может быть решено переключением банков . Таким образом, компьютеры, такие как Amstrad CPC и PCW , MSX , Enterprise или SAM Coupé, могут получить доступ к сотням или тысячам килобайт памяти.

Дизайн

SymbOS включает в себя микроядро, которое может выполнять управление задачами, памятью и межпроцессное взаимодействие .

Управление задачами

Для управления задачами была выбрана комбинация вытесняющей и кооперативной многозадачности, что делает возможными разные приоритеты задач. Вытесняющий означает, что задачи прерываются операционной системой через определенное время, чтобы разделить время ЦП с другими задачами. Кооперативно означает, что задача перестает использовать время ЦП сама по себе. Он делает это, если он завершил свою текущую работу или ожидает определенного события. Благодаря этой комбинации можно назначать приоритеты. Задачи с низким приоритетом получают процессорное время только в том случае, если все задачи с более высоким приоритетом не работают.

Управление памятью и банками

Управление памятью делит всю оперативную память на небольшие блоки по 256 байт, которые можно назначать динамически. Приложения всегда выполняются во вторичном банке RAM размером 64 КБ, где память не занята операционной системой или видеопамятью. Это позволяет зарезервировать до 63 КБ в одном блоке.

Банковское управление гарантирует, что система может управлять памятью размером до одного мегабайта, даже если процессор Z80 имеет только 16-битную адресную шину. Это делает возможным прозрачный доступ к памяти и функциям, размещенным в других банках по 64 КБ.

Межпроцессного взаимодействия

Связь между различными задачами и операционной системой обычно осуществляется не через вызовы , а через сообщения . Это необходимо в многозадачной среде, чтобы избежать организационных проблем со стеком, глобальными переменными и общими системными ресурсами. Ядро SymbOS поддерживает синхронный и асинхронный IPC.

Управление файловой системой

SymbOS поддерживает файловые системы CP / M , AMSDOS и File Allocation Table (FAT) 12-16-32 на всех платформах. С последним, SymbOS может адресовать запоминающие устройства емкостью до 128 ГБ. Кроме того, возможность администрирования файлов размером до 2 ГБ является редкостью для 8-разрядной системы. Благодаря поддержке FAT обмен данными с другими компьютерами довольно прост, поскольку большинство 32- и 64-разрядных операционных систем поддерживают три файловые системы FAT.

Интерфейс

Скриншот MSX-версии SymbOS

Графический пользовательский интерфейс (GUI) , из SymbOS работает в полностью объектно-ориентированным образом. Внешний вид имитирует Microsoft Windows . Он содержит хорошо известную панель задач с часами и меню «Пуск» и может открывать до 32 окон, которые можно перемещать, изменять размер и прокручивать. Вся система написана на оптимизированном языке ассемблера , а это означает, что графический интерфейс работает так же быстро, как поддерживает хост-машина.

Содержимое окна определяется с помощью «элементов управления», которые являются примитивными элементами графического интерфейса пользователя, такими как ползунки, флажки, текстовые строки, кнопки или графика. Фон или невидимые области окна не нужно сохранять в отдельном буфере растровых изображений. Если необходимо восстановить область на дисплее, вместо этого будет перерисовано ее содержимое. Это делает графический интерфейс SymbOS более удобным для памяти по сравнению с большинством других 8-битных графических интерфейсов.

Приложения

Для SymbOS доступно несколько стандартных приложений, которые напоминают аналогичное программное обеспечение, доступное в других операционных системах. Примеры включают Блокнот , SymCommander (аналог Norton Commander ), SymShell ( cmd.exe ), SymZilla ( Mozilla Firefox ), SymPlay ( QuickTime ), SymAmp ( Winamp ) и Minesweeper .

Команды

Следующий список команд поддерживается SymShell.

Разработка и выпуск

SymbOS изначально был разработан для Amstrad CPC. Его модульная структура со строгим разделением общих и аппаратных компонентов делает перенос на другие системы на базе Z80 сравнительно простым.

В MSX компьютеры , начиная со стандарта MSX2 были поддержаны с лета 2006 года Amstrad PCW порт доступен с августа 2007. Версии для предприятия 128 , в SAM Coupé и таких клонов ZXSpectrum как ATM-турбо 2+ и ZX-Evolution / BaseConf также возможны, поскольку они соответствуют требованиям SymbOS.

Сохраняя базовое условие для операционной системы, строго разделяя аппаратное обеспечение и прикладное программное обеспечение на промежуточном уровне, приложения SymbOS запускаются независимо от платформы на каждом компьютере и не нуждаются в адаптации для разных систем, за очевидным исключением приложений. которые напрямую обращаются к определенному оборудованию.

Смотрите также

использованная литература

внешние ссылки