Код:
Операционная система "АСПЕКТ"
(C) A.S.P. Jes 1993
Гречишкин Александр, Коломейцев Артём, Сапронов Максим, Мейнгардт Павел
Общие положения
Операционная система "АСПЕКТ" предназначена для управления персональным
компьютером ПК-11/16 при выполнении различных задач и для организации
взаимодействия человека и компьютера. Система осуществляет управление всеми
внутренними структурами компьютера, а также ресурсами, заложенными в данную
систему. Основная концепция системы - концепция дружественного графического
интерфейса с пользователем, т.е. обеспечение наиболее удобного и простого
общения с программами и компьютером.
Система "АСПЕКТ" построена с учетом передовых подходов к
программированию, взаимодействия человека и машины, а также технологий
проектирования программ. В основу для построения и проектирования данной
системы легли: операционная система фирмы APPLE для компьютера "Macintosh" и
OC NeXTStep фирмы NeXТ для компьютера NeXT. Естественно, что система
"АСПЕКТ" не является полным аналогом ни одной из этих систем. В системе
"АСПЕКТ" заложены основные принципы и концепции, использованные в системах
NeXTStep и Macintosh, что позволило сконструировать ядро, или даже корневую
систему мощной, и самое главное, легко и быстро развивающейся структуры.
Первая версия, как и все первые версии (где бы они не были написаны) не
обладает всей полнотой и объёмностью, но, как уже отмечалось выше, она будет
быстро развиваться.
Операционная система "АСПЕКТ", в отличии от других систем, помимо
управления внутренними структурами компьютера (работа с файлами, принтером и
т.д.), осуществляет управление программными ресурсами, присущими только этой
системе (работа с окнами, меню, кнопками и т.д.). Кроме того, в систему
включены основные конструкции пользовательского интерфейса, что позволяет
сократить как время, необходимое для написания программы, так и е размер.
Основным принципом системы является то, что программист должен
заниматься разработкой алгоритма, а интерфейс программировать с помощью
системы. Другими словами, от программиста требуются расчты и выводы, а об
интерфейсе позаботится система. В системе имеется базовый набор средств, с
помощью которых программист легко, как из "кубиков", может собрать нужный
ему интерфейс взаимодействия программы с пользователем.
Основные функции системы:
- полная многозадачность;
- дружественный графический интерфейс;
- поддержка многоцветной графики;
- работа с различными шрифтами и размерами в одном документе;
- система WYSIWYG - точное соответствие документа на экране и
принтере;
- стандартное использование всех программ;
- объектно-ориентированная структура программ;
- использование новейших технологий проектирования программмных
средств.
Общая структура системы
Система "АСПЕКТ" построена по принципу многоуровневой модульной
организациис функциональной соподчиненностью модулей различных уровней.
В состав системы входят следующие модули:
- многозадачный монитор;
- файловая система;
- дружественный графический интерфейс;
- диспетчер ресурсов.
Каждый модуль системы является независимой программой, которая может
легко заменяться другой, по мере изменения версии системы. Таким образом,
каждый пользователь имеет возможность подбирать нужную конфигурацию системы.
По сути дела система располагает тремя глобальными модулями:
Многозадачный монитор
Многозадачный монитор является основанием операционной системы "АСПЕКТ",
выполняющим основные координирующие действия, контроль за ходом выполнения
задач и всеми изменениями в системе.
Основные функции многозадачного монитора:
- загрузка системных и прикладных программ и процессов;
- запуск, инициализация и снятие с выполнения прикладных программ
и процессов;
- инициализация системных программ;
- распределение и изменение приоритетов между системой "АСПЕКТ" и
программами, в соответствии с таблицей приоритетности;
- распределение памяти;
- распределение эмулируемых регистров;
- инициализация и контроль системных и програмных "семафоров";
- организация очередей;
- контроль за ошибочными действиями;
- обработка ошибок;
- распределение процессорного времени между программами, в
зависимости от приоритета каждой программы.
Файловая система
Файловая система предназначена для управления накопителями информации,
организации длительного хранения данных, их замены и записи. Файловая
система поддерживает все типы накопителей ПЭВМ ПК-11/16:
- накопитель на гибком диске 3,5";
- накопитель на гибком диске 5,25";
- накопитель на жстком диске.
Жесткий диск разбит на 8 логических дисков, которые также являются
отдельными устройствами. Файловая система работает по принципу кластерной
организации, т.е. каждый файл хранится на диске не в непрерывной области, а
разбит на несколько частей и занимает любую свободную область на носителе. В
этом случае отпадает необходимость в сжатии диска, а это означает более
надежную запись, компактность, удобство и скорость при работе. Файловая
система работает с "древовидными" каталогами, что позволяет пользователю
удобно располагать файлы на носителе. Главной особенностью файловой системы
является то, что каждое устройство, каталог или файл имеют свое графическое
представление - "иконку" - изображение, по которому можно определить, что
это за программа, или отличить документ от программы. Конечно же, у файла
есть и имя (в системе "АСПЕКТ" поле имени имеет длину 16 символов, что
позволяет полнее и точнее назвать программу или документ).
Файловая система позволяет создавать на носителях информации логические
многоуровневые каталоги, в которых можно организовывать различные наборы
данных, осуществлять переход от одного каталога к другому, создавать,
читать, копировать и удалять файлы. Файловая система, кроме того, выполняет
начальную загрузку системы "АСПЕКТ" с накопителей.
Основные функции файловой системы:
- работа с многоуровневыми (древовидными) каталогами
(создание, удаление и т.д.);
- работа с файлами и устройствами (создание, удаление,
запись и т.д.);
- рачальная загрузка системы "АСПЕКТ".
Аниматор
Аниматор включают в себя несколько уровней взаимодействия: программист -
- компьютер - пользователь. Аниматор является интегрированной системой
управления ресурсами программы, здесь имеется ввиду графический
пользовательский интерфейс. В системе "АСПЕКТ" реализован новый подход к
программированию - разделение программы на две части - "ресурсы" и "код".
Кодом является сам алгоритм программиста, а ресурсами - то, какими
средствами и функциями можно добиться результата. Такое разделение позволяет
оптимально ускорить процесс написания программы и привести все программы к
стандартному виду. В ресурсах программист полностью описывает взаимодействие
программы с пользователем (окна, диалоги, выбор команд и т.д.). По этому
описанию система воспроизводит графический интерфейс с пользователем.
Аниматор осуществляет весь контроль за интерфейсом, выполняет
исполняющие и координирующие действия. Таким образом, можно сказать, что за
выполнением алгоритма (кодом) следит многозадачный монитор, а за реализацией
ресурсов - Аниматор. Но есть и исключения: в ресурсах есть блоки параметров
для других системных программ. Так, для многозадачного монитора - блок
програмных атрибутов, а для файловой системы - блок файловых атрибутов, по
которым выполненяется инициализация и сообщяется о структуре программы.
Аниматор - это структура управления ресурсами, заложенными в систему. К
ресурсам относятся: слайды, кадры, окна, кнопки, текст, графика. Каждый тип
ресурса называется примитивом, который подразделяется на подтипы. Аниматор
осуществляет функции над примитивами, которые могут объединяться в группы.
Основные функции Аниматора:
- контроль за всеми событиями в программе;
- отработка функций с примитивами;
- передача управления примитивам;
- переход от одной программы к другой;
- распределение памяти для ресурсов;
- обработка ошибок.
Таким образом, эти три модуля (Файловая система, Многозадачный монитор и
Аниматор) составляют мощную, единую систему управления компьютером. Отвечая
каждый за свою сферу, они реализуют все возможности компьютера ПК-11/16. Для
работы системы необходимы процессы, которые обслуживают дополнительные
устройства (принтер, "мышь" и т.д.), а также программы взаимодействия с
пользователем (файловый монитор, диспетчер ресурсов и т.д.). Все необходимые
процессы и программы написаны в структуре системы "АСПЕКТ".
Так как компьютер новый, и система "АСПЕКТ" тоже родилась недавно, то
возможны ошибки и неточности, которые надо устранять, а в этом могут помочь
только пользователи ПЭВМ ПК-11/16 и системы "АСПЕКТ". Поэтому мы обращаемся
к пользователям с просьбой накапливать ошибки, замечания и рекомендации по
системе и направлять нам для устранения ошибок и расширения функций системы.
Работа с системой "АСПЕКТ"
Система "АСПЕКТ" построена по принципу многоуровневой модульной
организации с функциональной соподчиненностью модулей различных уровней.
Каждый модуль выполняет строго определенные функции системы, модули
обмениваются информацией и отсутствие одного из них приведет к
неработоспособности системы в целом. Каждый модуль системы может заменяться
по мере его усовершенствования, а также дополняться модулями, которые
расширяют возможности системы.
Состав системы "АСПЕКТ"
В состав системы входят следующие основные модули:
- файловая система;
- многозадачный монитор;
- аниматор;
- процесс "мыши";
- прцесс шрифта;
- файловый монитор.
Загрузка системы "АСПЕКТ"
После включения компьютера ВПО начинает загрузку операционной системы с
накопителей, опрашивая поочередно каждое устройство. Сначала пытается
загрузиться с накопителя для 3,5" дисков, потом с накопителя для 5,25"
дисков и в последнюю очередь с накопителя на жестком диске. При наличии
начального загрузчика на диске, ВПО загружает операционную систему "АСПЕКТ",
а точнее часть файловой системы, которая запускает многозадачный монитор.
После загрузки, многозадачный монитор подгружает файловую систему, и
производит ее инициализацию. Далее, через файловую систему, в соответствии с
таблицей загрузки программ и процессов, многозадачный монитор загружает
системные процессы: процесс "мыши", процесс шрифта, системные шрифты,
процесс принтера, и только после этого аниматор. Многозадачный монитор
выполняет инициализацию и запуск всех загружаемых процессов. После этого
многозадачный монитор загружает основную системную программу: файловый
монитор, сообщая от этом аниматору.
После загрузки, аниматор выполняет свою инициализацию и захват системных
процессов. Получив сообщение о загрузке файлового монитора, аниматор
производит инициализацию ресурсов программы и начинает с ней работать. Для
аниматора файловый монитор является резидентной программой.
После этого, пользователь работает с файловым монитором, выполняя все
операции с файлами, описанные в руководстве пользования файловым монитором.