<?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; Prabhjot</title>
	<atom:link href="https://www.emblogic.com/blog/author/prabhjot-singh/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>USB DEVICE CONTROL THROUGH NTERNET</title>
		<link>https://www.emblogic.com/blog/03/usb-device-control-through-nternet/</link>
		<comments>https://www.emblogic.com/blog/03/usb-device-control-through-nternet/#comments</comments>
		<pubDate>Fri, 21 Mar 2014 06:43:26 +0000</pubDate>
		<dc:creator><![CDATA[Prabhjot]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=9194</guid>
		<description><![CDATA[In this project I have controlled a USB device through internet using a web browser. The device could be used to control multiple device connected to the USB device. The project involved configuring Apache server(alongwith SElinux configuration for apache),writing CGI &#8230; <a href="https://www.emblogic.com/blog/03/usb-device-control-through-nternet/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>In this project I have controlled a USB device through internet using a web browser. The device could be used to control multiple device connected to the USB device.</p>
<p>The project involved configuring Apache server(alongwith SElinux configuration for apache),writing CGI applications, interfacing the CGI application with the device( which involved the linux IPC mechanism also).</p>
<p>video attached to this post shows how the device is controlled through a web browser on a tablet phone while the USB device was attached to a laptop.</p>
<p><iframe width="640" height="480" src="http://www.youtube.com/embed/HuisIB1MQ14?feature=oembed" frameborder="0" allowfullscreen></iframe></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/03/usb-device-control-through-nternet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AVR-USB-LINUX</title>
		<link>https://www.emblogic.com/blog/01/avr-usb-linux/</link>
		<comments>https://www.emblogic.com/blog/01/avr-usb-linux/#comments</comments>
		<pubDate>Sun, 19 Jan 2014 16:03:54 +0000</pubDate>
		<dc:creator><![CDATA[Prabhjot]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=8138</guid>
		<description><![CDATA[]]></description>
				<content:encoded><![CDATA[<p><iframe width="640" height="480" src="http://www.youtube.com/embed/MBR6235S7VA?feature=oembed" frameborder="0" allowfullscreen></iframe></p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/01/avr-usb-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IPCs</title>
		<link>https://www.emblogic.com/blog/12/ipcs/</link>
		<comments>https://www.emblogic.com/blog/12/ipcs/#comments</comments>
		<pubDate>Sat, 21 Dec 2013 07:28:09 +0000</pubDate>
		<dc:creator><![CDATA[Prabhjot]]></dc:creator>
				<category><![CDATA[Project 03: Client Server Communication using Linux and IPC]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=7823</guid>
		<description><![CDATA[INTER-PROCESS COMMNICATION What is Inter-process Communication? Inter-process communication as the name suggests is the exchange of information between two dependent /independent processes. &#160; Why it is required? There are cases when processes may need to work together;for example a process &#8230; <a href="https://www.emblogic.com/blog/12/ipcs/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p style="text-align: center">INTER-PROCESS COMMNICATION</p>
<p>What is Inter-process Communication?</p>
<p>Inter-process communication as the name suggests is the exchange of information between two dependent /independent processes.</p>
<p>&nbsp;</p>
<p>Why it is required?</p>
<p>There are cases when processes may need to work together;for example a process may need to compress an image that is to be performed by some other process,in that case the first process must tell the second process that it needs its services and hence send image and receive the compressed image. Thus the requirement of inter-process communication.</p>
<p>&nbsp;</p>
<p>How inter-process communication is needed?</p>
<p>In Linux,inter-process communication is achieved using:-</p>
<p>-&gt;Signals</p>
<p>-&gt;Pipes</p>
<p>-&gt;FIFO&#8217;s</p>
<p>-&gt;Message queues</p>
<p>-&gt;Shared memory</p>
<p>-&gt;Semaphores</p>
<p>Signals,Shared memory and Message queues are mostly used as synchronization techniques rather than as Inter-process Communication mechanism.</p>
<p>&nbsp;</p>
<p>Project Implementation:-</p>
<p>Aim:-To achieve inter-process communication between multiple client(requesting and processing) processes and a single server using Inter-process communication techniques.</p>
<p>&nbsp;</p>
<p>Explanation:-</p>
<p>In this project multiple requesting clients requests a server process to get their respective results</p>
<p>Requesting Client 1&#8212;&#8212;&#8212;-&gt;S V&#8212;&#8212;&#8212;&#8212;-&gt;Processing Client 1</p>
<p>Requesting Client 2&#8212;&#8212;&#8212;-&gt;E E&#8212;&#8212;&#8212;&#8212;-&gt;Processing Client 2</p>
<p>Requesting Client 3&#8212;&#8212;&#8212;-&gt;R R&#8212;&#8212;&#8212;&#8212;&gt;Processing Client 3</p>
<p>&nbsp;</p>
<p>Server is always runing in the background.</p>
<p>Firstly requesting client requests the server by sending the data along with the data it wants to get performed.</p>
<p>Next the server receives the request and it sends the same request to the processing client.</p>
<p>Now the processing client processes the data and should return the result to the server.</p>
<p>Meanwhile the procesing client is processing the request, the requesting client and the server should wait.</p>
<p>After the processing client sends the result to the server,the server sends the result to the requesting client.</p>
<p>There can be many requesting clients thus the server should be prepared for it.</p>
<p>&nbsp;</p>
<p>Implementation:-</p>
<p>The project was implemented using Pipes,FIFOs and Pipes,Message queues, FIFOs and shared memory and FIFOs and message queues.</p>
<p>Challenges:-</p>
<p>-&gt;The major challenge during the project implementation was the synchronization between the requesting client and the server And server and processing client.</p>
<p>When implemented using pipes,synchronization was acheived using the signals mechanism. The requesting clients after sending the request waits for a signal from the server indicating that result is available.</p>
<p>At the same time the server waits for the result from processing client using signal.</p>
<p>In case of implementation using FIFOs and pipes,synchronization was acheived using signals.</p>
<p>For message queues,synchronization was acheived using the tokens only.</p>
<p>And semaphores were used for the other implementations of the same project.</p>
<p>&nbsp;</p>
<p>-&gt;The next challenge was the encapsulating of the requests and the results into a single packet that would be exchanges between the processes. Since request consisted of many things,they were converted to a single packet of data using sprintf() function.</p>
<p>Same method was used for the result.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/12/ipcs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PROJECT 01(MULTIPLE DATA COMPRESION)</title>
		<link>https://www.emblogic.com/blog/11/project-01multiple-data-compresion/</link>
		<comments>https://www.emblogic.com/blog/11/project-01multiple-data-compresion/#comments</comments>
		<pubDate>Mon, 25 Nov 2013 12:24:46 +0000</pubDate>
		<dc:creator><![CDATA[Prabhjot]]></dc:creator>
				<category><![CDATA[Project 2: Multiple Data Compression and Encryption]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=7543</guid>
		<description><![CDATA[Multiple data compression using C, INTRODUCTION TO PROJECT All digital data is stored in form of binary 0s and 1s internally. Working on embedded devices that are memory constrained these files need to be managed efficiently and effectively. Also when &#8230; <a href="https://www.emblogic.com/blog/11/project-01multiple-data-compresion/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Multiple data compression using C,</p>
<p>INTRODUCTION TO PROJECT<br />
All digital data is stored in form of binary 0s and 1s internally. Working on embedded devices that are memory constrained these files need to be managed efficiently and effectively. Also when transferring file over the network, larger the file size larger is the bandwidth requirement to transfer the same. Hence the requirement of some technique that could take less space and less bandwidth for transmission.</p>
<p>One such technique that can be used for saving memory is compressing the files using some algorithm so that they acquire less space on disk. This technique not only serves the purpose of consuming less space but also provides data security since the file that will be generated after the compression is usually not in human-readable form. Since a normal file does not use all the 255 characters of ASCII table,representing each character by one byte consumes a lot more space. Thus if each distinct character in a file can be represented by fewer bits same data can be saved in much less space;hence accomplishing the purpose.</p>
<p>Here&#8217;s the simple stepwise working of the project:-<br />
COMPRESSION<br />
1.) Open the file to be compressed.<br />
2.) Find the distinct characters in the file and store it in an array(master array).<br />
3.) From the master array find the maximum number of bits required to represent each distinct character in compressed file.<br />
4.) Read the file character by character.<br />
5.) Replace each character with the index of the corresponding character in master array.<br />
6.) Manipulate the indexes in the form of 1 byte using shift operations.<br />
7.) Write the manipulated indexes to the compressed file.<br />
8.) Store the master array in other file so that it could be used at the time of decompression.</p>
<p>DECOMPRESSION<br />
1.) Open the compressed file.<br />
2.) Open the file containing master array and store it in array.<br />
3.) Form the master array find out the number of bits used to represent each character.<br />
4.) Read the compressed file character by character.<br />
5.) From this read characters filter out the actual ASCII characters using shift operations and indexes.<br />
6.) Save the filtered out ASCII characters to new file.</p>
<p>Besides this the project can further be enhanced if the master array is also encrypted and this master array is used as the decryption key between the compressing and decompressing programs.</p>
<p>Finally the project was successfully implemented with the very good compression ratio. Also the project was implemented using two techniques;one was using the structured approach based on the number of bits required and the other was a general purpose program in which only a single piece of code could compress or decompress the file.</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/11/project-01multiple-data-compresion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DAILY REPORT(BATCH 20.02.36)</title>
		<link>https://www.emblogic.com/blog/10/daily-reportbatch-20-02-36-4/</link>
		<comments>https://www.emblogic.com/blog/10/daily-reportbatch-20-02-36-4/#comments</comments>
		<pubDate>Fri, 04 Oct 2013 19:06:45 +0000</pubDate>
		<dc:creator><![CDATA[Prabhjot]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=7285</guid>
		<description><![CDATA[Rahul Singh :- IPC using fifo is completed Working on semaphore, message ques and shared memory Kamal :- Completed IPC project using shared memory and semaphores. Harpreet Singh :- Completed IPC project using shared memory,semaphores,FIFO and Pipes.]]></description>
				<content:encoded><![CDATA[<p><strong>Rahul Singh</strong> :- IPC using fifo is completed<br />
Working on semaphore, message ques and shared memory</p>
<p><strong>Kamal </strong>:- Completed IPC project using shared memory and semaphores.</p>
<p><strong>Harpreet Singh :- </strong>Completed IPC project using shared memory,semaphores,FIFO and Pipes.</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/10/daily-reportbatch-20-02-36-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DAILY REPORT(BATCH 20.02.36)</title>
		<link>https://www.emblogic.com/blog/10/daily-reportbatch-20-02-36-3/</link>
		<comments>https://www.emblogic.com/blog/10/daily-reportbatch-20-02-36-3/#comments</comments>
		<pubDate>Thu, 03 Oct 2013 18:16:13 +0000</pubDate>
		<dc:creator><![CDATA[Prabhjot]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Harpreet sir]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=7263</guid>
		<description><![CDATA[Puneet Bist :- Implemented FIFO with semaphores. Also Completed IPC project using Message queues and Semaphores. Rahul Singh :- Working on IPC project using FIFO(working on getting result by second FIFO) Rekha:- Implemented IPC project uisng pipes and FIFOs. Working &#8230; <a href="https://www.emblogic.com/blog/10/daily-reportbatch-20-02-36-3/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><strong>Puneet Bist</strong> :- Implemented FIFO with semaphores.<br />
Also Completed IPC project using Message queues and Semaphores.</p>
<p><strong>Rahul Singh</strong> :- Working on IPC project using FIFO(working on getting result by second FIFO)</p>
<p><strong>Rekha</strong>:- Implemented IPC project uisng pipes and FIFOs.<br />
Working on IPC project using MEssage Queues.</p>
<p><strong>Kamal</strong>:- Implemented IPC between two processes using shared memory.<br />
Working on IPC project using shared memory and semaphores.</p>
<p><strong>Harpreet Singh</strong> :- Implemented IPC between two processes using Shared memory.<br />
Working on IPC project using shared memory,semaphores,FIFO and                                       Pipes</p>
<p><strong>Prabhjot Singh</strong>:- Completed IPC project using shared memory,semaphores,FIFO and                                         Pipes</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/10/daily-reportbatch-20-02-36-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DAILY REPORT(BATCH 20.02.36)</title>
		<link>https://www.emblogic.com/blog/10/daily-reportbatch-20-02-36-2/</link>
		<comments>https://www.emblogic.com/blog/10/daily-reportbatch-20-02-36-2/#comments</comments>
		<pubDate>Wed, 02 Oct 2013 18:17:53 +0000</pubDate>
		<dc:creator><![CDATA[Prabhjot]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Harpreet sir]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=7229</guid>
		<description><![CDATA[Harpreet Singh EET1481                   1) Done IPC using pipes, FIFO and Message Queue.                   2) Implemented Semaphores in 2 processes. Puneet Bist                    Pipe &#38; FIFO are implemented using signals                    Working on FIFO using semaphores Abhishek Bist                   Pipe &#8230; <a href="https://www.emblogic.com/blog/10/daily-reportbatch-20-02-36-2/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<div style="text-align: left">Harpreet Singh<br />
EET1481</div>
<div style="text-align: left">                  1) Done IPC using pipes, FIFO and Message Queue.</div>
<div style="text-align: left">                  2) Implemented Semaphores in 2 processes.</div>
<div style="text-align: left"></div>
<div style="text-align: left">Puneet Bist</div>
<div style="text-align: left">                   Pipe &amp; FIFO are implemented using signals</div>
<div style="text-align: left">                   Working on FIFO using semaphores</div>
<div style="text-align: left"></div>
<div style="text-align: left">Abhishek Bist</div>
<div style="text-align: left">                  Pipe &amp; FIFO are implemented using signals</div>
<div style="text-align: left">                  Working on FIFO using semaphore</div>
<div style="text-align: left"></div>
<div style="text-align: left">Rahul Singh</div>
<div style="text-align: left">                   IPC using pipes is completed .and using FIFO and Message Queue is on progress</div>
<div style="text-align: left"></div>
<div style="text-align: left">Prabhjot Singh</div>
<div style="text-align: left">                   Implemented Semaphores b/w two process</div>
<div style="text-align: left">                   Implemented IPC using Shared Memory</div>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/10/daily-reportbatch-20-02-36-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DAILY REPORT(BATCH 20.02.36)</title>
		<link>https://www.emblogic.com/blog/10/daily-reportbatch-20-02-36/</link>
		<comments>https://www.emblogic.com/blog/10/daily-reportbatch-20-02-36/#comments</comments>
		<pubDate>Tue, 01 Oct 2013 18:24:08 +0000</pubDate>
		<dc:creator><![CDATA[Prabhjot]]></dc:creator>
				<category><![CDATA[Project 03: Client Server Communication using Linux and IPC]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Harpreet sir]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=7226</guid>
		<description><![CDATA[Project 3 : Linux internals/ system programming and Project Status Harpreet Singh : 1) Successfully implemented IPC using pipes with and without using signals. 2) Successfully implemented IPC using pipes and FIFOs with and without using signals. Prabhjot Singh  : &#8230; <a href="https://www.emblogic.com/blog/10/daily-reportbatch-20-02-36/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Project 3 : Linux internals/ system programming and Project Status</p>
<p>Harpreet Singh : 1) Successfully implemented IPC using pipes with and without using signals.<br />
2) Successfully implemented IPC using pipes and FIFOs with and without using signals.</p>
<p>Prabhjot Singh  : Successfully implemented IPC using :-<br />
1) pipes(Synchronized using  Signals)<br />
2) FIFOs and pipes(Synchronised using Signals)<br />
3) Message Queues, FIFOs and Pipes.</p>
<p>Other Team members are requested to please mail there progress in project ASAP as no mails were received.</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/10/daily-reportbatch-20-02-36/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VARIABLES IN SHELL SCRIPT</title>
		<link>https://www.emblogic.com/blog/07/variables-in-shell-script/</link>
		<comments>https://www.emblogic.com/blog/07/variables-in-shell-script/#comments</comments>
		<pubDate>Thu, 25 Jul 2013 17:26:26 +0000</pubDate>
		<dc:creator><![CDATA[Prabhjot]]></dc:creator>
				<category><![CDATA[Shell Scripts]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=6940</guid>
		<description><![CDATA[In bash every variable is a  string.. My question is if these values are stored as ASCII values? And how arithmetic operations are manipulated with integers/numbers, if they are stored as strings(or ASCII values)????]]></description>
				<content:encoded><![CDATA[<p>In bash every variable is a  string..<br />
My question is if these values are stored as ASCII values?</p>
<p>And how arithmetic operations are manipulated with integers/numbers, if they are stored as strings(or ASCII values)????</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/07/variables-in-shell-script/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
