|
Scream
#02
29 января 2002 |
|
Миска - ОС будущего для SPECCY.

|ОС будущего для SPECCY
|3M^MSD
В данной статье я постараюсь осветить один наш незавершенный
проект операционной системы. Не оболочки, а именно полноценной
системы, которая, на мой взгляд, должна дать мощный толчок к
дальнейшему развитию SPECTRUM совместимых систем.
Почему данный проект незавершен?
Да потому, что данный проект требует самой глубокой
проработки, необходимо учесть все факторы дальнейшего развития
нашей платформы, и мы просто не имеем права на необдуманное,
быстрое создание еще одной убогой системы, которые с каждым го-
дом приближают смерть SPECCY.
На сегодняшний день создан большой парк SPECTRUM совместимых
машин, и каждая тачка в своем стремлении к совершенству остав-
ляет после себя горы новых стандартов, а современные требования
к софту достаточно высоки и не всем по зубам. Одним из узких
мест платформы является память. Здесь стандартов просто немеря-
но. Мучаешься, значит, собираешь какой-нибудь прибамбас (типа-
расширения памяти через KEMPSTON порт), по схеме из солидного
эл.журнала, рискуя тачкой впаиваешь все это дело на плату и даже
по-детски радуешься, что все все это заработало, а софта под это
нет и не ожидается. Можно конечно написать драйвер эл.диска под
IS-DOS и тащиться от скорости работы с PICASSO или набирать
текст, но основная часть ПО пишется все-таки не под IS-DOS.
Второе узкое место системы, это возрастющие потребности в
более емких источниках хранения информации (диски на 1.2 и
1.44MB, HDD, и даже CD-ROM). Маленький SPECCY превращается в
монстра, который при смешной по нынешним меркам тактовой
частотой изощренными алгоритмами научился обрабатывать огромные
потоки информации, замахнулись даже на аналог JPEG для
DMA-SOUND. Здесь TR-DOS проигрывает по всем параметрам, SMUC и
IS-DOS - всего лишь временное решение проблемы.
Третье - устройства ввода. Стандартов тоже немало, начиная
от светового пера, множества MOUSE'ов и KEMPSTON'ов, CMOS'ов,
PC-KEYBOARD'ов, заканчивая всеми видами модемов, сканеров и т.д.
Четвертое - устройства вывода. Способов подключения принте-
ров, плоттеров тоже не мало, а в будущем будет наблюдаться
тенденция подключения подешевевших многоигольчатых матричных и
струйных принтеров а также увеличение разрешения экрана с целью
создания полноценного текстового режима.
Все перечисленное сильно рискует остаться кучей самопального
барахла без универсальной операционной системы, целью которой
будет объединение всего этого в одно целое, и откроет реальные
перспективы для создания более упрощенного, в схематическом
плане, но более мощного ПК с возможностью дальнейшего
неограниченного расширения с незамедлительной поддержкой ПО.
ЧТО МЫ ПРЕДЛАГАЕМ
Внимание!
Все ниже сказанное не претендует на роль стандарта и требует
существенных проработок. Ждем критики и предложений.
Система представляет собой набор свободно заменяемых блоков,
связанных между собой через специальную область памяти -
керналь. Основные блоки, такие как: управления, отображения,
управления ресурсами памяти, печати, внешнего вида системы,
работы с внешними накопителями и т.д., список которых, а также
полное описание всех систем ПК хранится в специально отведенном
месте. Положение блоков и областей памяти не фиксированно и их
адреса, вызов, чтение, должно осуществляться через систему
рестартов (допустим RST 16). Так как блоки свободно заменяются и
дополняются, то без ущерба для совместимости можно подключать
самые специфические устройства. За основу внешнего вида системы
можно выбрать WINDOWS как наиболее универсальную с возможностью
расширения, но и это не стандарт, так как при простой замене
блока внешнего вида можно получить систему на любой вкус.
Важнейшей особенностью программ под данную ОС должна являтся
отказ от самостоятельного обращения как к памяти, так и к
внешним устройствам. Именно ОБЯЗАТЕЛЬНОЕ соблюдение этого
единственного стандарта системы обеспечит поддержку всего
множества устройств как "прошлых" так и "будущих". Работа с
внешними устройствами хранения информации ограничивается
простыми командами обращения к рестарту: читать файл, продолжить
чтение, записать файл, продолжить запись и т.д., а все параметры
обращения к ним должны полностью исключить введение стандарта на
размер сектора диска, все операции по поиску файла (FAT таблицы
или TR-DOS формат) и работа с ним берет на себя рестарт. Что это
дает: использование различных форматов хранения информации, а
также поддержку всех уже имеющихся. Запускаемые программы
освобождаются от определения параметров системы и выбора
управления, так как эти данные берутся из блока управления
который отображает текущие координаты манипулятора (мышь,
клавиатура и т.д. в зависимости от блока и его настройки), а
если необходимо использование дополнительных клавиш, то это мож-
но решить обращением к специальному блоку расширения ввода при
отсутствии которого (случайно или намеренно) прога обязана
цивилизованно вывести сообшение используя те же рестарты. Если
прога только и делает что выводит какие либо сообщения, то не
надо самостоятельно юзать экран, а лучше воспользоватся
специально созданным для этого блоком, который позволит не толь-
ко вывести ваш текст, но и соответсвенно его оформить. Запущен-
ная программа может все через те же рестарты передать таблицу
внешнего оформления программы (WINDOWS окно) и соответствующий
блок возмет на себя большинство функций интерфейса. Все это
позволит запускать данные программы, например, с другим разреше-
нием экрана при соответствующей поддержке блоков оформления.
Теперь о прерываниях. На них повешены некоторые резиденты:
опрос и печать стрелки манипулятора, счетчик запуска резидентов
(нет смысла запускать некоторые резиденты каждые 1/50 секунды,
резидент при запуске, в меню настроек, может позволять
устанавливать частоту запуска) и т.д. которые можно отключать
без удаления и с удалением из памяти.
Пример 1: запущенная прога требует все прерывание (DEMO...),
читает список установленных резидентов если там что-то есть
выводит сообщение типа - у вас висят такие-то резиденты так как
требуется максимальная скорость компа то "ВЫХОД", "ПРОДОЛЖЕНИЕ".
При выходе можете удалить часть из них или все и снова
запустить, либо продолжить с резидентами.
Пример 2: прога не хочет печатать вашу стрелку, читает
список установленных резидентов и предлагает закрыть один из них
(печать стрелки).
ЗАГРУЗКА ПРОГРАММЫ
Загрузка должна представлять собой начальную загрузку блока
кода определенной длины в котором будут отражатся параметры как
самой программы, так и небходимая конфигурация ОС после запуска,
после чего система должна принять соответствующие решения о
способе своего сохранения (спец.блок - либо на винт, либо в
определенный участок памяти, оставляя легкодоступными используе-
мые блоки) и вывести соответствующее сообщение, если система не-
удовлетворяет параметрам запускаемого файла + описатель дальней-
шей загрузки файла: длины, адреса, адреса запуска и т.д. Здесь
вопрос толком еще не решен и требует серьезной проработки.
А как же с существующим ПО ?
Вопрос может быть решен 2 способами:
01. Адаптация программ под новый стандарт как это уже было при
переходе с ленты на диск, благо большинство программ не
требуют серъезной переработки.
02. Для таких программ есть возможность работы системы по
принципу BOOT'а, с ее сохранением на диске (HDD) либо в
удаленном участке памяти.
Главное достоинство данной ОС является ее гибкость. Например
после соответсвующей настройки системы, можно выкинуть
клавиатуру (с условием автозапуска), а всю систему управления
привязать к мыши или еще чему-либо. Иметь несколько форматов
представления информации на диске одновременно (выбирая
соответствующюю пиктограмму). Навешать дополнительную память и
любые другие устройства на любые порты. Отказ от ПЗУ и многое
другое.
Стараясь осветить популярным языком этот проект многое из
него осталось за кадром: структура, количество и связь блоков,
формат распределение памяти и т.д. Если кого либо заинтерисовал
проект ОС для SPECCY наша группа будет рада поделиться своей
информацией и выслушать ваше мнение.
kristoph: связь с групой можно осуществлять че-
рез triumph_hq@mail.ru:::::::::::::::::::::::::
Другие статьи номера:
Похожие статьи:
В этот день... 15 ноября