SymbOS

Поделись знанием:
Перейти к: навигация, поиск
SymbOS
Разработчик

SymbiosiS

Последняя версия

2.0 (30 августа 2007)

Тип ядра

микроядро

Состояние

поддерживается разработчиком

SymbOS — свободно распространяемая многозадачная операционная система для 8-разрядных бытовых компьютеров на основе микропроцессора Z80. В настоящее время существуют версии системы для компьютеров семейств Amstrad CPC, Amstrad PCW и компьютеров стандарта MSX2. Система может работать на оригинальных, не модифицированных моделях этих компьютеров. В отличие от ранних 8-разрядных операционных систем, она основна на микроядре, которое реализует вытесняющую многозадачность и работу с оперативной памятью объёмом до 1024 КБ. SymbOS имеет Windows-подобный графический интерфейс пользователя, имеет поддержку жёстких дисков объёмом до 128 Гб.





Общая информация

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

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

Ядро

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


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

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

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

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

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

Система сообщений

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

Графический пользовательский интерфейс

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

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

Файловая система

SymbOS поддерживает файловые системы CP/M, AMSDOS, FAT12, FAT16 и FAT32, для всех платформ. В случае с FAT32, система может адресовать устройства хранения данных объёмом до 128 Гб. При этом существует возможность работы с файлами размером до 2 Гб, необычная для 8-разрядных систем. Благодаря поддержке FAT, обмен данными с другими компьютерами реализуется очень просто, так как большинство 32 и 64-разрядных операционных систем поддерживают все три перечисленные файловые системы FAT.

Приложения

Для системы SymbOS существует несколько стандартных приложений, в основном напоминающих их известные аналоги в Windows и MacOS. Например, SymCommander (Norton Commander), SymPlay (QuickTime), SymAmp (Winamp), или игра Minesweeper.

Портирование и кросс-платформенные возможности

Изначально SymbOS была разработана для Amstrad CPC. Но благодаря модульной организации, с чётким разделением между основными и платформо-зависимыми компонентами, перенос системы на другие компьютеры на основе Z80 может быть выполнен очень легко.

Поддержка компьютеров стандарта MSX (начиная с MSX2) была добавлена летом 2006. Также возможно создание версий для компьютеров Enterprise 128, Amstrad PCW и SAM Coupe, а также таких клонов ZX-Spectrum как ATM-turbo 2+ и ZX-Evolution, так как их возможности удовлетворяют требованиям SymbOS.

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

Мотивация

Разработка SymbOS изначально была экспериментом, имеющим целью выяснение возможности реализации многозадачной операционной системы с графическим пользовательским интерфейсом на 8-разрядном компьютере 1985-го года выпуска. Существование операционной системы GEOS также оказало влияние, однако структура и возможности SymbOS не имеют сходства с этой системой. Релиз 2006 года показал, что подобная система, «Windows в миниатюре», может существовать на бытовом компьютере 20-летней давности только лишь с количественными ограничениями. SymbOS является одним из самых больших программных ретрокомпьютерных проектов последних лет. Одной из целью проекта являлось обеспечение (в том числе, с помощью различных аппаратных расширений) возможности организации процесса работы с системой, аналогичного современным PC.

См. также

Напишите отзыв о статье "SymbOS"

Ссылки

  • [www.symbos.de SymbOS — the multitasking operating system for Amstrad CPC and MSX] — официальная страница SymbOS
  • [groups.yahoo.com/group/symbos8bit/ SymbOS mailing list]
  • [www.cpcwiki.eu/index.php/SymbOS Page at the CPCWiki]

Отрывок, характеризующий SymbOS

– Mon cher, mon cher, как же ты судишь? Да ведь у Софи ничего нет, а ты сам говорил, что дела твоего папа очень плохи. А твоя maman? Это убьет ее, раз. Потом Софи, ежели она девушка с сердцем, какая жизнь для нее будет? Мать в отчаянии, дела расстроены… Нет, mon cher, ты и Софи должны понять это.
Николай молчал. Ему приятно было слышать эти выводы.
– Все таки, ma tante, этого не может быть, – со вздохом сказал он, помолчав немного. – Да пойдет ли еще за меня княжна? и опять, она теперь в трауре. Разве можно об этом думать?
– Да разве ты думаешь, что я тебя сейчас и женю. Il y a maniere et maniere, [На все есть манера.] – сказала губернаторша.
– Какая вы сваха, ma tante… – сказал Nicolas, целуя ее пухлую ручку.


Приехав в Москву после своей встречи с Ростовым, княжна Марья нашла там своего племянника с гувернером и письмо от князя Андрея, который предписывал им их маршрут в Воронеж, к тетушке Мальвинцевой. Заботы о переезде, беспокойство о брате, устройство жизни в новом доме, новые лица, воспитание племянника – все это заглушило в душе княжны Марьи то чувство как будто искушения, которое мучило ее во время болезни и после кончины ее отца и в особенности после встречи с Ростовым. Она была печальна. Впечатление потери отца, соединявшееся в ее душе с погибелью России, теперь, после месяца, прошедшего с тех пор в условиях покойной жизни, все сильнее и сильнее чувствовалось ей. Она была тревожна: мысль об опасностях, которым подвергался ее брат – единственный близкий человек, оставшийся у нее, мучила ее беспрестанно. Она была озабочена воспитанием племянника, для которого она чувствовала себя постоянно неспособной; но в глубине души ее было согласие с самой собою, вытекавшее из сознания того, что она задавила в себе поднявшиеся было, связанные с появлением Ростова, личные мечтания и надежды.
Когда на другой день после своего вечера губернаторша приехала к Мальвинцевой и, переговорив с теткой о своих планах (сделав оговорку о том, что, хотя при теперешних обстоятельствах нельзя и думать о формальном сватовстве, все таки можно свести молодых людей, дать им узнать друг друга), и когда, получив одобрение тетки, губернаторша при княжне Марье заговорила о Ростове, хваля его и рассказывая, как он покраснел при упоминании о княжне, – княжна Марья испытала не радостное, но болезненное чувство: внутреннее согласие ее не существовало более, и опять поднялись желания, сомнения, упреки и надежды.
В те два дня, которые прошли со времени этого известия и до посещения Ростова, княжна Марья не переставая думала о том, как ей должно держать себя в отношении Ростова. То она решала, что она не выйдет в гостиную, когда он приедет к тетке, что ей, в ее глубоком трауре, неприлично принимать гостей; то она думала, что это будет грубо после того, что он сделал для нее; то ей приходило в голову, что ее тетка и губернаторша имеют какие то виды на нее и Ростова (их взгляды и слова иногда, казалось, подтверждали это предположение); то она говорила себе, что только она с своей порочностью могла думать это про них: не могли они не помнить, что в ее положении, когда еще она не сняла плерезы, такое сватовство было бы оскорбительно и ей, и памяти ее отца. Предполагая, что она выйдет к нему, княжна Марья придумывала те слова, которые он скажет ей и которые она скажет ему; и то слова эти казались ей незаслуженно холодными, то имеющими слишком большое значение. Больше же всего она при свидании с ним боялась за смущение, которое, она чувствовала, должно было овладеть ею и выдать ее, как скоро она его увидит.
Но когда, в воскресенье после обедни, лакей доложил в гостиной, что приехал граф Ростов, княжна не выказала смущения; только легкий румянец выступил ей на щеки, и глаза осветились новым, лучистым светом.
– Вы его видели, тетушка? – сказала княжна Марья спокойным голосом, сама не зная, как это она могла быть так наружно спокойна и естественна.
Когда Ростов вошел в комнату, княжна опустила на мгновенье голову, как бы предоставляя время гостю поздороваться с теткой, и потом, в самое то время, как Николай обратился к ней, она подняла голову и блестящими глазами встретила его взгляд. Полным достоинства и грации движением она с радостной улыбкой приподнялась, протянула ему свою тонкую, нежную руку и заговорила голосом, в котором в первый раз звучали новые, женские грудные звуки. M lle Bourienne, бывшая в гостиной, с недоумевающим удивлением смотрела на княжну Марью. Самая искусная кокетка, она сама не могла бы лучше маневрировать при встрече с человеком, которому надо было понравиться.
«Или ей черное так к лицу, или действительно она так похорошела, и я не заметила. И главное – этот такт и грация!» – думала m lle Bourienne.
Ежели бы княжна Марья в состоянии была думать в эту минуту, она еще более, чем m lle Bourienne, удивилась бы перемене, происшедшей в ней. С той минуты как она увидала это милое, любимое лицо, какая то новая сила жизни овладела ею и заставляла ее, помимо ее воли, говорить и действовать. Лицо ее, с того времени как вошел Ростов, вдруг преобразилось. Как вдруг с неожиданной поражающей красотой выступает на стенках расписного и резного фонаря та сложная искусная художественная работа, казавшаяся прежде грубою, темною и бессмысленною, когда зажигается свет внутри: так вдруг преобразилось лицо княжны Марьи. В первый раз вся та чистая духовная внутренняя работа, которою она жила до сих пор, выступила наружу. Вся ее внутренняя, недовольная собой работа, ее страдания, стремление к добру, покорность, любовь, самопожертвование – все это светилось теперь в этих лучистых глазах, в тонкой улыбке, в каждой черте ее нежного лица.
Ростов увидал все это так же ясно, как будто он знал всю ее жизнь. Он чувствовал, что существо, бывшее перед ним, было совсем другое, лучшее, чем все те, которые он встречал до сих пор, и лучшее, главное, чем он сам.
Разговор был самый простой и незначительный. Они говорили о войне, невольно, как и все, преувеличивая свою печаль об этом событии, говорили о последней встрече, причем Николай старался отклонять разговор на другой предмет, говорили о доброй губернаторше, о родных Николая и княжны Марьи.
Княжна Марья не говорила о брате, отвлекая разговор на другой предмет, как только тетка ее заговаривала об Андрее. Видно было, что о несчастиях России она могла говорить притворно, но брат ее был предмет, слишком близкий ее сердцу, и она не хотела и не могла слегка говорить о нем. Николай заметил это, как он вообще с несвойственной ему проницательной наблюдательностью замечал все оттенки характера княжны Марьи, которые все только подтверждали его убеждение, что она была совсем особенное и необыкновенное существо. Николай, точно так же, как и княжна Марья, краснел и смущался, когда ему говорили про княжну и даже когда он думал о ней, но в ее присутствии чувствовал себя совершенно свободным и говорил совсем не то, что он приготавливал, а то, что мгновенно и всегда кстати приходило ему в голову.
Во время короткого визита Николая, как и всегда, где есть дети, в минуту молчания Николай прибег к маленькому сыну князя Андрея, лаская его и спрашивая, хочет ли он быть гусаром? Он взял на руки мальчика, весело стал вертеть его и оглянулся на княжну Марью. Умиленный, счастливый и робкий взгляд следил за любимым ею мальчиком на руках любимого человека. Николай заметил и этот взгляд и, как бы поняв его значение, покраснел от удовольствия и добродушно весело стал целовать мальчика.
Княжна Марья не выезжала по случаю траура, а Николай не считал приличным бывать у них; но губернаторша все таки продолжала свое дело сватовства и, передав Николаю то лестное, что сказала про него княжна Марья, и обратно, настаивала на том, чтобы Ростов объяснился с княжной Марьей. Для этого объяснения она устроила свиданье между молодыми людьми у архиерея перед обедней.