Users (of these interfaces) will benefit because they will be easier to understand. When I first want to learn about a file system, for example, I'd rather not be presented with the few primary interfaces buried in a slew of meta interfaces. Meta interfaces should be presented as appendices to primary interfaces.
The impact upon implementors is not clear. Dividing interfaces that used to be one big muddle of calls into primary and meta seems clearly beneficial. On the other hand, portability (or perhaps implementation simplicity) may be hindered by the provision of "direct" (as opposed to "inform") meta interfaces, since these kinds of interfaces have complex interactions with particular implementations. Inform-style meta interfaces, such as madvise, don't have such problems -- a "sequential access" hint is independent of implementation. Indeed, ignoring such directives is a valid (and often taken) approach.
Meta interfaces that direct (as opposed to inform) are an entirely new beast (for operating systems, at least), and we don't yet know what their impact upon portability, performance and implementation complexity will be.
Back to Alphabetical List of Responses
(Last Revised October 1994)