<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://rs-485.com/index.php?action=history&amp;feed=atom&amp;title=Bus_mastering</id>
	<title>Bus mastering - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://rs-485.com/index.php?action=history&amp;feed=atom&amp;title=Bus_mastering"/>
	<link rel="alternate" type="text/html" href="https://rs-485.com/index.php?title=Bus_mastering&amp;action=history"/>
	<updated>2026-05-03T23:29:47Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.42.3</generator>
	<entry>
		<id>https://rs-485.com/index.php?title=Bus_mastering&amp;diff=439&amp;oldid=prev</id>
		<title>RS-485: Imported from Wikipedia (overwrite)</title>
		<link rel="alternate" type="text/html" href="https://rs-485.com/index.php?title=Bus_mastering&amp;diff=439&amp;oldid=prev"/>
		<updated>2026-05-02T17:57:37Z</updated>

		<summary type="html">&lt;p&gt;Imported from Wikipedia (overwrite)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Short description|System for multiple bus access}}&lt;br /&gt;
{{no footnotes|date=March 2013}}&lt;br /&gt;
&lt;br /&gt;
In [[computing]], &amp;#039;&amp;#039;&amp;#039;bus mastering&amp;#039;&amp;#039;&amp;#039; is a feature supported by many [[Bus (computing)|bus architecture]]s that enables a device connected to the bus to initiate [[direct memory access]] (DMA) transactions. It is also referred to as &amp;#039;&amp;#039;&amp;#039;first-party DMA&amp;#039;&amp;#039;&amp;#039;, in contrast with [[third-party DMA]] where a system [[DMA controller]] actually does the transfer.&lt;br /&gt;
&lt;br /&gt;
Some types of buses allow only one device (typically the [[Central processing unit|CPU]], or its proxy) to initiate transactions.  Most modern bus architectures, such as [[Peripheral Component Interconnect|PCI]], allow multiple devices to bus master because it significantly improves performance for general-purpose [[operating system]]s.  Some [[real-time operating system]]s prohibit peripherals from becoming bus masters, because the scheduler can no longer arbitrate for the bus and hence cannot provide deterministic latency.&lt;br /&gt;
&lt;br /&gt;
While bus mastering theoretically allows one peripheral device to directly communicate with another, in practice almost all peripherals master the bus exclusively to perform DMA to [[main memory]].&lt;br /&gt;
&lt;br /&gt;
If multiple devices are able to master the bus, there needs to be a &amp;#039;&amp;#039;&amp;#039;bus arbitration&amp;#039;&amp;#039;&amp;#039; scheme to prevent multiple devices attempting to drive the bus simultaneously.  A number of different schemes are used for this; for example [[SCSI]] has a fixed priority for each SCSI ID.  PCI does not specify the algorithm to use, leaving it up to the implementation to set priorities.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Master/slave (technology)]]&lt;br /&gt;
* [[SCSI initiator and target]]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
* [http://www.tweak3d.net/articles/howbusmaster/ How Bus Mastering Works] - Tweak3D&lt;br /&gt;
* [https://web.archive.org/web/20120316232747/http://bugclub.org/beginners/hardware/BUSMastering.html What is bus mastering?]- Brevard User&amp;#039;s Group&lt;br /&gt;
&lt;br /&gt;
{{Computer bus}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Computer buses]]&lt;br /&gt;
[[Category:Motherboard]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{compu-hardware-stub}}&lt;/div&gt;</summary>
		<author><name>RS-485</name></author>
	</entry>
</feed>