<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" media="screen" href="/styles/xslt/rss.xslt"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:c9="http://channel9.msdn.com">
<channel>
	<title>Comment Feed for Channel 9 - Arun Kishan - Process Management in Windows Vista</title>
	<atom:link rel="self" type="application/rss+xml" href="http://channel9.msdn.com/Shows/Going+Deep/Arun-Kishan-Process-Management-in-Windows-Vista/RSS"></atom:link>
	<image>
		<url>http://ecn.channel9.msdn.com/o9/previewImages/100/228723_100x75.jpg</url>
		<title>Channel 9 - Arun Kishan - Process Management in Windows Vista</title>
		<link></link>
	</image>
	<description>Ever wonder how threads and processes are managed in Windows? What&#39;s new in Windows Vista in terms of Process Management? Vista introduces a new type of process called a protected process. What are &amp;quot;protected processes&amp;quot;? How do they work? What&#39;s a Process,
 anyway? A thread? Here, Arun Kishan, the developer who works on Windows&#39; Process Manager sub-component talks about all this and more. If you want to learn how processing happens in Windows, then watch this video.Check out Arun&#39;s 
whitepaper on Protected Processes.</description>
	<link></link>
	<language>en</language>
	<pubDate>Sat, 18 May 2013 23:55:26 GMT</pubDate>
	<lastBuildDate>Sat, 18 May 2013 23:55:26 GMT</lastBuildDate>
	<generator>Rev9</generator>
	<item>
		<title>Re: Arun Kishan - Process Management in Windows Vista</title>
		<description>
			<![CDATA[Great video! I loved how everything was explained in such detail<br /><br />Good stuff<p>posted by Cyonix</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Arun-Kishan-Process-Management-in-Windows-Vista#c632936002470000000</link>
		<pubDate>Mon, 11 Sep 2006 19:37:27 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Arun-Kishan-Process-Management-in-Windows-Vista#c632936002470000000</guid>
		<dc:creator>Cyonix</dc:creator>
	</item>
	<item>
		<title>Re: Arun Kishan - Process Management in Windows Vista</title>
		<description>
			<![CDATA[Thanks for yet another great Going Deep video! I am however, a little confused about one of the points in the video: I wonder if someone could be as kind as to clarify how exactly a TerminateThread call causes any kernel mode calls being made by that function
 to unwind immediately? <br /><br />I can see how this might work for explicit waits (Sleep, WaitForSingleObjectEx) since you already have handing for being interrupted by APCs there in the form of alertable waits, but what about in the general case of e.g. ReadFile? Does your explanation imply
 that there a way to cause arbitrary kernel functions to unwind instantly without corrupting internal kernel state, or do you just wait for all such calls to terminate naturally before doing the cleanup just before the kernel -&gt; user transition as normal? But
 in the case of long running calls kernel mode functions I could see that being a problem..<br /><br />Thanks in advance!<br /><br />BSP<br /><p>posted by batterseapower</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Arun-Kishan-Process-Management-in-Windows-Vista#c632936106350000000</link>
		<pubDate>Mon, 11 Sep 2006 22:30:35 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Arun-Kishan-Process-Management-in-Windows-Vista#c632936106350000000</guid>
		<dc:creator>batterseapower</dc:creator>
	</item>
	<item>
		<title>Re: Arun Kishan - Process Management in Windows Vista</title>
		<description>
			<![CDATA[
<p>Thanks for this video. It helped me understand how windows manages threads that I program in my apps. Great video. Keep it up.</p>
<p>posted by SecretSoftware</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Arun-Kishan-Process-Management-in-Windows-Vista#c632936143410000000</link>
		<pubDate>Mon, 11 Sep 2006 23:32:21 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Arun-Kishan-Process-Management-in-Windows-Vista#c632936143410000000</guid>
		<dc:creator>SecretSoftware</dc:creator>
	</item>
	<item>
		<title>Re: Arun Kishan - Process Management in Windows Vista</title>
		<description>
			<![CDATA[Sorry if this was not clear.<br /><br />Threads only ever &quot;die&quot; on the return to user mode. For the same reason, system threads cannot be terminated. Instead, they must voluntarily exit (direct call to terminate), or exit their main routine. Most kernel code will continue to run uninterrupted, however,
 the assumption is that unbounded kernel-mode waits, etc. should not be easily controllable by a user. User-mode waits, however, are instantly aborted in the kernel once the kernel-mode half of the terminate APC is delivered.<br /><br />You are absolutely right that long running kernel code, or code running with APCs disabled in kernel, will not take the kernel APC or will otherwise not terminate immediately. So TerminateThread really ensures that the target will no longer run in usermode,
 not that it will instantly unwind its kernel state and exit. I was only trying to stress that the mechanism is designed to ensure kernel state is unwound rather than exiting in place.<p>posted by arunki</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Arun-Kishan-Process-Management-in-Windows-Vista#c632936197710000000</link>
		<pubDate>Tue, 12 Sep 2006 01:02:51 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Arun-Kishan-Process-Management-in-Windows-Vista#c632936197710000000</guid>
		<dc:creator>arunki</dc:creator>
	</item>
	<item>
		<title>Re: Arun Kishan - Process Management in Windows Vista</title>
		<description>
			<![CDATA[Hey, the link to the whitepaper does not work.<br /><p>posted by Alexis</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Arun-Kishan-Process-Management-in-Windows-Vista#c632936322350000000</link>
		<pubDate>Tue, 12 Sep 2006 04:30:35 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Arun-Kishan-Process-Management-in-Windows-Vista#c632936322350000000</guid>
		<dc:creator>Alexis</dc:creator>
	</item>
	<item>
		<title>Re: Arun Kishan - Process Management in Windows Vista</title>
		<description>
			<![CDATA[
<blockquote>
<div>Alexis wrote:</div>
<div>&#65279;Hey, the link to the whitepaper does not work.<br /></div>
</blockquote>
<br /><br />Fixed. Thanks for pointing that out...<br />C<p>posted by Charles</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Arun-Kishan-Process-Management-in-Windows-Vista#c632936335830000000</link>
		<pubDate>Tue, 12 Sep 2006 04:53:03 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Arun-Kishan-Process-Management-in-Windows-Vista#c632936335830000000</guid>
		<dc:creator>Charles</dc:creator>
	</item>
	<item>
		<title>Re: Arun Kishan - Process Management in Windows Vista</title>
		<description>
			<![CDATA[Few questions:<br /><br />1)&nbsp; About code injection: crackers and hackers now , cannot do code injection into running processes? Like dll injection will fail? Will this also affect global system hooks? like mouse hook and the likes?<br /><br />how is that actually good?<br /><br /><br /><br />2) What happens when the system is low on threads? when you do something like, QueueWorkItem, and use the system threads to do work in your application, and you &quot;abuse this&quot;, in a server application, what would happen to the system at this stage when its under
 stress? Does it shutdown? or just queues the new work items until an existing system thread is free to process it? Can a new thread be created and added to the system thread pool/ Is this actually a good thing or a bad thing for a uniprocessor system?
<br /><br />3) Is it actually good to use the system thread pool or to create a new unique thread for your specific application?&nbsp;<p>posted by SecretSoftware</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Arun-Kishan-Process-Management-in-Windows-Vista#c632936353110000000</link>
		<pubDate>Tue, 12 Sep 2006 05:21:51 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Arun-Kishan-Process-Management-in-Windows-Vista#c632936353110000000</guid>
		<dc:creator>SecretSoftware</dc:creator>
	</item>
	<item>
		<title>Re: Arun Kishan - Process Management in Windows Vista</title>
		<description>
			<![CDATA[1) Code injection is only limited for the protected processes, which are not meant to provide arbitrary extensibility by design. These processes can only load specially digitally signed code. The goal is to limit what can run inside them.<br /><br />2) There is no one-one mapping between work items and threads. Work queues and the threadpool try to manage the number of threads based on the workload / CPU availability. For example, the Vista threadpool tries to keep # CPU threads running, but will throttle
 threads back when it detects this number has been exceeded. Additional threads are created as needed in this range; the excess work items accumulate and are serviced by threads as they become available.<br /><br />3) It depends on your application. If it is a piece of code you just want to execute asynchronously, threadpool provides an efficient and simple means of accomplishing this. It does, however, introduce additional overhead. In other cases, you may need a dedicated
 thread for a task whose operation / life cycle you may need finer grained control over.<p>posted by arunki</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Arun-Kishan-Process-Management-in-Windows-Vista#c632936446430000000</link>
		<pubDate>Tue, 12 Sep 2006 07:57:23 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Arun-Kishan-Process-Management-in-Windows-Vista#c632936446430000000</guid>
		<dc:creator>arunki</dc:creator>
	</item>
	<item>
		<title>Re: Arun Kishan - Process Management in Windows Vista</title>
		<description>
			<![CDATA[Wrong post...<br /><p>posted by LiQ</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Arun-Kishan-Process-Management-in-Windows-Vista#c632936596960000000</link>
		<pubDate>Tue, 12 Sep 2006 12:08:16 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Arun-Kishan-Process-Management-in-Windows-Vista#c632936596960000000</guid>
		<dc:creator>LiQ</dc:creator>
	</item>
	<item>
		<title>Re: Arun Kishan - Process Management in Windows Vista</title>
		<description>
			<![CDATA[
<blockquote>
<div>arunki wrote:</div>
<div>&#65279;1) Code injection is only limited for the protected processes, which are not meant to provide arbitrary extensibility by design. These processes can only load specially digitally signed code. The goal is to limit what can run inside them.<br /><br />2) There is no one-one mapping between work items and threads. Work queues and the threadpool try to manage the number of threads based on the workload / CPU availability. For example, the Vista threadpool tries to keep # CPU threads running, but will throttle
 threads back when it detects this number has been exceeded. Additional threads are created as needed in this range; the excess work items accumulate and are serviced by threads as they become available.<br /><br />3) It depends on your application. If it is a piece of code you just want to execute asynchronously, threadpool provides an efficient and simple means of accomplishing this. It does, however, introduce additional overhead. In other cases, you may need a dedicated
 thread for a task whose operation / life cycle you may need finer grained control over.</div>
</blockquote>
<br /><br /><br /><br />Thanks for the reply. I like the new protected process with in vista. But I wish if we can have examples as to how to create a protected process using Visual Studio 2005 in C#. Like an introduction as to how to create a protected application.<br /><br />Also, in the video , it was mentioned that the END PROCESS api will just kill of the process on the spot and this should be used only as a last measure, and if we know the state the process is in (most of us dont know that because we did not write the application
 that might go on a loop or hangs). But there are &quot;Service&quot; processes that simply refuse to be killed. You often get &quot;Access denied&quot; or something along those words. Can you explain that?<p>posted by SecretSoftware</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Arun-Kishan-Process-Management-in-Windows-Vista#c632936750630000000</link>
		<pubDate>Tue, 12 Sep 2006 16:24:23 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Arun-Kishan-Process-Management-in-Windows-Vista#c632936750630000000</guid>
		<dc:creator>SecretSoftware</dc:creator>
	</item>
	<item>
		<title>Re: Arun Kishan - Process Management in Windows Vista</title>
		<description>
			<![CDATA[
<p>Great and detailed on Porcess/Thread. I have been using threads in user mode and it is nice to know more about the implementation of process/thread in O/S. I am not sure if I understand 100% about the subject(s) (I probably need to revisit the clip again).
 One thing I don't get it is system process (pid = 4) and system idle process. How they are related and who got created first?</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Thanks</p>
<p>posted by nativecpp</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Arun-Kishan-Process-Management-in-Windows-Vista#c632939472830000000</link>
		<pubDate>Fri, 15 Sep 2006 20:01:23 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Arun-Kishan-Process-Management-in-Windows-Vista#c632939472830000000</guid>
		<dc:creator>nativecpp</dc:creator>
	</item>
	<item>
		<title>Re: Arun Kishan - Process Management in Windows Vista</title>
		<description>
			<![CDATA[
<p>This was great. I had been wondering how this worked for quite some time.</p>
<p>posted by Whoa</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Arun-Kishan-Process-Management-in-Windows-Vista#c632950854790000000</link>
		<pubDate>Fri, 29 Sep 2006 00:11:19 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Arun-Kishan-Process-Management-in-Windows-Vista#c632950854790000000</guid>
		<dc:creator>Whoa</dc:creator>
	</item>
	<item>
		<title>Re: Arun Kishan - Process Management in Windows Vista</title>
		<description>
			<![CDATA[Thanks for the video !!<br /><br />Thanks and regards,<br />Pranav<br /><p>posted by pranavpeshwe</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Arun-Kishan-Process-Management-in-Windows-Vista#c633059171320000000</link>
		<pubDate>Thu, 01 Feb 2007 08:58:52 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Arun-Kishan-Process-Management-in-Windows-Vista#c633059171320000000</guid>
		<dc:creator>pranavpeshwe</dc:creator>
	</item>
	<item>
		<title>Re: Arun Kishan - Process Management in Windows Vista</title>
		<description>
			<![CDATA[It is great to see an India sitting over there! can I download the video ( difficult to surf online) can you send download link to my mail id svmourougan@yahoo.com<p>posted by svm</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Arun-Kishan-Process-Management-in-Windows-Vista#c633334820640000000</link>
		<pubDate>Mon, 17 Dec 2007 09:54:24 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Arun-Kishan-Process-Management-in-Windows-Vista#c633334820640000000</guid>
		<dc:creator>svm</dc:creator>
	</item>
	<item>
		<title>Re: Arun Kishan - Process Management in Windows Vista</title>
		<description>
			<![CDATA[
<p>process management in windows vista i need to make a written project on this...plzz help...</p>
<p>posted by shibz</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Arun-Kishan-Process-Management-in-Windows-Vista#c633859984540000000</link>
		<pubDate>Sun, 16 Aug 2009 05:47:34 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Arun-Kishan-Process-Management-in-Windows-Vista#c633859984540000000</guid>
		<dc:creator>shibz</dc:creator>
	</item>
	<item>
		<title>Re: Arun Kishan - Process Management in Windows Vista</title>
		<description>
			<![CDATA[
<p>Hi Arun,</p>
<p>&nbsp;</p>
<p>Great video!!</p>
<p>&nbsp;</p>
<p>I would like some clarifications on Terminate and SuspendThread - specifically when thread is executing in kernel.</p>
<p>&nbsp;</p>
<div>You mentioned that terminate kicks the thread out of waits. Is that true only of UserMode waits or also of KernelMode waits? If it is true of KernelMode waits, does it bring it out both alertable and non-alterable or only alertable?</div>
<div>&nbsp;</div>
<div>What are the mechanics of suspend? Does it also involve a kernel apc which queues a user apc which executes only when thread unwinds from kernel? Or in case of suspend does kernel apc itself suspend the thread?</div>
<div>Thanks,</div>
<div>Praveen</div>
<p>posted by PraveenRao</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Arun-Kishan-Process-Management-in-Windows-Vista#c633991394710000000</link>
		<pubDate>Fri, 15 Jan 2010 08:04:31 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Arun-Kishan-Process-Management-in-Windows-Vista#c633991394710000000</guid>
		<dc:creator>PraveenRao</dc:creator>
	</item>
</channel>
</rss>