Several attempts have been made at creating a general purpose, robust, clean abstraction layer for operating system functionality. Most of these fail for one reason or another: Either they are too specific to a single application's needs, or they are so general they are useless. Sometimes they have a political agenda behind them. All of these things cause such projects to fail miserably. The only architectural decisions that really make sense with respect to system abstraction libraries (based on our experience) is good, clean interface design, and good general purpose software design principles.
© 2008 Novell, Inc. All Rights Reserved.