<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>EmbLogic &#187; Project 6: Client Server using Inter Process Communication Mechanism</title>
	<atom:link href="https://www.emblogic.com/blog/category/inter-process-communication/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.emblogic.com/blog</link>
	<description>Embedded System and ARM Training</description>
	<lastBuildDate>Tue, 03 Mar 2020 13:00:06 +0000</lastBuildDate>
	<language>en-US</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.9.1</generator>
	<item>
		<title>Socket programming based Home Automation</title>
		<link>https://www.emblogic.com/blog/12/home-automation-based-socket-programming/</link>
		<comments>https://www.emblogic.com/blog/12/home-automation-based-socket-programming/#comments</comments>
		<pubDate>Fri, 09 Dec 2016 12:04:21 +0000</pubDate>
		<dc:creator><![CDATA[Raghu Nath]]></dc:creator>
				<category><![CDATA[Project 03: Client Server Communication using Linux and IPC]]></category>
		<category><![CDATA[Project 04: FTP based Client Server using Threads and Sockets]]></category>
		<category><![CDATA[Project 6: Client Server using Inter Process Communication Mechanism]]></category>
		<category><![CDATA[Project 9: Embedded Linux on ARM]]></category>
		<category><![CDATA[Embedded Linux]]></category>
		<category><![CDATA[ipc]]></category>
		<category><![CDATA[server-client]]></category>
		<category><![CDATA[sockets]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=13709</guid>
		<description><![CDATA[The main aim of this project is to implement Socket programming using Embedded linux based boards using beagle bone as server and pc as a client. The entire electrical system like home appliances are interfaced to Server (Beagle bone black) &#8230; <a href="https://www.emblogic.com/blog/12/home-automation-based-socket-programming/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>The main aim of this project is to implement Socket programming using Embedded linux based boards using beagle bone as server and pc as a client. The entire electrical system like home appliances are interfaced to Server (Beagle bone black) using relay electronics system.There will be authentication system for accessing the server like user id and password which will be provided by  user through client.The enhancement of authentication system will be based on shell scripts.The user can control any appliance at any time from linux terminal.The user will run application based code which is interfaced to the Client program by providing basic authentication. An acknowledgement is also provided to user to monitor the status of the Appliance by server.The protocol used here is TCP (Transmission Control protocol)Client Server model, The Client will send the request to server.The Server process takes a request from the client. After getting a request from the client, this process will perform the required processing, gather the requested information, and send it to the requester client. The user will provide some input data by command line arguments to application Client.The beagle bone  Server application will be automated  after initial boot power-on with the help of bashRC Scripting.</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/12/home-automation-based-socket-programming/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Three different thread exclusively work to open, read and write operation.</title>
		<link>https://www.emblogic.com/blog/04/three-different-thread-exclusively-work-to-open-read-and-write-operation/</link>
		<comments>https://www.emblogic.com/blog/04/three-different-thread-exclusively-work-to-open-read-and-write-operation/#comments</comments>
		<pubDate>Tue, 21 Apr 2015 16:50:00 +0000</pubDate>
		<dc:creator><![CDATA[Vishal Chopra]]></dc:creator>
				<category><![CDATA[Project 03: Client Server Communication using Linux and IPC]]></category>
		<category><![CDATA[Project 6: Client Server using Inter Process Communication Mechanism]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=12585</guid>
		<description><![CDATA[RCS file: multi_thread.c,v Working file: multi_thread.c head: 1.1 branch: locks: strict vishal: 1.1 access list: symbolic names: keyword substitution: kv total revisions: 1; selected revisions: 1 description: Three different thread is created to open a file read the data from &#8230; <a href="https://www.emblogic.com/blog/04/three-different-thread-exclusively-work-to-open-read-and-write-operation/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>RCS file: multi_thread.c,v<br />
Working file: multi_thread.c<br />
head: 1.1<br />
branch:<br />
locks: strict<br />
	vishal: 1.1<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 1;	selected revisions: 1<br />
description:<br />
Three different thread is created to open a file read the data from the file and write on some other file exclusively.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1	locked by: vishal;<br />
date: 2015/04/21 16:46:47;  author: vishal;  state: Exp;<br />
Initial revision</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/04/three-different-thread-exclusively-work-to-open-read-and-write-operation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>client server communication using FIFO is implemented successfully.</title>
		<link>https://www.emblogic.com/blog/03/client-server-communication-using-fifo-is-implemented-successfully/</link>
		<comments>https://www.emblogic.com/blog/03/client-server-communication-using-fifo-is-implemented-successfully/#comments</comments>
		<pubDate>Thu, 19 Mar 2015 12:38:00 +0000</pubDate>
		<dc:creator><![CDATA[Amardeep Rawat]]></dc:creator>
				<category><![CDATA[Project 03: Client Server Communication using Linux and IPC]]></category>
		<category><![CDATA[Project 6: Client Server using Inter Process Communication Mechanism]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=12435</guid>
		<description><![CDATA[RCS file: client1.c,v Working file: client1.c head: 1.3 branch: locks: strict root: 1.3 access list: symbolic names: keyword substitution: kv total revisions: 3; selected revisions: 3 description: This is client1.c file opened SERVER_FIFO in O_WRONLY mode. prepare a request. &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- &#8230; <a href="https://www.emblogic.com/blog/03/client-server-communication-using-fifo-is-implemented-successfully/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>RCS file: client1.c,v<br />
Working file: client1.c<br />
head: 1.3<br />
branch:<br />
locks: strict<br />
	root: 1.3<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 3;	selected revisions: 3<br />
description:<br />
This is client1.c file<br />
opened SERVER_FIFO in O_WRONLY mode.<br />
prepare a request.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3	locked by: root;<br />
date: 2015/03/19 06:53:15;  author: root;  state: Exp;  lines: +9 -1<br />
open CLIENT1_FIFO in O_RDONLY mode<br />
read result from server through CLIENT1_FIFO from server.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2015/03/19 06:19:21;  author: root;  state: Exp;  lines: +1 -0<br />
print pid<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2015/03/19 06:12:02;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/03/client-server-communication-using-fifo-is-implemented-successfully/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title></title>
		<link>https://www.emblogic.com/blog/05/10085/</link>
		<comments>https://www.emblogic.com/blog/05/10085/#comments</comments>
		<pubDate>Tue, 13 May 2014 11:06:58 +0000</pubDate>
		<dc:creator><![CDATA[deepanshuemblinux]]></dc:creator>
				<category><![CDATA[Project 6: Client Server using Inter Process Communication Mechanism]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=10085</guid>
		<description><![CDATA[                What are  processes and threads?? A process is a program (object code stored on some media) in execution.  Processes are, however, more than just the executing program code (often called the text &#8230; <a href="https://www.emblogic.com/blog/05/10085/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><span style="font-family: Georgia, Times New Roman, serif;font-size: large"><b>    </b></span><br />
<span style="font-family: Georgia, Times New Roman, serif;font-size: large"><b><br />
</b></span> <span style="font-family: Georgia, Times New Roman, serif;font-size: large"><b>            What are  processes and threads??</b></span><br />
<span style="font-family: Georgia, Times New Roman, serif;font-size: large"><b><br />
</b></span> <span style="font-family: Georgia, Times New Roman, serif;font-size: large"><b><br />
</b></span></p>
<div class="docText"></div>
<ul style="text-align: left">
<li>A process is a program (object code stored on some media) in execution.</li>
<li> Processes are, however, more than just the executing program code (often called the <span class="docEmphasis">text section</span> in Unix). They also include a set of resources such as open files and pending signals, internal kernel data, processor state, an address space, one or more <span class="docEmphasis">threads of execution,</span> and a <span class="docEmphasis">data section</span> containing global variables. Processes, in effect, are the living result of running program code.</li>
</ul>
<div></div>
<div></div>
<ul style="text-align: left">
<li>Threads of execution, often shortened to <span class="docEmphasis">threads</span>, are the objects of activity within the process.</li>
<li> Each thread includes a unique program counter, process stack, and set of processor registers. The kernel schedules individual threads, not processes.</li>
<li> In traditional Unix systems, each process consists of one thread. In modern systems, however, multithreaded programs those that consist of more than one thread are common.</li>
<li> But,to Linux, a thread is just a special kind of process.</li>
<li>People generally are confused that a program is a process but a process is an <span class="docEmphasis">active</span> program and related resources. Indeed, two or more processes can exist that are executing the <span class="docEmphasis">same</span> program. In fact, two or more processes can exist that share various resources, such as open files or an address space.</li>
<li>A process begins its life when, not surprisingly, it is created. In Linux, this occurs by means of the <tt>fork()</tt> system call, which creates a new process by duplicating an existing one.</li>
<li><span style="background-color: white;line-height: 19.600000381469727px"><span style="font-family: Georgia, Times New Roman, serif">The new process is an exact copy of the old process. (Now, a question might come immediately to our mind- who creates the first process?? The first process is the init process which is literally created from scratch during booting).</span></span></li>
<li>The process that calls <tt>fork()</tt> is the <span class="docEmphasis">parent,</span> whereas the new process is the <span class="docEmphasis">child</span>. The parent resumes execution and the child starts execution at the same place, where the call returns. The <tt>fork()</tt> system call returns from the kernel twice: once in the parent process and again in the newborn child.</li>
<li>Often, immediately after a fork it is desirable to execute a new, different, program. The <tt>exec</tt><span class="docEmphasis"><tt>*</tt></span><tt>()</tt> family of function calls is used to create a new address space and load a new program into it. In modern Linux kernels, <tt>fork()</tt> is actually implemented via the <tt>clone()</tt> system call,</li>
<li>Finally, a program exits via the <tt>exit()</tt> system call. This function terminates the process and frees all its resources.</li>
<li>A parent process can inquire about the status of a terminated child via the <tt>wait4()</tt>system call, which enables a process to wait for the termination of a specific process.</li>
<li> When a process exits, it is placed into a special zombie state that is used to represent terminated processes until the parent calls <tt>wait()</tt> or <tt>waitpid()</tt>.</li>
<li>The kernel implements the <span class="docEmphasis"><tt>wait4()</tt></span> system call. Linux systems, via the C library, typically provide the <span class="docEmphasis"><tt>wait()</tt>,<tt>waitpid()</tt>,<tt>wait3()</tt></span> , and <span class="docEmphasis"><tt>wait4()</tt></span> functions. All these functions return status about a terminated process, albeit with slightly different semantics.</li>
<li>Another name for a process is a <span class="docEmphasis">task</span>.  although when we say <span class="docEmphasis">task</span> we generally mean a process from the kernel&#8217;s point of view</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/05/10085/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IPC</title>
		<link>https://www.emblogic.com/blog/04/ipc-4/</link>
		<comments>https://www.emblogic.com/blog/04/ipc-4/#comments</comments>
		<pubDate>Wed, 10 Apr 2013 15:08:56 +0000</pubDate>
		<dc:creator><![CDATA[Jatinder Kumar]]></dc:creator>
				<category><![CDATA[Project 6: Client Server using Inter Process Communication Mechanism]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=6348</guid>
		<description><![CDATA[Today i learned how to save file descriptor, how to use PIPE.]]></description>
				<content:encoded><![CDATA[<p>Today i learned how to save file descriptor, how to use PIPE. </p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/04/ipc-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Project 6: Client Server using Inter-process Communication Mechanism</title>
		<link>https://www.emblogic.com/blog/10/project-6-client-server-using-inter-process-communication-mechanism/</link>
		<comments>https://www.emblogic.com/blog/10/project-6-client-server-using-inter-process-communication-mechanism/#comments</comments>
		<pubDate>Tue, 02 Oct 2012 14:18:47 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[Project 6: Client Server using Inter Process Communication Mechanism]]></category>

		<guid isPermaLink="false">http://emblogic.org/blog/?p=5445</guid>
		<description><![CDATA[Inter Process Communication based Project. Please send your queries here <a href="https://www.emblogic.com/blog/10/project-6-client-server-using-inter-process-communication-mechanism/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>The purpose of this discussion is to get the participants familiar with the <a href="http://emblogic.org/blog/10/project-6-client-server-using-inter-process-communication-mechanism/ipc-4/" rel="attachment wp-att-5446"><img class="alignright size-medium wp-image-5446" title="ipc" src="http://emblogic.org/blog/wp-content/uploads/2012/10/ipc1-300x164.jpg" alt="" width="300" height="164" /></a>different mechanisms that are available for communicating between two or more processes.  Inter-Process Communication, which in short is known as IPC, deals mainly with the techniques and mechanisms that facilitate communication between processes. Now, why do we need special separate mechanisms or techniques for communicating between processes? Why isn&#8217;t it possible to have information shared between two processes without using such special mechanisms?</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/10/project-6-client-server-using-inter-process-communication-mechanism/feed/</wfw:commentRss>
		<slash:comments>26</slash:comments>
		</item>
	</channel>
</rss>
