In computing, bus mastering is a feature supported by many bus architectures that enables a device connected to the bus to initiate transactions. It is also referred to as "first-party DMA", in contrast with "third-party DMA" where a system DMA controller (also known as peripheral processor, I/O processor, or channel) actually does the transfer.


What do "first-party" and "third-party" mean?


In this case, the specific usage is technical, and limited to the domain. But the usage of party is derived from a general one:

party, n. 4 [countable] (formal) one of the people or groups of people involved in a legal agreement or argument [OALD]

For example, if I were to buy a house, the seller and I would both be parties to the transaction. If I were to sue a former business partner, the former partner and I are parties to the lawsuit.

Now, there are others besides the two of us who would be affected by those agreements even though they are not directly involved in it, or even directly named in it, such as the neighbors in the first example, or our office landlord in the other. These people would be known as third parties:

third party, n. A person or group besides the two primarily involved in a situation, especially a dispute [ODO]

From the legal usage, it has become extremely common to refer to any external, independent entity as a third party in industry. We have third-party sourcing (of software or manufactured parts), third-party ownership, third-party verification, and so on. Indeed, third parties are so common that through back-formation, the terms first-party and second-party have been introduced in contrast, where first-party indicates an originator and second-party indicates semi-independent or semi-original product. This is technical and business jargon, however, and not a legal usage.

The article demonstrates a metaphorical usage from the computer hardware sphere. In a first-party DMA, a device connects directly to the bus to initiate transactions. In contrast, a third-party DMA does not connect directly, but goes through a controller/channel that is external to it.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.