|
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 (перетащить и бросить)- принцип, ис-
пользуемый для наглядности передачи данных.
Кликнуть - навести курсор на объект, нажать и
отпустить клавишу мыши.
Другие статьи номера:
Похожие статьи:
В этот день... 13 ноября