Documentation

This documentation is intended for those interested in learning the KGI concept, design and API.

General KGI Documentation

KGI Internals

The structs and procedures

Document describing the most important KGI structures and procedures. A "must read" for people interested in the KGI code.

The structs and procedures (pdf)

Same kind of documentation but more practical and includes KII.

The interfaces of KGI (html)

The APIs of KGI (html)

FreeBSD port notes

VM Designs

Various documentation about KGI potential targets virtual memory system.

Linux VM

Brief explanation about the Virtual Memory system used in linux-2.4.

Short overview covering the 2.4 VM (txt,html,pdf)[->]

BSD VM

Design elements of the FreeBSD VM system[->]

Since Version 3.0, OpenBSD uses NetBSD's UVM. The implementation differs though.

OpenBSD's UVM manual[->]

NetBSD UVM site[->] and the paper[->] (270 pages, gzipped postscript)

Also note the UBC technology[->], a design for unifying the filesystem and virtual memory caches of file data, thereby providing increased system performance. In addition to the implementation of UBC, several changes were made to the existing UVM design to fix problems which were glossed over in the original design. Thus UVM differs slightly as described in the paper.

Graphics Designs

Other stuff