<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Techtab &#187; Linux</title>
	<atom:link href="http://techtab.wordpress.com/tag/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://techtab.wordpress.com</link>
	<description>[Programmieren] [Computer &#38; Technik] [Webfunde] [Interessantes aus dem RL]</description>
	<lastBuildDate>Tue, 30 Dec 2008 15:48:53 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>de</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='techtab.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/d99ac16c37f3ff7835d29ed9c3df092a?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Techtab &#187; Linux</title>
		<link>http://techtab.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://techtab.wordpress.com/osd.xml" title="Techtab" />
		<item>
		<title>Systemcalls mit C unter Linux</title>
		<link>http://techtab.wordpress.com/2008/05/14/systemcalls-mit-c-unter-linux/</link>
		<comments>http://techtab.wordpress.com/2008/05/14/systemcalls-mit-c-unter-linux/#comments</comments>
		<pubDate>Wed, 14 May 2008 13:29:45 +0000</pubDate>
		<dc:creator>theeem</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[C/C++]]></category>
		<category><![CDATA[Kernel]]></category>
		<category><![CDATA[Systemcalls]]></category>

		<guid isPermaLink="false">http://techtab.wordpress.com/?p=7</guid>
		<description><![CDATA[So&#8230; das Thema dieses Eintrags sind also &#8222;Systemcalls mit C unter Linux&#8220;&#8230; doch was sind jetzt eigentlich &#8222;Systemcalls&#8220; oder auch kurz &#8222;Syscalls&#8220;?
Ich will mich hier kurz fassen: Syscalls bieten eine Möglichkeit, aus einem Benutzerprogramm (oder eben aus einem C-Programm heraus) Funktionen des Kernels zu benutzen; normalerweise hat man ja auf diese wichtigen, geschützten Funktionen (berechtigterweise) [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=techtab.wordpress.com&blog=3718268&post=7&subd=techtab&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>So&#8230; das Thema dieses Eintrags sind also &#8222;Systemcalls mit C unter Linux&#8220;&#8230; doch was sind jetzt eigentlich &#8222;Systemcalls&#8220; oder auch kurz &#8222;Syscalls&#8220;?</p>
<p>Ich will mich hier kurz fassen: Syscalls bieten eine Möglichkeit, aus einem Benutzerprogramm (oder eben aus einem C-Programm heraus) Funktionen des Kernels zu benutzen; normalerweise hat man ja auf diese wichtigen, geschützten Funktionen (berechtigterweise) keinen Zugriff.</p>
<p>Kommen wir jetzt allerdings zum Thema Linux: was gibt es jetzt dort also für Syscalls? Die Antwort steht in der Datei <em>/usr/src/linux-2.6.22.5-31/include/asm-i386/unistd.h</em>. Dort sind alle Syscalls aufgeführt <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  (Ordnernamen können abweichen)</p>
<p>Doch ohne Besipiele wäre dieser Eintrag doch recht öde, von daher hier mal ein kleines Beispielprogramm:<br />
<code><br />
#include &lt;unistd.h&gt;<br />
int main( void )<br />
{<br />
write( 0, "Hallo, Welt!\n", 13 );<br />
return 0;<br />
}</code></p>
<p>Der hier benutzte Syscall ist <em>write</em>; dieser Syscall trägt die Nummer 4 (ja, jeder Syscall hat auch eine Nummer, diese steht ebenfalls in <em>unistd.h</em>). Was macht dieser Syscall nun? Schlichte Antwort: er gibt die Zeichenkette, die als zweiter Parameter übergeben wird, einfach aus. <em>Wo</em> diese Zeichenkette jetzt ausgegeben werden soll, legt der erste Parameter fest; 0 steht einfach für die Standardausgabe &#8211; den Bildschirm. Die 13 gibt einfach die Anzahl der zu schreibenden Zeichen an <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  (Würden wir zum Beispiel anstatt 13 die Zahl 11 angeben, wäre die Ausgabe: <em>Hallo, Welt</em>)</p>
<p>Zugegeben: dieses Programm war nicht gerade spektakulär, aber es gibt ja auch noch andere Syscalls &#8211;  einfach mal ausprobieren!</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/techtab.wordpress.com/7/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/techtab.wordpress.com/7/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/techtab.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/techtab.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/techtab.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/techtab.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/techtab.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/techtab.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/techtab.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/techtab.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/techtab.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/techtab.wordpress.com/7/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=techtab.wordpress.com&blog=3718268&post=7&subd=techtab&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://techtab.wordpress.com/2008/05/14/systemcalls-mit-c-unter-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ad944be1b4dfbb9293fcc881c3cd27ef?s=96&#38;d=identicon" medium="image">
			<media:title type="html">theeem</media:title>
		</media:content>
	</item>
	</channel>
</rss>