<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
	
	>
<channel>
	<title>
	Comments on: It must be exciting!	</title>
	<atom:link href="https://www.dragonflydigest.com/2004/12/22/it-must-be-exciting/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.dragonflydigest.com/2004/12/22/it-must-be-exciting/</link>
	<description>A running description of activity related to DragonFly BSD.</description>
	<lastBuildDate>Thu, 23 Dec 2004 13:26:15 +0000</lastBuildDate>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<item>
		<title>
		By: JÃ¶rg Sonnenbergrer		</title>
		<link>https://www.dragonflydigest.com/2004/12/22/it-must-be-exciting/comment-page-1/#comment-416</link>

		<dc:creator><![CDATA[JÃ¶rg Sonnenbergrer]]></dc:creator>
		<pubDate>Thu, 23 Dec 2004 13:26:15 +0000</pubDate>
		<guid isPermaLink="false">http://www.shiningsilence.com/dbsdlog/?p=841#comment-416</guid>

					<description><![CDATA[The plan is indead to make a public interface for the kernel with a helper library to use it. This consists of the important parts.
First of all the kernel ABI must be well-defined and stable. This means that the exported structures have to be independent of the kernel structures, there is no good reason why a change in struct proc forces a recompilation of the userland.
The second part is a consistent userland API. A lot of this code is basically querying a sysctl, but for certain parts, e.g. aggregation of per-CPU done has to be done or dynamic memory has to be allocated. Another important aspect is the possiblity of applying ps or other tools to a coredump. For this, a second library libkcore is provided, with some glue to map the kinfo API to kcore. For a program like ps(1) you just need one additional line to specify the kernel and coredump, change the include from kinfo.h to kcore.h and link to the right libraries. Done.
]]></description>
			<content:encoded><![CDATA[<p>The plan is indead to make a public interface for the kernel with a helper library to use it. This consists of the important parts.<br />
First of all the kernel ABI must be well-defined and stable. This means that the exported structures have to be independent of the kernel structures, there is no good reason why a change in struct proc forces a recompilation of the userland.<br />
The second part is a consistent userland API. A lot of this code is basically querying a sysctl, but for certain parts, e.g. aggregation of per-CPU done has to be done or dynamic memory has to be allocated. Another important aspect is the possiblity of applying ps or other tools to a coredump. For this, a second library libkcore is provided, with some glue to map the kinfo API to kcore. For a program like ps(1) you just need one additional line to specify the kernel and coredump, change the include from kinfo.h to kcore.h and link to the right libraries. Done.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: me		</title>
		<link>https://www.dragonflydigest.com/2004/12/22/it-must-be-exciting/comment-page-1/#comment-415</link>

		<dc:creator><![CDATA[me]]></dc:creator>
		<pubDate>Wed, 22 Dec 2004 18:12:49 +0000</pubDate>
		<guid isPermaLink="false">http://www.shiningsilence.com/dbsdlog/?p=841#comment-415</guid>

					<description><![CDATA[almost right &#062;)
but there is no need to recompile the libkinfo, it looks as if it is based on sysctls.]]></description>
			<content:encoded><![CDATA[<p>almost right &gt;)<br />
but there is no need to recompile the libkinfo, it looks as if it is based on sysctls.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: M M		</title>
		<link>https://www.dragonflydigest.com/2004/12/22/it-must-be-exciting/comment-page-1/#comment-414</link>

		<dc:creator><![CDATA[M M]]></dc:creator>
		<pubDate>Wed, 22 Dec 2004 17:41:33 +0000</pubDate>
		<guid isPermaLink="false">http://www.shiningsilence.com/dbsdlog/?p=841#comment-414</guid>

					<description><![CDATA[Looks like they&#039;re making a public interface (libkinfo) of the kernel data structures so that they can change the structs in the kernel without worrying too much about userland binaries.

The old way, you&#039;d have to recompile ps, iostat, top, etc everytime you changed the process structs or the VM structs.  Now, it&#039;s probably just a matter of recompiling a single, dynamically-linked library (kinfo).

Any ideas as to what that libkinfo interface would look like though?  I imagine it would have to be fairly complex.]]></description>
			<content:encoded><![CDATA[<p>Looks like they&#8217;re making a public interface (libkinfo) of the kernel data structures so that they can change the structs in the kernel without worrying too much about userland binaries.</p>
<p>The old way, you&#8217;d have to recompile ps, iostat, top, etc everytime you changed the process structs or the VM structs.  Now, it&#8217;s probably just a matter of recompiling a single, dynamically-linked library (kinfo).</p>
<p>Any ideas as to what that libkinfo interface would look like though?  I imagine it would have to be fairly complex.</p>
]]></content:encoded>
		
			</item>
	</channel>
</rss>
