Subversion Repositories HelenOS-doc

Rev

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.