<?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; Dinesh Sharma</title>
	<atom:link href="https://www.emblogic.com/blog/author/dineshsharma5023/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>fork call in inter process communication</title>
		<link>https://www.emblogic.com/blog/09/fork-call-in-inter-process-communication/</link>
		<comments>https://www.emblogic.com/blog/09/fork-call-in-inter-process-communication/#comments</comments>
		<pubDate>Fri, 09 Sep 2016 19:52:42 +0000</pubDate>
		<dc:creator><![CDATA[Dinesh Sharma]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=13676</guid>
		<description><![CDATA[In multitasking operating systems, processes (running programs) need a way to create new processes, e.g. to run other programs. Fork and its variants are typically the only way of doing so in Unix-like systems. For a process to start the &#8230; <a href="https://www.emblogic.com/blog/09/fork-call-in-inter-process-communication/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p style="color: #252525">In multitasking operating systems, processes (running programs) need a way to create new processes, e.g. to run other programs. Fork and its variants are typically the only way of doing so in Unix-like systems. For a process to start the execution of a different program, it first forks to create a copy of itself. Then, the copy, called the &#8220;<a style="color: #0b0080" title="Child process" href="https://en.wikipedia.org/wiki/Child_process">child process</a>&#8220;, calls the <a class="mw-redirect" style="color: #0b0080" title="Exec (computing)" href="https://en.wikipedia.org/wiki/Exec_(computing)">exec</a> system call to overlay itself with the other program: it ceases execution of its former program in favor of the other.</p>
<p style="color: #252525">The fork operation creates a separate <a style="color: #0b0080" title="Address space" href="https://en.wikipedia.org/wiki/Address_space">address space</a> for the child. The child process has an exact copy of all the memory segments of the parent process. In modern UNIX variants that follow the <a style="color: #0b0080" title="Virtual memory" href="https://en.wikipedia.org/wiki/Virtual_memory">virtual memory</a> model from SunOS-4.0, <a style="color: #0b0080" title="Copy-on-write" href="https://en.wikipedia.org/wiki/Copy-on-write">copy-on-write</a> semantics are implemented and the physical memory need not be actually copied. Instead, <a class="mw-redirect" style="color: #0b0080" title="Virtual memory pages" href="https://en.wikipedia.org/wiki/Virtual_memory_pages">virtual memory pages</a> in both processes may refer to the same pages of <a class="mw-redirect" style="color: #0b0080" title="Physical memory" href="https://en.wikipedia.org/wiki/Physical_memory">physical memory</a> until one of them writes to such a page: then it is copied. This optimization is important in the common case where fork is used in conjunction with exec to execute a new program: typically, the child process performs only a small set of actions before it ceases execution of its program in favour of the program to be started, and it requires very few, if any, of its parent&#8217;s<a style="color: #0b0080" title="Data structure" href="https://en.wikipedia.org/wiki/Data_structure">data structures</a>.</p>
<p style="color: #252525">When a process calls fork, it is deemed the <a style="color: #0b0080" title="Parent process" href="https://en.wikipedia.org/wiki/Parent_process">parent process</a> and the newly created process is its child. After the fork, both processes not only run the same program, but they resume execution as though both had called the system call. They can then inspect the call&#8217;s <a class="mw-redirect" style="color: #0b0080" title="Return value" href="https://en.wikipedia.org/wiki/Return_value">return value</a> to determine their status, child or parent, and act accordingly.</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/09/fork-call-in-inter-process-communication/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>rcs(revision control system)</title>
		<link>https://www.emblogic.com/blog/08/rcsrevision-control-system/</link>
		<comments>https://www.emblogic.com/blog/08/rcsrevision-control-system/#comments</comments>
		<pubDate>Thu, 11 Aug 2016 17:27:04 +0000</pubDate>
		<dc:creator><![CDATA[Dinesh Sharma]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=13653</guid>
		<description><![CDATA[The Revision Control System (RCS) is a software implementation of revision controlthat automates the storing, retrieval, logging, identification, and merging of revisions. RCS is useful for text that is revised frequently, for example programs, documentation, procedural graphics, papers, and form letters. RCS is also &#8230; <a href="https://www.emblogic.com/blog/08/rcsrevision-control-system/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><span style="color: #252525">The </span><b style="font-weight: bold;color: #252525">Revision Control System</b><span style="color: #252525"> (</span><b style="font-weight: bold;color: #252525">RCS</b><span style="color: #252525">) is a software implementation of </span><a class="mw-redirect" style="color: #5a3696" title="Revision control" href="https://en.m.wikipedia.org/wiki/Revision_control">revision control</a><span style="color: #252525">that automates the storing, retrieval, logging, identification, and merging of revisions. RCS is useful for text that is revised frequently, for example </span><a style="color: #5a3696" title="Computer program" href="https://en.m.wikipedia.org/wiki/Computer_program">programs</a><span style="color: #252525">, documentation, procedural graphics, papers, and form letters. RCS is also capable of handling binary files, though with reduced efficiency. Revisions are stored with the aid of the </span><a class="mw-redirect" style="color: #5a3696" title="Diff" href="https://en.m.wikipedia.org/wiki/Diff">diff</a><span style="color: #252525"> utility.it is operates only on a single file.</span></p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/08/rcsrevision-control-system/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>link list basics in data c</title>
		<link>https://www.emblogic.com/blog/07/link-list-basics-in-data-c/</link>
		<comments>https://www.emblogic.com/blog/07/link-list-basics-in-data-c/#comments</comments>
		<pubDate>Fri, 29 Jul 2016 05:46:08 +0000</pubDate>
		<dc:creator><![CDATA[Dinesh Sharma]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=13638</guid>
		<description><![CDATA[Linked lists are among the simplest and most common data structures. They can be used to implement several other common abstract data types, including lists (the abstract data type), stacks, queues, associative arrays, and S-expressions, though it is not uncommon &#8230; <a href="https://www.emblogic.com/blog/07/link-list-basics-in-data-c/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Linked lists are among the simplest and most common data structures. They can be used to implement several other common <a title="Abstract data type" href="https://en.wikipedia.org/wiki/Abstract_data_type">abstract data types</a>, including <a title="List (abstract data type)" href="https://en.wikipedia.org/wiki/List_%28abstract_data_type%29">lists</a> (the abstract data type), <a title="Stack (abstract data type)" href="https://en.wikipedia.org/wiki/Stack_%28abstract_data_type%29">stacks</a>, <a title="Queue (abstract data type)" href="https://en.wikipedia.org/wiki/Queue_%28abstract_data_type%29">queues</a>, <a title="Associative array" href="https://en.wikipedia.org/wiki/Associative_array">associative arrays</a>, and <a title="S-expression" href="https://en.wikipedia.org/wiki/S-expression">S-expressions</a>, though it is not uncommon to implement the other data structures directly without using a list as the basis of implementation.</p>
<p>The principal benefit of a linked list over a conventional <a title="Array data structure" href="https://en.wikipedia.org/wiki/Array_data_structure">array</a> is that the list elements can easily be inserted or removed without reallocation or reorganization of the entire structure because the data items need not be stored contiguously in memory or on disk, while an array has to be declared in the source code, before compiling and running the program. Linked lists allow insertion and removal of nodes at any point in the list, and can do so with a constant number of operations if the link previous to the link being added or removed is maintained during list traversal.</p>
<p>On the other hand, simple linked lists by themselves do not allow <a title="Random access" href="https://en.wikipedia.org/wiki/Random_access">random access</a> to the data, or any form of efficient indexing. Thus, many basic operations — such as obtaining the last node of the list (assuming that the last node is not maintained as separate node reference in the list structure), or finding a node that contains a given datum, or locating the place where a new node should be inserted — may require sequential scanning of most or all of the list elements</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/07/link-list-basics-in-data-c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
