<?xml version="1.0" encoding="utf-8"?>
<!-- generator="FeedCreator 1.7.2-ppt DokuWiki" -->
<?xml-stylesheet href="http://triplefault.org/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="http://triplefault.org/feed.php">
        <title>triplefault.org</title>
        <description></description>
        <link>http://triplefault.org/</link>
        <image rdf:resource="http://triplefault.org/lib/images/favicon.ico" />
       <dc:date>2010-09-05T07:18:07-07:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="http://triplefault.org/doku.php?id=josh:mm&amp;rev=1249276244&amp;do=diff"/>
                <rdf:li rdf:resource="http://triplefault.org/doku.php?id=josh:braindump&amp;rev=1248933551&amp;do=diff"/>
                <rdf:li rdf:resource="http://triplefault.org/doku.php?id=josh:call_page&amp;rev=1248931214&amp;do=diff"/>
                <rdf:li rdf:resource="http://triplefault.org/doku.php?id=josh:kcall&amp;rev=1248821394&amp;do=diff"/>
                <rdf:li rdf:resource="http://triplefault.org/doku.php?id=josh:kprocs&amp;rev=1248820765&amp;do=diff"/>
                <rdf:li rdf:resource="http://triplefault.org/doku.php?id=josh:glossary&amp;rev=1248761294&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="http://triplefault.org/lib/images/favicon.ico">
        <title>triplefault.org</title>
        <link>http://triplefault.org/</link>
        <url>http://triplefault.org/lib/images/favicon.ico</url>
    </image>
    <item rdf:about="http://triplefault.org/doku.php?id=josh:mm&amp;rev=1249276244&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-08-02T22:10:44-07:00</dc:date>
        <dc:creator>Josh</dc:creator>
        <title>josh:mm</title>
        <link>http://triplefault.org/doku.php?id=josh:mm&amp;rev=1249276244&amp;do=diff</link>
        <description>Memory Management

brain dump

	* &lt;http://www.jamesmolloy.co.uk/tutorial_html/6.-Paging.html&gt;

kmalloc

kmalloc() will act as in Linux</description>
    </item>
    <item rdf:about="http://triplefault.org/doku.php?id=josh:braindump&amp;rev=1248933551&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-07-29T22:59:11-07:00</dc:date>
        <dc:creator>Josh</dc:creator>
        <title>josh:braindump</title>
        <link>http://triplefault.org/doku.php?id=josh:braindump&amp;rev=1248933551&amp;do=diff</link>
        <description>brain dump

Dumping on Marco


[14:39] -&gt;*josh* hey, lemme run something past you....
[14:39] -&gt;*josh* keep in mind that my kernel project is not intended to be 
        fast.  :)
[14:41] -&gt;*josh* just realized this is going to be hard to explain, so bear 
        with me
[14:42] -&gt;*josh* im going to break up the kernel into different processes, 
        rather than using threads.  each process will have it's own memory 
        region, but will have read access to specified pages of the calling…</description>
    </item>
    <item rdf:about="http://triplefault.org/doku.php?id=josh:call_page&amp;rev=1248931214&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-07-29T22:20:14-07:00</dc:date>
        <dc:creator>Josh</dc:creator>
        <title>josh:call_page</title>
        <link>http://triplefault.org/doku.php?id=josh:call_page&amp;rev=1248931214&amp;do=diff</link>
        <description>Call Page

The purpose of the call page is to provide all the required information to the kernel to appropriately call your remote function, and to provide data to the called function.

Format


struct call_page
{
        u32int : shared[200];          //list of alloc'd memory pointers you wish to share (as read only) with the called function
        u32int : callback;                   //the callback function that should be called when the called function is complete
}</description>
    </item>
    <item rdf:about="http://triplefault.org/doku.php?id=josh:kcall&amp;rev=1248821394&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-07-28T15:49:54-07:00</dc:date>
        <dc:creator>Josh</dc:creator>
        <title>josh:kcall</title>
        <link>http://triplefault.org/doku.php?id=josh:kcall&amp;rev=1248821394&amp;do=diff</link>
        <description>kcall

kcall() is the function that you would call if you need to call a remote function.

Parameters


kcall(function, call_page_address);

'function' is the remote function that you want to call.

'call_page_address' is the address of your call page.</description>
    </item>
    <item rdf:about="http://triplefault.org/doku.php?id=josh:kprocs&amp;rev=1248820765&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-07-28T15:39:25-07:00</dc:date>
        <dc:creator>Josh</dc:creator>
        <title>josh:kprocs</title>
        <link>http://triplefault.org/doku.php?id=josh:kprocs&amp;rev=1248820765&amp;do=diff</link>
        <description>Kernel Processes

General

Kernel processes are lightweight processes that have their own memory regions.  They can only read pages that they have been explicitly allowed to read and they cannot modify other processes pages.

'Modules' contain all the code for a specific purpose within the kernel.  All the code within the module is in the same process scope.</description>
    </item>
    <item rdf:about="http://triplefault.org/doku.php?id=josh:glossary&amp;rev=1248761294&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-07-27T23:08:14-07:00</dc:date>
        <dc:creator>Josh</dc:creator>
        <title>josh:glossary</title>
        <link>http://triplefault.org/doku.php?id=josh:glossary&amp;rev=1248761294&amp;do=diff</link>
        <description>Glossary

	* Kernel Modules - 'modules' in jOSh refer to a group of code that intends to perform a specific function.  This could be anything from core kernel functionality to driver code.  A module has it's own memory region and has no write access outside of it's own region.
	* Kernel Processes - jOSh does not use kernel threads.
	* Remote Functions - FIXME (need better name)  Remote functions are functions that the kernel, or kernel modules provide to the rest of the kernel.  These can not be…</description>
    </item>
</rdf:RDF>
