<?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>tdistler.com &#187; kernel</title>
	<atom:link href="http://tdistler.com/tag/kernel/feed" rel="self" type="application/rss+xml" />
	<link>http://tdistler.com</link>
	<description>&#34;To err is human, but to really foul things up you need a computer.”</description>
	<lastBuildDate>Tue, 06 Dec 2011 20:46:54 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>StackHash and Application Crashes on Windows</title>
		<link>http://tdistler.com/2009/04/10/stackhash-and-application-crashes-on-windows</link>
		<comments>http://tdistler.com/2009/04/10/stackhash-and-application-crashes-on-windows#comments</comments>
		<pubDate>Fri, 10 Apr 2009 15:00:50 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Code Monkey]]></category>
		<category><![CDATA[debugging]]></category>
		<category><![CDATA[funny]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://tdistler.com/?p=186</guid>
		<description><![CDATA[We got an interesting application crash yesterday with a confusing message similar to this: Fault bucket 42424242, type 1 Event Name: APPCRASH Response: None Cab Id: 0 Problem signature: P1: MyApp.exe P2: 1.42.42.42 P3: 598773cf P4: StackHash_ac62 P5: 0.0.0.0 P6: 00000000 P7: c0000007 P8: 00000000 P9: P10: We spent some time wondering if our crypto [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" src="/media/images/software_bug.jpg" alt="Software Bug" />We got an interesting application crash yesterday with a confusing message similar to this:</p>
<p class="codeblock">
Fault bucket 42424242, type 1<br />
Event Name: APPCRASH<br />
Response: None<br />
Cab Id: 0<br/><br />
Problem signature:<br />
P1: MyApp.exe<br />
P2: 1.42.42.42<br />
P3: 598773cf<br />
P4: StackHash_ac62<br />
P5: 0.0.0.0<br />
P6: 00000000<br />
P7: c0000007<br />
P8: 00000000<br />
P9:<br />
P10:
</p>
<p>We spent some time wondering if our crypto libraries were the problem (we just made some changes recently), but concluded that was unlikely. So what the heck is the &#8220;StackHash&#8221; module? Did our trashed stack cause the kernel to think we were a different module? Nope.</p>
<p>The answer is that the Windows executive couldn&#8217;t identify the module we were in when the application crashed (it uses the instruction pointer to determine what code was executing). In this case, the kernel simply takes a hash of the stack so at least we might be able to identify if we&#8217;ve seen this exact crash before. Here&#8217;s the answer summarized by an engineer from Microsoft:</p>
<blockquote><p>In the OS when I try to get a faulting module name it is possible that there is no module laoded (sic) at that address. For example in this case the EIP was zero. So in those cases where a module is not loaded and it is not also in the unloaded module list, I take a stack hash of the stack so that we can identify this crash from other crashes where also the module is not known.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://tdistler.com/2009/04/10/stackhash-and-application-crashes-on-windows/feed</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Microsoft&#8217;s Midori OS</title>
		<link>http://tdistler.com/2008/07/30/microsofts-midori-os</link>
		<comments>http://tdistler.com/2008/07/30/microsofts-midori-os#comments</comments>
		<pubDate>Wed, 30 Jul 2008 16:49:33 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Tech and Security]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://tdistler.com/?p=128</guid>
		<description><![CDATA[The SDTimes has an article up about a new operating system Microsoft is working on called &#8220;Midori&#8221;. It is based on their &#8220;Singularity&#8221; OS, with everything being written in managed code then natively compiled.  Rumor has it that this is the follow-on to the Windows platform&#8230; we&#8217;ll see if it ever materializes commercially. SDTimes bases [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" style="float: right;" src="/media/images/MicrosoftLogo.jpg" alt="Microsoft" width="150" height="41" />The <a title="SDTimes" href="http://www.sdtimes.com" target="_blank">SDTimes</a> has an <a title="SDTimes: Microsoft's plans for post-Windows OS revealed" href="http://www.sdtimes.com/MICROSOFT_S_PLANS_FOR_POST_WINDOWS_OS_REVEALED/About_CLOUDCOMPUTING_and_MOBILEDEVELOPMENT_and_NET_and_SOASAAS_and_SOFTWAREDEVELOPMENT_and_WINDOWS_and_MICROSOFT/32627" target="_blank">article</a> up about a new operating system Microsoft is working on called &#8220;Midori&#8221;. It is based on their &#8220;<a title="Microsoft Research: Singularity" href="http://research.microsoft.com/os/Singularity/" target="_blank">Singularity</a>&#8221; OS, with everything being written in managed code then natively compiled.  Rumor has it that this is the follow-on to the Windows platform&#8230; we&#8217;ll see if it ever materializes commercially. SDTimes bases the article on some internal documents they got access to, which may be why we haven&#8217;t seen this level of detail before (<a title="Wikipedia: Midori Operating System" href="http://en.wikipedia.org/wiki/Midori_(operating_system)" target="_blank">see the entry in Wikipedia</a>). From the article:</p>
<blockquote><p>According to the documentation, Midori will be built with an asynchronous-only  architecture that is built for task concurrency and parallel use of local and  distributed resources, with a distributed component-based and data-driven  application model, and dynamic management of power and other resources.</p></blockquote>
<blockquote><p>The Midori documents foresee applications running across a multitude of  topologies, ranging from client-server and multi-tier deployments to  peer-to-peer at the edge, and in the cloud data center. Those topologies form a  heterogeneous mesh where capabilities can exist at separate places.</p>
<p>In  order to efficiently distribute applications across nodes, Midori will introduce  a higher-level application model that abstracts the details of physical machines  and processors. The model will be consistent for both the distributed and local  concurrency layers, and it is internally known as Asynchronous Promise  Architecture.</p></blockquote>
<blockquote><p>&#8230;operating system services, such as storage, would either be provided to the  applications by the OS or be discovered across a trusted distributed  environment.</p></blockquote>
<p><span id="more-128"></span>The programming model and API are also changing to help developers develop in the new model (goodbye Win32):</p>
<blockquote><p>The Midori documents indicate that the proposed OS would have a non-blocking  object-oriented framework API. This would have strong notions of immutability—in  the sense of objects that cannot be modified once created—and strive to foster  application correctness through deep verifiability by using .NET programming  languages.</p></blockquote>
<blockquote><p>The Midori programming model will tackle state management, which Microsoft  admits in its documentation is a challenge in Windows, by migrating APIs,  applications and developers to a constrained model.</p>
<p>Other objectives are  eliminating dynamic loading and in-process extensions; developing a failure  model based on reliable transactions, so the system understands exactly which  processes are impacted by a cascading failure and how to restart the  computation; and having a standard way of dealing with latency, asynchronous  behavior and cancellation, throughout the stack.</p></blockquote>
<p>To provide better modularity (and to support mobile devices), Midori will be a micro-kernel:</p>
<blockquote><p>Unlike Windows, Microsoft intends for Midori to be componentized from the  beginning to achieve performance and security benefits. It will have strong  isolation boundaries and enforced contracts between components, to ensure that  servicing one component will not cause others to fail, while keeping overhead  minimal.</p>
<p>At its lowest level, Midori has two separate kernel layers: a  microkernel comprised of unmanaged code that controls hardware and environment  abstracts, and higher-level managed kernel services that provide the full set of  operating system functionality.</p></blockquote>
<p>There are a lot more gems in the article&#8230; definitely worth a read. Click <a title="SDTimes: Microsoft's plans for post-Windows OS revealed" href="http://www.sdtimes.com/MICROSOFT_S_PLANS_FOR_POST_WINDOWS_OS_REVEALED/About_CLOUDCOMPUTING_and_MOBILEDEVELOPMENT_and_NET_and_SOASAAS_and_SOFTWAREDEVELOPMENT_and_WINDOWS_and_MICROSOFT/32627" target="_blank">HERE</a> to read it.</p>
]]></content:encoded>
			<wfw:commentRss>http://tdistler.com/2008/07/30/microsofts-midori-os/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Inside the Windows Vista Kernel</title>
		<link>http://tdistler.com/2007/03/22/inside-the-windows-vista-kernel</link>
		<comments>http://tdistler.com/2007/03/22/inside-the-windows-vista-kernel#comments</comments>
		<pubDate>Thu, 22 Mar 2007 15:00:43 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Tech and Security]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://tdistler.com/?p=74</guid>
		<description><![CDATA[Here are some links to 3 great articles by Mark Russinovich about new features in the Windows Vista kernel (Ntoskrnl.exe). Inside the Windows Vista Kernel: Part 1 Inside the Windows Vista Kernel: Part 2 Inside the Windows Vista Kernel: Part 3]]></description>
			<content:encoded><![CDATA[<p>Here are some links to 3 great articles by Mark Russinovich about new features in the Windows Vista kernel (Ntoskrnl.exe).</p>
<p><a title="Microsoft Technet - Inside the Windows Vista Kernel: Part 1" href="http://www.microsoft.com/technet/technetmag/issues/2007/02/VistaKernel" target="_blank">Inside the Windows Vista Kernel: Part 1</a></p>
<p><a title="Microsoft Technet - Inside the Windows Vista Kernel: Part 2" href="http://www.microsoft.com/technet/technetmag/issues/2007/03/VistaKernel" target="_blank">Inside the Windows Vista Kernel: Part 2</a></p>
<p><a title="Microsoft Technet - Inside the Windows Vista Kernel: Part 3" href="http://www.microsoft.com/technet/technetmag/issues/2007/04/VistaKernel" target="_blank">Inside the Windows Vista Kernel: Part 3</a></p>
]]></content:encoded>
			<wfw:commentRss>http://tdistler.com/2007/03/22/inside-the-windows-vista-kernel/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

