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:::::::::::::::::::::::::
Другие статьи номера:
Похожие статьи:
В этот день... 9 октября