<?xml version="1.0" encoding="UTF-8"?>
<chapter id="intro">
<?dbhtml filename="intro.html" ?>
<title>Introduction</title>
<para>HelenOS is a portable operating system with support for a variety of modern
processor architectures<footnote>
<para>amd64, ia32, ia64, mips32 and ppc32.</para>
</footnote>.</para>
<para>This book describes the design and principles of the HelenOS operating
system from the perspective of its microkernel as well as from the
perspective of its userspace drivers and server tasks. Its primary goal is
to present ideas behind each subsystem and highlight things that are
specific to HelenOS. Although this text contains references to source code
(e.g. function names), these are provided only to improve reader's
orientation when reading the code. This book does not attempt to be a
substitute for a reference manual and the reader is strongly encouraged to
look for interface details there.</para>
<section>
<title>How to Read This Book</title>
<para><xref linkend="architecture" /> contains overview of the overall
HelenOS architecture.</para>
<para><xref linkend="ds" /> describes essential data structures used both
in the kernel and in the userspace.</para>
<para><xref linkend="time" /> focuses on time management in the kernel and
scheds some light on the userspace source of time.</para>
<para><xref linkend="scheduling" /> is dedicated to threads and the
scheduling subsystem.</para>
<para><xref linkend="mm" /> describes memory management of physical and
virtual memory.</para>
<para><xref linkend="ipc" /> deals with the IPC subsystem.</para>
<para><xref linkend="hardware" /> describes facilities that a userspace
task can use in order to become a device driver.</para>
<para><xref linkend="archspecs" /> presents some architecture specific
issues.</para>
</section>
</chapter>