Chapter 1. Introduction

Table of Contents

1.1. How to Read This Book

HelenOS is a portable operating system with support for a variety of modern processor architectures[1].

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.

1.1. How to Read This Book

Chapter 2, Architecture Overview contains overview of the overall HelenOS architecture.

Chapter 3, Data Structures describes essential data structures used both in the kernel and in the userspace.

Chapter 4, Time Management focuses on time management in the kernel and scheds some light on the userspace source of time.

Chapter 5, Scheduling is dedicated to threads and the scheduling subsystem.

Chapter 7, Memory management describes memory management of physical and virtual memory.

Chapter 8, IPC deals with the IPC subsystem.

Chapter 9, Device Drivers describes facilities that a userspace task can use in order to become a device driver.

Appendix A, Architecture Specific Notes presents some architecture specific issues.

[1] amd64, ia32, ia64, mips32 and ppc32.