<?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; Ziaulhaquea356</title>
	<atom:link href="https://www.emblogic.com/blog/author/ziaulhaquea356/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>Implementation of Register and Unregister in kernel</title>
		<link>https://www.emblogic.com/blog/06/implementation-of-register-and-unregister-in-kernel/</link>
		<comments>https://www.emblogic.com/blog/06/implementation-of-register-and-unregister-in-kernel/#comments</comments>
		<pubDate>Thu, 26 Jun 2014 07:51:15 +0000</pubDate>
		<dc:creator><![CDATA[Ziaulhaquea356]]></dc:creator>
				<category><![CDATA[Character Driver]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=10650</guid>
		<description><![CDATA[&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;HEADER&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.. head    1.1; access; symbols; locks; strict; comment    @ * @; 1.1 date    2014.06.25.11.52.30;    author root;    state Exp; branches; next    ; desc @The test of register and unregister on kernels @ &#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.DEFAULT&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.. head    1.2; access; symbols; locks; strict; comment    @ &#8230; <a href="https://www.emblogic.com/blog/06/implementation-of-register-and-unregister-in-kernel/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;HEADER&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;..</p>
<p>head    1.1;<br />
access;<br />
symbols;<br />
locks; strict;<br />
comment    @ * @;</p>
<p>1.1<br />
date    2014.06.25.11.52.30;    author root;    state Exp;<br />
branches;<br />
next    ;</p>
<p>desc<br />
@The test of register and unregister on kernels<br />
@</p>
<p>&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.DEFAULT&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;..</p>
<p>head    1.2;<br />
access;<br />
symbols;<br />
locks; strict;<br />
comment    @ * @;</p>
<p>1.2<br />
date    2014.06.26.05.39.25;    author root;    state Exp;<br />
branches;<br />
next    1.1;</p>
<p>1.1<br />
date    2014.06.25.11.54.33;    author root;    state Exp;<br />
branches;<br />
next    ;</p>
<p>desc<br />
@The define is using<br />
@</p>
<p>1.2<br />
log<br />
@chrdev is change<br />
@<br />
text</p>
<p>&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;DECLERATION&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;..</p>
<p>head    1.1;<br />
access;<br />
symbols;<br />
locks; strict;<br />
comment    @ * @;</p>
<p>1.1<br />
date    2014.06.25.11.54.33;    author root;    state Exp;<br />
branches;<br />
next    ;</p>
<p>desc<br />
@The declear is extern majorno.<br />
@</p>
<p>1.1<br />
log<br />
@Initial revision<br />
@</p>
<p>&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.INITIALIZATION&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p>
<p>head    1.1;<br />
access;<br />
symbols;<br />
locks; strict;<br />
comment    @ * @;</p>
<p>1.1<br />
date    2014.06.25.11.54.33;    author root;    state Exp;<br />
branches;<br />
next    ;</p>
<p>desc<br />
@This is initialization<br />
@</p>
<p>1.1<br />
log<br />
@Initial revision<br />
@<br />
text</p>
<p>&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.CLEANUP&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p>
<p>head    1.1;<br />
access;<br />
symbols;<br />
locks; strict;<br />
comment    @ * @;</p>
<p>1.1<br />
date    2014.06.25.11.54.33;    author root;    state Exp;<br />
branches;<br />
next    ;</p>
<p>desc<br />
@This is cleanup.<br />
@</p>
<p>1.1<br />
log<br />
@Initial revision<br />
@</p>
<p>&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.EDIT&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;..</p>
<p>head    1.1;<br />
access;<br />
symbols;<br />
locks<br />
root:1.1; strict;<br />
comment    @# @;</p>
<p>1.1<br />
date    2014.06.25.11.54.33;    author root;    state Exp;<br />
branches;<br />
next    ;</p>
<p>desc<br />
@The all file include chrdev<br />
@</p>
<p>1.1<br />
log<br />
@Initial revision<br />
@</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/06/implementation-of-register-and-unregister-in-kernel/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Character Device Driver</title>
		<link>https://www.emblogic.com/blog/06/character-device-driver-10/</link>
		<comments>https://www.emblogic.com/blog/06/character-device-driver-10/#comments</comments>
		<pubDate>Mon, 23 Jun 2014 11:02:47 +0000</pubDate>
		<dc:creator><![CDATA[Ziaulhaquea356]]></dc:creator>
				<category><![CDATA[Character Driver]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=10600</guid>
		<description><![CDATA[?The kernel offers several subroutines or functions in user space, which allow the end user application programmer to interact with the hardware. Usually, in UNIX or Linux systems, this dialogue is performed through functions or subroutines in order to read and write files. &#8230; <a href="https://www.emblogic.com/blog/06/character-device-driver-10/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<div style="text-align: justify"><span style="font-family: arial, helvetica, sans-serif;font-size: 14px;color: #333333">?The kernel offers several subroutines or functions in user space, which allow the end </span><span style="font-family: arial, helvetica, sans-serif;font-size: 14px;color: #333333">user application programmer to interact with the hardware. Usually, in UNIX or Linux </span><span style="font-family: arial, helvetica, sans-serif;font-size: 14px;color: #333333">systems, this dialogue is performed through functions or subroutines in order to read </span><span style="font-family: arial, helvetica, sans-serif;font-size: 14px;color: #333333">and write files. The reason for this is that in Unix devices are seen, from the point of </span><span style="font-family: arial, helvetica, sans-serif;font-size: 14px;color: #333333">view of the user, as files.</span></div>
<div style="text-align: justify"><span style="color: #333333"><span style="font-size: 14px"><span style="font-family: arial,helvetica,sans-serif">?On the other hand, in kernel space Linux also offers several functions or subroutines to </span></span></span><span style="font-family: arial, helvetica, sans-serif;font-size: 14px;color: #333333">perform the low level interactions directly with the hardware, and allow the transfer of </span><span style="font-family: arial, helvetica, sans-serif;font-size: 14px;color: #333333">information from kernel to user space.</span></div>
<div style="text-align: justify"><span style="color: #333333"><span style="font-size: 14px"><span style="font-family: arial,helvetica,sans-serif">?Usually, for each function in user space (allowing the use of devices or files), there </span></span></span><span style="font-family: arial, helvetica, sans-serif;font-size: 14px;color: #333333">exists an equivalent in kernel space (allowing the transfer of information from the </span><span style="font-family: arial, helvetica, sans-serif;font-size: 14px;color: #333333">kernel to the user and vice-versa). </span><span style="font-family: arial, helvetica, sans-serif;font-size: 14px;color: #333333">?Scull is implemented on virtual disk having 8 register set. Application accesses the </span><span style="font-family: arial, helvetica, sans-serif;font-size: 14px;color: #333333">device through Kernel entry points available at user level. Any amount of data can </span><span style="font-family: arial, helvetica, sans-serif;font-size: 14px;color: #333333"> be read or written to scull depending on device size on character by character basis. </span></div>
<div style="text-align: justify"><span style="font-family: arial, helvetica, sans-serif;font-size: 14px;color: #333333">Various operations can be </span><span style="font-family: arial, helvetica, sans-serif;font-size: 14px;color: #333333"> performed on the device. Device can be opened in append mode where user can write </span><span style="font-family: arial, helvetica, sans-serif;font-size: 14px;color: #333333">and read from any position. In read mode , any data can be read from the device from </span><span style="font-family: arial, helvetica, sans-serif;font-size: 14px;color: #333333">any position .In write mode, any data can be written to the </span><span style="font-family: arial, helvetica, sans-serif;font-size: 14px;color: #333333"> device from beginning , device will be treated as fresh device. Proc file system is used </span><span style="font-family: arial, helvetica, sans-serif;font-size: 14px;color: #333333">for debugging driver. Ioctl is implemented for changing device parameters . All we </span><span style="font-family: arial, helvetica, sans-serif;font-size: 14px;color: #333333">need to do is to pass the specification of device from the application. Synchronization </span><span style="font-family: arial, helvetica, sans-serif;font-size: 14px;color: #333333">Technique – Semaphore,Kernel Mutex , Blocking i/o , Completion , Poll, Spin-lock , </span><span style="font-family: arial, helvetica, sans-serif;font-size: 14px;color: #333333">Sequential locks,Big Kernel lock is used for multi-threaded application to avoid </span><span style="font-family: arial, helvetica, sans-serif;font-size: 14px;color: #333333">synchronization problem. Application is delayed before accessing scull using Kernel </span><span style="font-family: arial, helvetica, sans-serif;font-size: 14px;color: #333333">Timers. Kernel Timers along with Blocking i/o are used for delaying the application to </span><span style="font-family: arial, helvetica, sans-serif;font-size: 14px;color: #333333">access to device while the device </span><span style="font-family: arial, helvetica, sans-serif;font-size: 14px;color: #333333"> is getting ready.</span></div>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/06/character-device-driver-10/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>simple print at kernel</title>
		<link>https://www.emblogic.com/blog/06/simple-print-at-kernel/</link>
		<comments>https://www.emblogic.com/blog/06/simple-print-at-kernel/#comments</comments>
		<pubDate>Sat, 21 Jun 2014 09:28:44 +0000</pubDate>
		<dc:creator><![CDATA[Ziaulhaquea356]]></dc:creator>
				<category><![CDATA[Character Driver]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=10588</guid>
		<description><![CDATA[head    1.1; access; symbols; locks root:1.1; strict; comment    @ * @; 1.1 date    2014.06.21.09.20.59;    author root;    state Exp; branches; next    ; desc @print on kernel. @ 1.1 log @Initial revision @]]></description>
				<content:encoded><![CDATA[<p>head    1.1;<br />
access;<br />
symbols;<br />
locks<br />
root:1.1; strict;<br />
comment    @ * @;</p>
<p>1.1<br />
date    2014.06.21.09.20.59;    author root;    state Exp;<br />
branches;<br />
next    ;</p>
<p>desc<br />
@print on kernel.<br />
@</p>
<p>1.1<br />
log<br />
@Initial revision<br />
@</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/06/simple-print-at-kernel/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>create socket programme using client and server</title>
		<link>https://www.emblogic.com/blog/06/create-socket-programme-using-client-and-server/</link>
		<comments>https://www.emblogic.com/blog/06/create-socket-programme-using-client-and-server/#comments</comments>
		<pubDate>Thu, 19 Jun 2014 13:02:25 +0000</pubDate>
		<dc:creator><![CDATA[Ziaulhaquea356]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=10552</guid>
		<description><![CDATA[CLIENT:- head    1.1; access; symbols; locks root:1.1; strict; comment    @ * @; 1.1 date    2014.06.17.10.36.05;    author root;    state Exp; branches; next    ; desc @creat reqclient for socket. @ 1.1 log @Initial revision @ text @#include&#8221;header.c&#8221; int main() { char data1[3]={5,4,&#8217;+&#8217;}; &#8230; <a href="https://www.emblogic.com/blog/06/create-socket-programme-using-client-and-server/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>CLIENT:-</p>
<p>head    1.1;<br />
access;<br />
symbols;<br />
locks<br />
root:1.1; strict;<br />
comment    @ * @;</p>
<p>1.1<br />
date    2014.06.17.10.36.05;    author root;    state Exp;<br />
branches;<br />
next    ;</p>
<p>desc<br />
@creat reqclient for socket.<br />
@</p>
<p>1.1<br />
log<br />
@Initial revision<br />
@<br />
text<br />
@#include&#8221;header.c&#8221;<br />
int main()<br />
{<br />
char data1[3]={5,4,&#8217;+&#8217;};<br />
char sum;<br />
int len,server_fd,count;<br />
struct sockaddr_in client_addr;<br />
client_addr.sin_family=AF_INET;<br />
client_addr.sin_port=htons(2224);<br />
client_addr.sin_addr.s_addr=inet_addr(&#8220;127.0.0.1&#8243;);<br />
/*struct data data1;<br />
data1.a=2;<br />
data1.b=4;<br />
data1.opr=&#8217;+&#8217;;*/<br />
int client_fd=socket(AF_INET,SOCK_STREAM,0);<br />
if(client_fd&lt;0)<br />
{<br />
perror(&#8220;\n socket is failure&#8221;);<br />
exit(-1);<br />
}<br />
int fd=connect(client_fd,(struct sockaddr *)&amp;client_addr,sizeof(struct sockaddr_in));<br />
if(fd&lt;0)<br />
{<br />
perror(&#8220;\n connect is failure&#8221;);<br />
exit(-1);<br />
}<br />
len=sizeof(struct data);<br />
count=write(client_fd,&amp;data1,3);<br />
printf(&#8220;no.of bytes writtern %d\n&#8221;,count);<br />
read(client_fd,&amp;sum,1);<br />
printf(&#8220;sum= %d\n&#8221;,sum);<br />
return 0;</p>
<p>}<br />
@</p>
<p>SERVER:-</p>
<p>locks<br />
root:1.1; strict;<br />
comment    @ * @;</p>
<p>1.1<br />
date    2014.06.17.10.34.40;    author root;    state Exp;<br />
branches;<br />
next    ;</p>
<p>desc<br />
@server for socket impl.<br />
@</p>
<p>1.1<br />
log<br />
@Initial revision<br />
@<br />
text<br />
@#include&#8221;header.c&#8221;<br />
int main()<br />
{<br />
char buff[3];<br />
socklen_t len;<br />
len=sizeof(struct sockaddr_in);<br />
struct data data1;<br />
int server_fd,server_fd1,true=1,ret,count,count1;<br />
char sum;<br />
struct sockaddr_in server_addr,client_addr,reqclient_addr,server_addr1,client_addr1;<br />
server_addr.sin_family=AF_INET;<br />
server_addr.sin_port=htons(2224);<br />
server_addr.sin_addr.s_addr=inet_addr(&#8220;127.0.0.1&#8243;);<br />
server_fd=socket(AF_INET,SOCK_STREAM,0);<br />
server_fd1=socket(AF_INET,SOCK_STREAM,0);<br />
if(setsockopt(server_fd,SOL_SOCKET,SO_REUSEADDR,&amp;true,sizeof(int))==-1)<br />
{<br />
perror(&#8220;\n setsockopt is failure&#8221;);<br />
exit(-1);<br />
}<br />
if(setsockopt(server_fd1,SOL_SOCKET,SO_REUSEADDR,&amp;true,sizeof(int))==-1)<br />
{<br />
perror(&#8220;\n setsockopt is failure&#8221;);<br />
exit(-1);<br />
}</p>
<p>ret=bind(server_fd,(const struct sockaddr *)&amp;server_addr,sizeof(struct sockaddr_in));<br />
if(ret&lt;0)<br />
{<br />
perror(&#8220;\n bind is failure&#8221;);<br />
exit(-1);<br />
}<br />
printf(&#8220;gfhgkjj,hkh,&#8221;);<br />
ret=listen(server_fd,5);<br />
if(ret&lt;0)<br />
{<br />
perror(&#8220;\n listen is failure&#8221;);<br />
exit(-1);<br />
}</p>
<p>int fd=accept(server_fd,( struct sockaddr *)&amp;client_addr,&amp;len);<br />
if(fd&lt;0)<br />
{<br />
perror(&#8221; accept is failure\n&#8221;);<br />
exit(-1);<br />
}</p>
<p>//        len=sizeof(struct data);<br />
count=read(fd,buff,3);<br />
printf(&#8220;VALUE OF 1ST VARIABLE OF BUFF IN SERVER &#8212;&gt;&gt;[%d]\n&#8221;,buff[0]);<br />
printf(&#8220;VALUE OF 2nd VARIABLE OF BUFF IN SERVER &#8212;&gt;&gt;[%d]\n&#8221;,buff[1]);<br />
printf(&#8220;VALUE OF 3rd VARIABLE OF BUFF IN SERVER &#8212;&gt;&gt;[%c]\n&#8221;,buff[2]);<br />
//printf(&#8220;\n count=%d,data1.a=%d,data1.b=%d,data1.opr=%c\n&#8221;,count,data1.a,data1.b,data1.opr);</p>
<p>server_addr1.sin_family=AF_INET;<br />
server_addr1.sin_port=htons(6666);<br />
server_addr1.sin_addr.s_addr=inet_addr(&#8220;127.0.0.1&#8243;);</p>
<p>ret=bind(server_fd1,(const struct sockaddr *)&amp;server_addr1,sizeof(struct sockaddr_in));<br />
if(ret&lt;0)<br />
{<br />
perror(&#8220;\n bind is failure&#8221;);<br />
exit(-1);<br />
}<br />
ret=listen(server_fd1,5);<br />
if(ret&lt;0)<br />
{<br />
perror(&#8220;\n listen is failure&#8221;);<br />
exit(-1);<br />
}<br />
int fd1=accept(server_fd1,( struct sockaddr *)&amp;reqclient_addr,&amp;len);<br />
if(fd&lt;0)<br />
{<br />
perror(&#8220;\n accept is failure&#8221;);<br />
exit(-1);<br />
}<br />
len=sizeof(struct data);<br />
count=write(fd1,buff,3);<br />
printf(&#8220;no.of bytes writtern %d\n&#8221;,count);<br />
count1=read(fd1,&amp;sum,1);<br />
printf(&#8220;count is =%d,sum=%d&#8221;,count1,sum);<br />
count=write(fd,&amp;sum,1);<br />
return 0;<br />
}<br />
@</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/06/create-socket-programme-using-client-and-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FTP based Client Server project using sockets and threads</title>
		<link>https://www.emblogic.com/blog/06/ftp-based-client-server-project-using-sockets-and-threads/</link>
		<comments>https://www.emblogic.com/blog/06/ftp-based-client-server-project-using-sockets-and-threads/#comments</comments>
		<pubDate>Tue, 17 Jun 2014 08:58:07 +0000</pubDate>
		<dc:creator><![CDATA[Ziaulhaquea356]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=10516</guid>
		<description><![CDATA[Sockets are the fundamental technology for programming software to communicate on TCP/IP networks. A socket provides a bidirectional communication endpoint for sending and receiving data with another socket. Socket connections normally run between two different computers on a LAN or across the Internet, &#8230; <a href="https://www.emblogic.com/blog/06/ftp-based-client-server-project-using-sockets-and-threads/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><span style="color: #333333"><span style="font-size: 14px"><span style="font-family: arial,helvetica,sans-serif">Sockets are the fundamental technology for programming software to communicate on TCP/IP networks. A socket provides a bidirectional communication endpoint for </span></span></span><span style="font-family: arial, helvetica, sans-serif;font-size: 14px;color: #333333">sending and receiving data with another socket. Socket connections normally run </span><span style="font-family: arial, helvetica, sans-serif;font-size: 14px;color: #333333">between two different computers on a LAN or across the Internet, but they can also be </span><span style="font-family: arial, helvetica, sans-serif;font-size: 14px;color: #333333">used for inter-process communication on a single computer.</span></p>
<div><span style="color: #333333"><span style="font-size: 14px"><span style="font-family: arial,helvetica,sans-serif">It involves the use of Socket Programming. Client creates a local TCP socket specifying </span></span></span><span style="font-family: arial, helvetica, sans-serif;font-size: 14px;color: #333333">the IP and port </span><span style="font-family: arial, helvetica, sans-serif;font-size: 14px;color: #333333">?number of server process , the client’s TCP establishes connection to server’s TCP. </span><span style="font-family: arial, helvetica, sans-serif;font-size: 14px;color: #333333">When contacted by a client, server creates a new socket for server process to </span><span style="font-family: arial, helvetica, sans-serif;font-size: 14px;color: #333333">communicate with client. Client sends a request to the Server and then </span><span style="font-family: arial, helvetica, sans-serif;font-size: 14px;color: #333333"> Server responds to the client . Data Transmission is over TCP/ IP protocol. Data </span><span style="font-family: arial, helvetica, sans-serif;font-size: 14px;color: #333333">exchanging protocol is build by creating our own network protocol stack over the </span><span style="font-family: arial, helvetica, sans-serif;font-size: 14px;color: #333333">socket stack.</span></div>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/06/ftp-based-client-server-project-using-sockets-and-threads/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>program of thread and checking load of processor</title>
		<link>https://www.emblogic.com/blog/06/program-of-thread-and-checking-load-of-processor/</link>
		<comments>https://www.emblogic.com/blog/06/program-of-thread-and-checking-load-of-processor/#comments</comments>
		<pubDate>Sat, 07 Jun 2014 10:11:08 +0000</pubDate>
		<dc:creator><![CDATA[Ziaulhaquea356]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=10384</guid>
		<description><![CDATA[head    1.1; access; symbols; locks root:1.1; strict; comment    @ * @; 1.1 date    2014.06.07.07.30.30;    author root;    state Exp; branches; next    ; desc @simple program of thread. @ 1.1 log @Initial revision @]]></description>
				<content:encoded><![CDATA[<p>head    1.1;<br />
access;<br />
symbols;<br />
locks<br />
root:1.1; strict;<br />
comment    @ * @;</p>
<p>1.1<br />
date    2014.06.07.07.30.30;    author root;    state Exp;<br />
branches;<br />
next    ;</p>
<p>desc<br />
@simple program of thread.<br />
@</p>
<p>1.1<br />
log<br />
@Initial revision<br />
@</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/06/program-of-thread-and-checking-load-of-processor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Thread concept</title>
		<link>https://www.emblogic.com/blog/06/thread-concept-2/</link>
		<comments>https://www.emblogic.com/blog/06/thread-concept-2/#comments</comments>
		<pubDate>Fri, 06 Jun 2014 07:15:08 +0000</pubDate>
		<dc:creator><![CDATA[Ziaulhaquea356]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=10347</guid>
		<description><![CDATA[Thread operations include thread creation, termination, synchronization (joins,blocking), scheduling, data management and process interaction. A thread does not maintain a list of created threads, nor does it know the thread that created it. All threads within a process share the &#8230; <a href="https://www.emblogic.com/blog/06/thread-concept-2/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<ul>
<li>Thread operations include thread creation, termination, synchronization (joins,blocking), scheduling, data management and process interaction.</li>
<li>A thread does not maintain a list of created threads, nor does it know the thread that created it.</li>
<li>All threads within a process share the same address space.</li>
<li>Threads in the same process share:
<ul>
<li>Process instructions</li>
<li>Most data</li>
<li>open files (descriptors)</li>
<li>signals and signal handlers</li>
<li>current working directory</li>
<li>User and group id</li>
</ul>
</li>
<li>Each thread has a unique:
<ul>
<li>Thread ID</li>
<li>set of registers, stack pointer</li>
<li>stack for local variables, return addresses</li>
<li>signal mask</li>
<li>priority</li>
<li>Return value: <tt>errno</tt></li>
</ul>
</li>
<li>pthread functions return “0? if OK.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/06/thread-concept-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Thread</title>
		<link>https://www.emblogic.com/blog/06/thread-2/</link>
		<comments>https://www.emblogic.com/blog/06/thread-2/#comments</comments>
		<pubDate>Fri, 06 Jun 2014 07:03:15 +0000</pubDate>
		<dc:creator><![CDATA[Ziaulhaquea356]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=10344</guid>
		<description><![CDATA[The POSIX thread libraries are a standards based thread API for C/C++. It allows one to spawn a new concurrent process flow. It is most effective on multi-processor or multi-core systems where the process flow can be scheduled to run &#8230; <a href="https://www.emblogic.com/blog/06/thread-2/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>The POSIX thread libraries are a standards based thread API for C/C++. It allows one to spawn a new concurrent process flow. It is most effective on multi-processor or multi-core systems where the process flow can be scheduled to run on another processor thus gaining speed through parallel or distributed processing. Threads require less overhead than “forking” or spawning a new process because the system does not initialize a new system virtual memory space and environment for the process. While most effective on a multiprocessor system, gains are also found on uniprocessor systems which exploit latency in I/O and other system functions which may halt process execution. (One thread may execute while another is waiting for I/O or some other system latency.) Parallel programming technologies such as MPI and PVM are used in a distributed computing environment while threads are limited to a single computer system. All threads within a process share the same address space. A thread is spawned by defining a function and its arguments which will be processed in the thread. The purpose of using the POSIX thread library in your software is to execute software faster</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/06/thread-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RCS</title>
		<link>https://www.emblogic.com/blog/03/rcs/</link>
		<comments>https://www.emblogic.com/blog/03/rcs/#comments</comments>
		<pubDate>Tue, 25 Mar 2014 09:44:18 +0000</pubDate>
		<dc:creator><![CDATA[Ziaulhaquea356]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=9334</guid>
		<description><![CDATA[Name : rcs Product : Fedora 19 Version : 5.9.0 Release : 1.fc19 URL : http://www.gnu.org/software/rcs/ Summary : Revision Control System (RCS) file version management tools Description : The Revision Control System (RCS) is a system for managing multiple versions &#8230; <a href="https://www.emblogic.com/blog/03/rcs/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Name : rcs<br />
Product : Fedora 19<br />
Version : 5.9.0<br />
Release : 1.fc19<br />
URL : http://www.gnu.org/software/rcs/<br />
Summary : Revision Control System (RCS) file version management tools<br />
Description :<br />
The Revision Control System (RCS) is a system for managing multiple<br />
versions of files. RCS automates the storage, retrieval, logging,<br />
identification and merging of file revisions. RCS is useful for text<br />
files that are revised frequently (for example, programs,<br />
documentation, graphics, papers and form letters).</p>
<p>The rcs package should be installed if you need a system for managing<br />
different versions of files.</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/03/rcs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>enter a string and compress with the help of masterarray</title>
		<link>https://www.emblogic.com/blog/03/enter-a-string-and-compress-with-the-help-of-masterarray/</link>
		<comments>https://www.emblogic.com/blog/03/enter-a-string-and-compress-with-the-help-of-masterarray/#comments</comments>
		<pubDate>Tue, 25 Mar 2014 07:11:20 +0000</pubDate>
		<dc:creator><![CDATA[Ziaulhaquea356]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=9335</guid>
		<description><![CDATA[head    1.1; access; symbols; locks; strict; comment    @ * @; 1.1 date    2014.03.23.21.53.35;    author root;    state Exp; branches; next    ; desc @master array with compression @ 1.1 log @Initial revision @ text @#include&#60;stdio.h&#62; #include&#60;string.h&#62; #include&#60;fcntl.h&#62; int main() { int i=0,j,len,maslen=1,fd,ret; &#8230; <a href="https://www.emblogic.com/blog/03/enter-a-string-and-compress-with-the-help-of-masterarray/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>head    1.1;<br />
access;<br />
symbols;<br />
locks; strict;<br />
comment    @ * @;</p>
<p>1.1<br />
date    2014.03.23.21.53.35;    author root;    state Exp;<br />
branches;<br />
next    ;</p>
<p>desc<br />
@master array with compression<br />
@</p>
<p>1.1<br />
log<br />
@Initial revision<br />
@<br />
text<br />
@#include&lt;stdio.h&gt;<br />
#include&lt;string.h&gt;<br />
#include&lt;fcntl.h&gt;<br />
int main()<br />
{<br />
int i=0,j,len,maslen=1,fd,ret;<br />
char arr[100]={0};<br />
char masterarr[25]={0};<br />
fd=open(&#8220;add.c&#8221;,O_RDONLY);<br />
if(fd&lt;0)<br />
{<br />
perror(&#8220;open&#8221;);<br />
goto OUT;<br />
}<br />
printf(&#8220;fd=%d\n&#8221;,fd);</p>
<p>ret=read(fd,&amp;arr[i],1);<br />
for(i=1;ret&gt;0;i++)<br />
{<br />
ret=read(fd,&amp;arr[i],1);<br />
printf(&#8220;\nret=%d,data is %c\n&#8221;,ret,arr[i]);<br />
}</p>
<p>len=strlen(arr);<br />
unsigned int ch1,ch2,comp,fd1;<br />
for(i=0;i&lt;len;i++)<br />
{<br />
for(j=0;j&lt;maslen;j++)<br />
{<br />
if(j+1==maslen)<br />
{<br />
masterarr[j]=arr[i];<br />
maslen++;<br />
break;<br />
}<br />
else<br />
{<br />
if(masterarr[j]==arr[i])<br />
break;<br />
}<br />
}<br />
}<br />
printf(&#8220;masterarr=%s\n&#8221;,masterarr);<br />
fd1=open(&#8220;compress&#8221;,O_CREAT|O_RDWR,777);<br />
if(fd&lt;0)<br />
{<br />
perror(&#8220;open&#8221;);<br />
goto OUT;<br />
}</p>
<p>for(i=0;i&lt;len;i++)<br />
{<br />
for(j=0;j&lt;maslen;j++)<br />
{<br />
if(masterarr[j]==arr[i])<br />
{<br />
ch1=j;<br />
break;<br />
}<br />
}<br />
i++;<br />
for(j=0;j&lt;maslen;j++)<br />
{<br />
if(masterarr[j]==arr[i])<br />
{<br />
ch2=j;<br />
break;<br />
}<br />
}<br />
printf(&#8220;value in ch1 %d\n and ch2 %d\n&#8221;,ch1,ch2);</p>
<p>ch2=ch2&lt;&lt;4;<br />
comp=ch1|ch2;<br />
printf(&#8220;comp=%d&#8221;,comp);<br />
write(fd1,&amp;comp,1);<br />
}<br />
return 0;<br />
OUT:<br />
return-1;<br />
}</p>
<p>@</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/03/enter-a-string-and-compress-with-the-help-of-masterarray/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>pointer</title>
		<link>https://www.emblogic.com/blog/03/pointer-2/</link>
		<comments>https://www.emblogic.com/blog/03/pointer-2/#comments</comments>
		<pubDate>Mon, 03 Mar 2014 07:20:24 +0000</pubDate>
		<dc:creator><![CDATA[Ziaulhaquea356]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=8795</guid>
		<description><![CDATA[pointer-&#62; pointer is a variable that store logical address.it is the only way to express som computation and produces compact and efficient cod.it povides a very powerful tool]]></description>
				<content:encoded><![CDATA[<p>pointer-&gt; pointer is a variable that store logical address.it is the only way to express som computation and produces compact and efficient cod.it povides a very powerful tool</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/03/pointer-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
