Subversion Repositories HelenOS-doc

Compare Revisions

Ignore whitespace Rev 123 → Rev 124

/usrman/trunk/boot/boot.tex
0,0 → 1,53
\chapter{Boot Loading Process}
 
The startup of HelenOS happens in several steps.
Depending on the platform these steps can be either
described as \textit{piggybacker loading}:
 
\begin{enumerate}
\item Platform boot loader loads the piggybacker image
and jumps to its entry point.
\item The piggybacker unwraps the kernel image and
the images of the initial user space tasks, creates
a boot information structure and jumps to the
entry point of the kernel.
\item The kernel initializes and runs the initial tasks
according the boot information structure from the
piggybacker.
\end{enumerate}
 
If the platform supports a more sophisticated native boot loader,
a \textit{multiboot loading} contains following steps:
 
\begin{enumerate}
\item Platform boot loader loads the kernel image and initial
user space tasks, creates a boot information structure
and jumps to the entry point of the kernel.
\item The kernel initializes and runs the initial tasks
according the boot information structure from the
boot loader.
\end{enumerate}
 
A third kind of boot loading occurs on platforms with no support
of boot loader. It is called \textit{image loading} and is
used mostly on simulated architectures.
 
\begin{enumerate}
\item The kernel and initial user space images are placed
on well-known physical memory locations (usually
by a simulator configuration file). The execution
starts directly on the kernel entry point.
\item The kernel initializes and runs a previously hardwired
number of initial user space tasks.
\end{enumerate}
 
The following sections describe the particual features of the
boot loading process on the supported platforms.
 
\section{IA-32 and AMD64}
 
On both platforms HelenOS depends on a boot loader which
supports the Multiboot Specification (i.e. GRUB). The kernel
image (usually called \texttt{image.bin}) is loaded by the
boot loader just above the 1st megabyte of the physical
memory (the exact location is 1081344 bytes).
/usrman/trunk/usrman.tex
21,4 → 21,5
\newpage
\include{intro/intro}
\include{boot/boot}
\end{document}
/usrman/trunk/intro/intro.tex
1,0 → 0,0
\chapter{Introduction}
 
HelenOS is an development operating system intended to
be a testbed for research in the field of operating
systems and system-level programming. This manual is
a guide for building, running and enhancing HelenOS.
 
The system, as any other operating system, can be divided
into platform independent and platform dependent parts.
An user space program could be written in such
a way that it can be compiled and executed on any
of the platforms HelenOS supports without any modifications.
However it might work as a device driver or perform
other special tasks and thus being platform dependent.
 
\section{Structure of HelenOS}
 
The HelenOS system cosists of three major parts:
 
\begin{itemize}
\item Kernel
\item User space tasks
\item Boot infrastructure
\end{itemize}