stringtranslate.com

СимбОС

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

В отличие от ранних 8-битных операционных систем, SymbOS основана на микроядре , которое обеспечивает вытесняющую и приоритетно-ориентированную многозадачность и управляет оперативной памятью (ОЗУ) размером до 1024  КБ . Он имеет Windows -подобный графический интерфейс пользователя (GUI), поддерживает жесткие диски емкостью до 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. компьютеры. [1]

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

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

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

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

Дизайн

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

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

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

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

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

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

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

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

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

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

Интерфейс

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

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

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

Приложения

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

Команды

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

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

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

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

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

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

Рекомендации

  1. ^ «Факты о SymbOS». СимбоС . Архивировано из оригинала 06 сентября 2022 г. Проверено 4 декабря 2022 г.
  2. ^ "Микроядро". СимбоС . Архивировано из оригинала 07 августа 2020 г. Проверено 4 декабря 2022 г.
  3. ^ «Предварительный просмотр применения SymbOS» . КТК Рулез . Архивировано из оригинала 01 марта 2021 г. Проверено 4 декабря 2022 г.
  4. ^ "СимШелл". СимбоС . Архивировано из оригинала 7 апреля 2022 г. Проверено 4 декабря 2022 г.

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