Rev 7 | Rev 9 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
<book>
<title>HelenOS Design Documentation</title>
<chapter>
<title>Introduction</title>
<graphic align="center" fileref="images/helenos.gif" />
<para>The HelenOS project is an effort to develop an easily portable,
light but durable operating system. HelenOS supports SMP, multitasking
and multithreading on both 32-bit and 64-bit, little-endian and
big-endian, processor architectures, among wich are AMD64/EM64T
(x86-64), IA-32, IA-64 (Itanium), 32-bit MIPS, 32-bit PowerPC and SPARC
V9.</para>
<para>This manual should help you understanding design concepts of
different part of the operating system.</para>
<para>In case you are interested in our project or have any questions
about it, feel free to subscribe to our <ulink
url="http://www.helenos.eu/?reason=list">mailing list</ulink>. We are
looking for people to join our team or to merely try out our system and
become our beta testers.</para>
</chapter>
<chapter>
<title>Architecture overview</title>
<para>Couple of words about microkernel concept etc </para>
</chapter>
<chapter>
<title>Scheduling</title>
<section>
<title>Basic terms</title>
<para>Explain Task, Thread etc</para>
</section>
<section>
<title>Context switching</title>
<para>Something about context. Probably arch specific context notes.</para>
</section>
<section>
<title>Kernel clock</title>
<para>timer interrupt handling, slices, timeouts, delays</para>
</section>
<section>
<title>Scheduler</title>
<para>How scheduler designed and how it works.</para>
</section>
</chapter>
<chapter>
<title>Synchronization</title>
<section>
<title>Introduction. Concept.</title>
<para>Couple of words about global conception of sychronization</para>
</section>
<section>
<title>Active kernel synchronization. Spinlock.</title>
<para>Spinlocks explanation. Arch specific notes.</para>
</section>
<section>
<title>Passive kernel synchronization</title>
<section>
<title>Mutex</title>
<para>Mutex explanations</para>
</section>
<section>
<title>Semaphore</title>
<para>Semaphore explanations</para>
</section>
<section>
<title>Read/Write Locks</title>
<para>RWLocks explanation</para>
</section>
<section>
<title>Wait queues</title>
<para>Wait queue explanation</para>
</section>
<section>
<title>Conditional variables</title>
<para>Condvars explanation</para>
</section>
</section>
<section>
<title>Userspace synchronization. Futex.</title>
<para>Idea. Futex explanation.</para>
</section>
</chapter>
<chapter>
<title>Memory management</title>
<section>
<title>Virtual memory management</title>
<para></para>
</section>
<section>
<title>Physical memory management</title>
<para></para>
</section>
<section>
<title>Kernel allocators</title>
<section>
<title>Buddy allocator</title>
<para>Physical memory allocation is handled by buddy allocator.</para>
</section>
<section>
<title>Slab allocator</title>
<para></para>
</section>
</section>
<section>
<title>Memory sharing</title>
<para></para>
</section>
</chapter>
<chapter>
<title>Hardware handling. Device drivers.</title>
<para></para>
</chapter>
<chapter>
<title>IPC</title>
<para></para>
</chapter>
<chapter>
<title>User-space</title>
<para></para>
</chapter>
</book>
Generated by GNU Enscript 1.6.6.