[Contents] [Previous] [Next]

Compartmentalized effects of subclassing

In the Taligent programming model, subclassing affects a framework's behavior only for the program that's doing the subclassing. Unlike Windows or the
Mac OS, for example, which allow any program or INIT file to patch the system and alter the behavior of all applications running on a given computer, the Taligent programming model permits system modifications only within an application's own address space, as suggested by Figure 19.


Taligent system software maps a copy of a framework into the virtual memory address spaces of all applications that are using it. There is only one physical copy of the original framework, and it is shared simultaneously by all these applications. An application can modify its mapped copy of the framework for use within its address space without interfering with other applications' modifications of the same framework for use within their address spaces.

This conservative approach makes for a more robust system than would otherwise be possible. Applications can be written and tested assuming one reliable version of the system libraries rather than having to take all possible combinations of patched system libraries into account. Similarly, if an application crashes, it is isolated from the rest of the system and generally can't affect
other applications.

In the Taligent programming model, programs do not typically need to "patch the system" on a global basis, except for some areas, such as installing fonts, that involve the system as a whole. Nevertheless, it is possible for knowledgeable programmers to replace libraries on a global basis with specialized runtime implementations.


[Contents] [Previous] [Next]

Addison-Wesley Publishing Company, Copyright©1995 by Sean Cotter and Taligent,Inc. All rights reserved.