AOS/VS exploited the 8-
ring protection architecture of the
Eclipse MV hardware with ring 7 being the least privileged and ring 0 being the most privileged. The AOS/VS kernel ran in ring 0 and used ring-1 addresses for data structures related to virtual address translations. Ring 2 was unused and reserved for future use by the kernel. The Agent, which performed much of the system call validation for the AOS/VS kernel, as well as some I/O buffering and many compatibility functions, ran in ring 3 of each process. Ring 4 was used by various D.G. products such as the INFOS II
DBMS. Rings 5 and 6 were reserved for use by user programs but rarely used except for large software such as the MV/UX inner-ring emulator and
Oracle which used ring 5. All user programs ran in ring 7. The AOS software was far more advanced than competing
PDP-11 operating systems. 16-bit AOS applications ran natively under AOS/VS and AOS/VS II on the 32-bit Eclipse MV line. AOS/VS (Advanced Operating System/Virtual Storage) was the most commonly used DG software product, and included a
command-line interpreter (CLI) allowing for complex scripting, DUMP/LOAD, and other custom components. The 16-bit version of the CLI is famous for including an
Easter egg meant to honor Xyzzy (which was pronounced "magic"). This was the internal code name of what externally became known as the AOS/VS 32-bit operating system. A user typing in the
command "
xyzzy" would get back a response from the CLI of "Nothing Happens". When a
32-bit version of the CLI became available under
AOS/VS II, the same command instead reported "Twice As Much Happens". A modified version of System V.2
Unix called MV/UX hosted under AOS/VS was also available. A modified version of
System V Unix called
DG/UX was made for the
Eclipse MV line and later the
88K and
x86 AViiON machines. The AOS and AOS/VS kernels were written entirely in
assembly language. Almost all of the AOS and AOS/VS utilities included in the operating system releases were written in
DG/L, a variant of the
ALGOL/60 programming language. Initially, AOS/VS utilities closely tracked AOS source development. As AOS/VS matured, many DG-supplied utilities were rewritten to take advantage of the 32-bit address space and reduce dependencies on assembly language, often resulting in substantial increases in functionality, performance and reliability compared with their AOS ancestors. ==Session==