Object-stacking is a model for structuring object-based systems and a mechanism for integrating multiple servers. The paper describes the object-stacking model and the structure of a distributed operating system based on this model. In object-stacking, objects are classified into stackable objects and bottom objects. These objects have uniform interfaces. Each stackable objects holds the identifiers of other stackable objects or bottom objects as lower objects. Functions of stackable objects are implemented by calling their lower objects. Bottom objects are provided by the system. Complex objects are created by stacking those objects. In object-stacking, each server provides a single high-level service, such as filtering, caching, masking, or grouping. These servers can be used together by stacking their objects.