From Designing Embedded Communications Software

8.5 Data Structure Changes for Distribution

Recall the discussion about accessing global variables via access routines instead of pointers. This approach allows controlled access, in which mutual exclusion can be enforced.

When moving to a distributed environment, there are two options for accessing the variables:

  1. Maintain the access routine paradigm. Individual tasks will continue to call the access routines, but the routines will make a remote procedure call to obtain the information, assuming that the data structure is on a different card.

  2. Have a local copy of the data structure, and replicate the access routines on both cards. This requires synchronization of the two copies of the data structure.

Figure 8.5(a) details this access routine scenario. The data structure is stored on the control card, and the access routine is implemented in a separate task, so that all access to the data structure is through messages. For both control and line card tasks, the messaging infrastructure takes care of the abstraction.

Figure 8.5(b) details the local copy scenario. The data structures are replicated in both cards, and the access is completely local. This avoids the overhead of messaging across the backplane for basic access to the data structures. However, the data structures need to be synchronized; for every change in one data structure, there needs to be a corresponding change in the other data structure. This can be difficult to maintain when there is a large number of cards which replicate the data structure information.

Figure 8.5: Access routine...
Copyright CMP Books 2003 under license agreement with Books24x7

Products & Services
Middleware is software that allows otherwise separate software components or applications to share data.
Blank ID Cards
Blank ID cards are designed to have information written on them by encoders that can be read by readers.
ID Card Readers and Encoders
ID card readers and ID card encoders are used to transmit personal information onto various forms of storage media and retrieve this data as needed.
PCMCIA Cards and Accessories
PCMCIA cards and accessories follow standards developed by the Personal Computer Memory Card International Association (PCMCIA), an international standards body and trade organization. PCMCIA cards, or PC cards as they are commonly known, were designed originally for adding memory to portable computers, but are now used in a variety of devices.
Serial Communications Computer Boards
Serial communications computer boards are boards or ports that transmit data by sending the bits one after the other over a single wire.

Topics of Interest

8.6 State Machine Changes for Distribution When moving to distributed or multi-board systems, there are two approaches to the protocol state machine implementation. The state machine can be...

8.7 Management Interfaces for Multi-Board Software Chapter 7 detailed the use of multiple types of management agents. This section covers how the management subsystem architecture needs to be...

Many people carry one or more magnetically encoded cards with them for accessing a range of services. Perhaps the most common example is the credit card or bank ATM card, but increasingly they are...

This book does not cover Direct Memory Access (DMA) in detail. However, NT 3.51 and NT 4 driver writers will find that they must access the DMA system routines in a new way. All the same routines are...

Chapter 9: Routine Structure and Execution Flow Control Note to Experienced Programmers The constructs described in this chapter deal with M language flow control. M provides calling flow control...