 | | When the System III interface first became public, many programmers (including the author) viewed it as a gratuitous change made solely for the purpose of being different. However, in reality, the change was made with the best of intentions. The original Version 7 interface, especially as extended by Berkeley, was showing its age. It was made up of several different data structures, each used for different purposes, representing, in a way, its rather piecemeal development process. The designers of System III recognized this and, more importantly, recognized that as other extensions became necessary in the future, they would probably have to be “grafted onto” the interface, rather than integrated with it. So, they designed a new interface that unified all of the parts from the old interface, as well as some new capabilities, into a single, coherent whole. Furthermore, they designed the interface in such a way that new functionality could be added within the existing framework, rather than by extending the interface in incompatible ways. Although the first versions of this new interface suffered from a few deficiencies, these have since been fixed, and the interface has indeed met the goals set for it by the designers, while the older interface has been all but discarded. Indeed, when the POSIX committee specified a terminal I/O control interface, they chose one based on (in fact, nearly identical to) the System III/System V interface. | |
|