Spectrum Progress
#01
30 сентября 1996 |
|
Инструментарий - Предлагаем познакомиться с новой операционной системой Domen OS!
1996 год - год юбилейный. Десять лет назад на экране Спектрума впервые появилась надпись * TR-DOS Ver ... * (C) 1986 Technology Research Ltd. В те времена TR-DOS была одной из нескольких систем (говорят, что далеко не лучшей), которые подняли дешёвый домашний компьютер на одну сту- пеньку ближе к универсальным машинам. У нас же в стране эта операционная система стала основ- ной. Но в последнее время все чаще слышатся мнения, что TR-DOS - умерла. И мы действительно находим множество подтверждений в виде прог- рамм, совершенно не использующих подпрограммы TR-DOS. Но, как говорят, "свято место пусто не бывает". DOS умерла. Даздравствует OS! Предлагаем познакомиться с новой операционкой! (C) Максим Ганнутин, 1996. КОНЦЕПЦИЯ ОПЕРАЦИОННОЙ СИСТЕМЫ ДОМЕН ДОМЕН ОС - это многозадачная операционная система с графическим интерфейсом стандарта SAA/CUA, а также с полной поддержкой файловых систем MS-DOS FAT и TR-DOS. ЦЕЛИ СОЗДАНИЯ СИСТЕМЫ Первоначально, задумывалась среда для разра- ботки компьютерных игр (стратегии и адвентюры). Главная задача состояла в полном удалении прик- ладного программиста от "железа". Программист должен полностью сосредоточиться на игровых ал- горитмах, а не заниматься вычерчиванием карт распределения памяти, искать место для второго прерывания, думать о портах и т.д. Такие проб- лемы актуальны для создателей action игр. Так появилась дисковая подсистема (DSS), сис- тема организации резидентов и набор графических процедур. Однако позднее захотелось большего. Дома стали появляться книжки "Windows 3.1", "MacGuide", а потом и "Windows 95". За Спектрум становилось обидно: на PC можно, а на Спектруме нельзя ?! И, через некоторое время, появился Application Program Interface, через который была реализована кооперативная многозадачность. Появилась идеология объектно-ориентированного программирования, а из графических процедур вы- росла библиотека графических объектов (OGL). В итоге появилась полноценная операционная система, с технологиями, ранее не реализованны- ми на Z80. Ну и, наконец, сформулирую цели: 1. Удобство пользователя 2. Удобство программиста 3. Перенос передовых технологий на Спектрум МНОГОЗАДАЧНОСТЬ В ДОМЕН ОС Как я уже говорил, она (многозадачность) ко- оперативная. Это значит, что одновременно в компьютер могут быть загружены и выполняться несколько программ, но к этим программам предъ- являются некоторые условия, полное выполнение которых гарантирует безконфликтное сосущество- вание в одной памяти, на одном экране и на од- ном обработчике прерываний, нескольких прог- рамм. Это не MagOS, которая по определению не может гарантировать стабильности. В настоящее время почти каждая прикладная программа содержит кучу разных компонентов: символьный драйвер экрана, оконная система, файлер, драйвер мышки и т.д. И на всё это раз- работчик тратит время и силы. Если послушать некоторых программистов, то, чаще всего, слышен трёп именно про вышеуказанные компоненты, а не про смысл программы. В мире PC уже давно поня- ли, что надо делать главное, а хороши окошки у "виндов" или плохи - проблема Майкрософта. Многозадачность позволяет не обременять при- ложения многочисленными функциями, прямо не связанными с основной задачей. Захотелось рас- печатать текст из текстового редактора - прило- жение пошлет сообщение приложению "Принтер", тот и распечатает; захотелось получить копию каталога диска на бумаге - теперь уже "Файлер" пошлет сообщение "Принтеру". Таким образом, каждое приложение занимается своим, и только своим делом, а клипбоард обеспечивает возмож- ность свободного обмена информацией между при- ложениями. Кстати, о файлере. В системе существует сер- вер drag&drop, поэтому работа в файлере выгля- дит следующим образом. Пользователь открывает приложение "Файлер", находит нужный файл, кли- кает его, стрелка меняется на иконку данного файла; затем пользователь переключается на при- ложение, в котором ему надо загрузить файл; и, наконец, жмёт среднюю клавишу мыши ( или - En- ter). После чего пошла загрузка. Слов много, но на деле это всего несколько движений мышки. ДИСКОВАЯ ПОДСИСТЕМА (DISK SUB SYSTEM) В начале, ДОМЕН ОС была ориентирована только на FAT. Но бесконечные конвертации с TR-DOS на MS-DOS надоели. Я ввел прозрачную поддержку TR-DOS. То есть, ни пользователь, ни програм- мист, ни приложение не видят разницы между дис- ками разных форматов. Вся информация о файлах передаётся в формате MS-DOS. ПРОГРАММИРОВАНИЕ Взаимодействие приложений и ОС кардинально отличается от привычной модели: "крути цикл, вызывая функцию ОС, выйди из цикла, когда что- то произойдёт". В ДОМЕН сама система "крутит цикл", опрашивая внешние устройства, и если, например, нажата клавиша, вызовет активное при- ложение, как свою подпрограмму. Такая организа- ция вполне возможна, ведь до 90% машинного времени тратится на ожидание действия пользова- теля. В большенстве случев, на активизацию, приложения тратится несравнимо меньше времени. Таким образом, система может, даже между нажа- тиями на клавиши, тратить такты на свои нужды. Главный "девиз" программирования под ДОМЕН ОС: "Быстренько сделал дело и RET". Система предлагает революционную технологию программирования интерфейса пользователя. Вам достаточно объявить объект ( вывести на экран его изображение и сообщить системе, что в дан- ных координатах находится такой-то объект), и можно забыть о нем. Когда пользователь попыта- ется что-нибудь сделать с объектом, система со- общит об этом приложению. Большое количество различных сообщений позволяет организовывать интерфейсы любой сложности в предельно короткие сроки. Я гарантирую, что все возможности API Windows легко реализуются в ДОМЕН ОС. Всё, что я написал выше действительно правда, однако, когда количество экранных объектов переваливает за третий десяток, появляются проблемы, связанные с нагромож- дением кодов, понимание которых крайне за- труднительно. Поэтому появилась идеология объектно-ориентированного программирования. Она постулирует не только чисто формальные правила структуры программы и её оформления (что-то аналогично венгерскому соглашению по Си), но и даёт возможность реально упростить разработку интерфейса. Ещё деталь: код очень легко изменять. ПЛАНЫ НА БЛИЖАЙШЕЕ БУДУЩЕЕ В данное время три группы ведут работу по созданию программного обеспечения под ДОМЕН ОС: 1. Графического редактора "PaintBrush". 2. Текстового редактора. 3. Игры "Экспансия". ──══── От редакции SP. В следующем номере журнала рассказ о ДОМЕН ОС будет продолжен. Вы узнаете подробности о воз- можностях системы и познакомитесь с архитекту- рой системных приложений. А сейчас - краткий глоссарий к статье. СПИСОК ТЕРМИНОВ SAA (Systems Application Archetecture) - архи- тектура системных приложений. Приложение - программа, написанная для ОС (на- пример, написанная под TR-DOS программа является TR-DOS приложением). CUA (Common User Access) - единый доступ поль- зователя. MS-DOS FAT - формат хранения данных о файле, принятый в MS-DOS. MagOS - микрооперационная система, позволяющая хранить в памяти Скорпиона несколько прог- рамм и обеспечивающая возможность переклю- чаться между ними. Клипбоард (clipboard) - системная область па- мяти для обмена данными между приложениями. Файлер - специальное приложение для работы с файлами, некоторое подобие boot'а. Drag&Drop (перетащить и бросить)- принцип, ис- пользуемый для наглядности передачи данных. Кликнуть - навести курсор на объект, нажать и отпустить клавишу мыши.
Другие статьи номера:
Похожие статьи:
В этот день... 21 ноября