Введение
Data General AOS (сокращение от Advanced Operating System) — название семейства операционных систем для 16-битных миникомпьютеров Data General Eclipse C, M и S, за которым последовали AOS/VS и AOS/RT32 (1980), а затем AOS/VS II (1988) для 32-битной линейки Eclipse MV.
Обзор
AOS/VS использовали 8-кольцевую архитектуру защиты оборудования Eclipse MV, при этом кольцо 7 было наименее привилегированным, а кольцо 0 — наиболее привилегированным. Ядро AOS/VS работало в кольце 0 и использовало адреса кольца 1 для структур данных, связанных с преобразованием виртуальных адресов. Кольцо 2 не использовалось и было зарезервировано для будущего использования ядром. Агент, выполнявший большую часть проверки системных вызовов для ядра AOS/VS, а также некоторую буферизацию ввода-вывода и множество функций совместимости, работал в кольце 3 каждого процесса. Кольцо 4 использовалось различными продуктами D. G., такими как СУБД INFOS II. Кольца 5 и 6 были зарезервированы для использования пользовательскими программами, но редко использовались, за исключением крупных программ, таких как внутренний эмулятор кольца MV/UX и Oracle, которые использовали кольцо 5. Все пользовательские программы работали в кольце 7. Программное обеспечение AOS было значительно более продвинутым, чем конкурирующие операционные системы PDP 11. 16-битные приложения AOS работали непосредственно под AOS/VS и AOS/VS II на 32-битной линейке Eclipse MV. AOS/VS (Advanced Operating System/Virtual Storage) был наиболее часто используемым программным продуктом DG и включал интерпретатор командной строки (CLI), позволяющий выполнять сложные сценарии, DUMP/LOAD и другие пользовательские компоненты. 16-битная версия CLI известна тем, что содержит пасхальное яйцо, созданное в честь Xyzzy (которое произносилось как "магия"). Это было внутреннее кодовое название того, что впоследствии стало известно как 32-битная операционная система AOS/VS. Пользователь, вводивший команду "xyzzy", получал от CLI ответ "Ничего не происходит". Когда 32-битная версия CLI стала доступна в AOS/VS II, та же команда вместо этого сообщала "Twice As Much Happens" (Происходит вдвое больше). Также была доступна модифицированная версия System V.2 Unix под названием MV/UX, работающая под управлением AOS/VS. Модифицированная версия System V Unix под названием DG/UX была разработана для линейки Eclipse MV, а затем для машин 88K и x86 AViiON. Ядра AOS и AOS/VS были написаны полностью на языке ассемблера. Почти все утилиты AOS и AOS/VS, включенные в выпуски операционной системы, были написаны на DG/L — варианте языка программирования ALGOL/60. Первоначально утилиты AOS/VS тесно следовали разработке исходного кода AOS. По мере развития AOS/VS многие поставляемые DG утилиты были переписаны для использования 32-битного адресного пространства и уменьшения зависимости от языка ассемблера, что часто приводило к значительному увеличению функциональности, производительности и надежности по сравнению с их предшественниками из AOS.