8.5 Summary

I l @ ve RuBoard

Many multiprocessing operating systems were developed when proprietary systems were in vogue , so each developed its own specific mechanisms for process management. Since maintaining version-to-version OS compatibility is important, many of these proprietary process mechanisms and APIs remain to this day. This chapter showed how to use the ACE process management capabilities, which allow multiprocessing servers to be programmed portably across a range of platforms. We applied the ACE_Process_Manager to a new logging server implementation that grouped a set of spawned processes together. The grouping allowed the master process to wait for all the worker processes to exit before shutting itself down.

Due to inherent differences in OS process management semantics, developers of networked applications must evaluate their system's concurrency requirements carefully. Whereas previous chapters focused largely on alleviating accidental complexities introduced by low-level APIs, this chapter expanded on the challenges of multiplatform software development. It showed how the portable ACE wrapper facades make multiprocessing applications much easier to write, while also making it clear that the capabilities of an application's current and future platforms must be considered carefully when evaluating multiprocessing concurrency designs. For example, the ACE process wrapper facades can shield applications from many OS details, but they cannot provide process abstractions on platforms that lack them altogether.

I l @ ve RuBoard


C++ Network Programming
C++ Network Programming, Volume I: Mastering Complexity with ACE and Patterns
ISBN: 0201604647
EAN: 2147483647
Year: 2001
Pages: 101

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net