Simple and elegant Written in a high level language rather than assembly language Allow re-use of code Typical vendor operating systems of the time were extremely large and all written in assembly language. The group worked primarily in the high level language in developing the operating system. As this development continued, small changes were necessary in the kernel and the language to allow the operating system to be completed. Many proprietary operating systems have a simplified view of application behavior. The typical application reads some data from disk, tape or a terminal and does some processing.
Output is produced onto disk, tape, tape, terminal, or printer.
The operating systems generally provide easy to use well-implemented facilities to support these types of facilities. As applications become more sophisticated they need new features such as network access, multi-tasking, and interprocess communications. In traditional operating systems, these features are often hard to use, not well documented, and only callable from assembly language. When a program makes use of these features, the program may be much more complex and much more difficult to maintain. In addition, the documentation for these sophisticated features is in the same format and location as the documentation for the normal application calls.