<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://editthis.info/skins/common/feed.css?207"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title>Os Shared Memory - Revision history</title>
		<link>http://editthis.info/java4c/?title=Os_Shared_Memory&amp;action=history</link>
		<description>Revision history for this page on the wiki</description>
		<language>en</language>
		<generator>MediaWiki 1.15.1</generator>
		<lastBuildDate>Sat, 13 Jun 2026 08:28:45 GMT</lastBuildDate>
		<item>
			<title>Admin:&amp;#32;cont</title>
			<link>http://editthis.info/java4c/?title=Os_Shared_Memory&amp;diff=1417&amp;oldid=prev</link>
			<description>&lt;p&gt;cont&lt;/p&gt;

		&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
		&lt;col class='diff-marker' /&gt;
		&lt;col class='diff-content' /&gt;
		&lt;col class='diff-marker' /&gt;
		&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 05:47, 6 March 2011&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Shared memory is a memory-area, which is able to access from more as one process. It is a possibility given in some platforms. A process in this meaning is a portion of software maybe with more as one thread, which is running on the same platform simultaneously with other processes. But the processes are separated in the usage of the resources. Especially they haven't a common memory. It is to protect the processes against failures in the software.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Shared memory is a memory-area, which is able to access from more as one process. It is a possibility given in some platforms. A process in this meaning is a portion of software maybe with more as one thread, which is running on the same platform simultaneously with other processes. But the processes are separated in the usage of the resources. Especially they haven't a common memory. It is to protect the processes against failures in the software.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;The shared memory is not a mechanism, which is able to use on any platform. Therefore it is not a part of the common OSAL interface definition.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;'''&lt;/ins&gt;The shared memory is not a mechanism, which is able to use on any platform&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;'''&lt;/ins&gt;. Therefore it is not a part of the common OSAL interface definition.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;'''Use InterProcessComm as means of expression instead''':&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;If shared memory is used, it is a problem of the communication between processes. Therefore the mechanism of [[InterProcessCommunication]] should be used instead:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;If shared memory is used, it is a problem of the communication between processes. Therefore the mechanism of [[InterProcessCommunication]] should be used instead:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* &amp;lt;tt&amp;gt;InterProcessComm.open(ChannelSpec);&amp;lt;/tt&amp;gt; to open a communication channel. It may create a shared-memory-access-object.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* &amp;lt;tt&amp;gt;InterProcessComm.open(ChannelSpec);&amp;lt;/tt&amp;gt; to open a communication channel. It may create a shared-memory-access-object.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* &amp;lt;tt&amp;gt;InterProcessComm.receive(...);&amp;lt;/tt&amp;gt;: Receive any data from another process. It may check the shared memory whether expected information are given. It is not specified which addresses and which information inside the shared memory are checked. The receive operation is a broadcast-receive. To specify a finer granularity in information-receiving, there should be more as one &amp;lt;tt&amp;gt;open(...)&amp;lt;/tt&amp;gt;-operations which are associated to parts of information in the shared memory. The &amp;lt;tt&amp;gt;receive(...)&amp;lt;/tt&amp;gt;-operation is more ''wait for event''-adequate as ''read memory''. But usual it is it, which are expected in a communication between processes. The user should rather think about ''I will use the shared memory'' but ''I have to get events from another process''.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* &amp;lt;tt&amp;gt;InterProcessComm.receive(...);&amp;lt;/tt&amp;gt;: Receive any data from another process. It may check the shared memory whether expected information are given. It is not specified which addresses and which information inside the shared memory are checked. The receive operation is a broadcast-receive. To specify a finer granularity in information-receiving, there should be more as one &amp;lt;tt&amp;gt;open(...)&amp;lt;/tt&amp;gt;-operations which are associated to parts of information in the shared memory. The &amp;lt;tt&amp;gt;receive(...)&amp;lt;/tt&amp;gt;-operation is more ''wait for event''-adequate as ''read memory''. But usual it is it, which are expected in a communication between processes. The user should rather think about ''I will use the shared memory'' but ''I have to get events from another process''&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;. If receive is used for shared memory, the &amp;lt;tt&amp;gt;receive(..., sender)&amp;lt;/tt&amp;gt;-method can look to control bits in more as one ranges in shared memory. It can return several data specifying the source of the data in the &amp;lt;tt&amp;gt;sender&amp;lt;/tt&amp;gt;.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;*&amp;nbsp; &amp;lt;tt&amp;gt;InterProcessComm.send(data, address);&amp;lt;/tt&amp;gt;: it sets informations, maybe setting values in the shared memory. The address can be select which range, the data are the byte-data for the range. It is equal to send an information to a specified channel. &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;* The methods &amp;lt;tt&amp;gt;InterProcessComm.capacityToSendWithoutBlocking(requestedNumber)&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;dataAvailable()&amp;lt;/tt&amp;gt; can be used to poll the data situation&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;*&amp;nbsp; &amp;lt;tt&amp;gt;InterProcessComm.send(&lt;/del&gt;data, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;address);&amp;lt;/tt&amp;gt;: &lt;/del&gt;it &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;sets informations&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;maybe setting values in the shared memory&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;If specific &lt;/ins&gt;data &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;struct are used inside a shared memory&lt;/ins&gt;, it &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;should be recognized as a problem of a driver level&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;not as part of a user program.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff generator: internal 2026-06-13 08:28:45 --&gt;
&lt;/table&gt;</description>
			<pubDate>Sun, 06 Mar 2011 05:47:03 GMT</pubDate>			<dc:creator>Admin</dc:creator>			<comments>http://editthis.info/java4c/Talk:Os_Shared_Memory</comments>		</item>
		<item>
			<title>Admin:&amp;#32;Protected &quot;Os Shared Memory&quot; ([edit=autoconfirmed] (indefinite) [move=autoconfirmed] (indefinite))</title>
			<link>http://editthis.info/java4c/?title=Os_Shared_Memory&amp;diff=1416&amp;oldid=prev</link>
			<description>&lt;p&gt;Protected &amp;quot;&lt;a href=&quot;/java4c/Os_Shared_Memory&quot; title=&quot;Os Shared Memory&quot;&gt;Os Shared Memory&lt;/a&gt;&amp;quot; ([edit=autoconfirmed] (indefinite) [move=autoconfirmed] (indefinite))&lt;/p&gt;

		&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
		&lt;col class='diff-marker' /&gt;
		&lt;col class='diff-content' /&gt;
		&lt;col class='diff-marker' /&gt;
		&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 05:37, 6 March 2011&lt;/td&gt;
		&lt;/tr&gt;
		&lt;!-- diff generator: internal 2026-06-13 08:28:45 --&gt;
&lt;/table&gt;</description>
			<pubDate>Sun, 06 Mar 2011 05:37:34 GMT</pubDate>			<dc:creator>Admin</dc:creator>			<comments>http://editthis.info/java4c/Talk:Os_Shared_Memory</comments>		</item>
		<item>
			<title>Admin:&amp;#32;first</title>
			<link>http://editthis.info/java4c/?title=Os_Shared_Memory&amp;diff=1415&amp;oldid=prev</link>
			<description>&lt;p&gt;first&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Shared memory is a memory-area, which is able to access from more as one process. It is a possibility given in some platforms. A process in this meaning is a portion of software maybe with more as one thread, which is running on the same platform simultaneously with other processes. But the processes are separated in the usage of the resources. Especially they haven't a common memory. It is to protect the processes against failures in the software.&lt;br /&gt;
&lt;br /&gt;
The shared memory is not a mechanism, which is able to use on any platform. Therefore it is not a part of the common OSAL interface definition.&lt;br /&gt;
&lt;br /&gt;
If shared memory is used, it is a problem of the communication between processes. Therefore the mechanism of [[InterProcessCommunication]] should be used instead:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;InterProcessComm.open(ChannelSpec);&amp;lt;/tt&amp;gt; to open a communication channel. It may create a shared-memory-access-object.&lt;br /&gt;
* &amp;lt;tt&amp;gt;InterProcessComm.receive(...);&amp;lt;/tt&amp;gt;: Receive any data from another process. It may check the shared memory whether expected information are given. It is not specified which addresses and which information inside the shared memory are checked. The receive operation is a broadcast-receive. To specify a finer granularity in information-receiving, there should be more as one &amp;lt;tt&amp;gt;open(...)&amp;lt;/tt&amp;gt;-operations which are associated to parts of information in the shared memory. The &amp;lt;tt&amp;gt;receive(...)&amp;lt;/tt&amp;gt;-operation is more ''wait for event''-adequate as ''read memory''. But usual it is it, which are expected in a communication between processes. The user should rather think about ''I will use the shared memory'' but ''I have to get events from another process''.&lt;br /&gt;
&lt;br /&gt;
*  &amp;lt;tt&amp;gt;InterProcessComm.send(data, address);&amp;lt;/tt&amp;gt;: it sets informations, maybe setting values in the shared memory&lt;/div&gt;</description>
			<pubDate>Sat, 05 Mar 2011 21:22:30 GMT</pubDate>			<dc:creator>Admin</dc:creator>			<comments>http://editthis.info/java4c/Talk:Os_Shared_Memory</comments>		</item>
	</channel>
</rss>