Accueil

Présentation
News
Caractéristiques
Historique

KOS

Télécharger

Binaires
Sources

Le coin du développeur

Comment participer ?
Accès CVS
CVSWeb

Documentation de KOS

Documents
Conférences
FAQ

Bibliographie

Livres
Docs en local
Liens
Sources d'autres OS

Misc

Contacts

Mailing lists
Les auteurs
IRC: Discuter

Images

Screenshots
Photos
Notre hébergeur: Enix.org

Documentation du Projet

Comme dans de nombreux projets libres, KOS ne dispose malheureusement pas d'une documentation complète et cohérente. Cependant, quelques documentations ont été écrites et peuvent être utiles à la compréhension de KOS et cette page essaie de les lister.

A noter que le code source est écrit et commenté en anglais. Nous commençons à commenter l'ensemble du code en utilisant l'outil Doxygen.

Documents à jour ou dignes d'intérêt

Compiler, tester et débugger KOS

Ce document présente de manière complète comment compiler, tester et débugger KOS. En effet, KOS n'étant pas une simple application utilisateur et ne disposant pas de procédure d'installation automatisée, son utilisation n'est pas évidente au premier abord. Ce document vise à résoudre ce problème.

Téléchargement en français : fr [PS] [PDF] [GZIPPED PS] [GZIPPED PDF] [HTML] [GZIPPED HTML TAR ARCHIVE]

Téléchargement en anglais : en [PS] [PDF] [GZIPPED PS] [GZIPPED PDF] [HTML] [GZIPPED HTML TAR ARCHIVE]

Modules dans KOS

Ce document présente l'architecture modulaire de KOS et le fonctionnement des modules : le système de l'export des symboles, de l'initialisation, etc.

Téléchargement : fr [PS] [PDF] [GZIPPED PS] [GZIPPED PDF] [HTML] [GZIPPED HTML TAR ARCHIVE]

Premier module dans KOS : Hello World

Ce document présente la construction pas à pas d'un module simple, le module hello world. Il explique comment déclarer les routines d'initialisation, les fonctions à exporter, comment construire le Makefile et donne quelques indications sur les conventions de codage utilisées dans KOS.

Téléchargement : en [PS] [PDF] [GZIPPED PS] [GZIPPED PDF] [HTML] [GZIPPED HTML TAR ARCHIVE]

Graphe des dépendances entre modules dans KOS

Cette page rassemble une série de graphes montrant les dépendances entre modules : fonctions et variables d'un module utilisées par les autres, fonctions et variables d'autres modules utilisées par un module.

Lien : [HTML]

Rapport du travail sur KOS réalisé à l'UTBM

De septembre 2003 à Janvier 2004, Mélanie Bats et Thomas Petazzoni ont travaillé sur KOS dans le cadre de leurs études à l'UTBM. En plus du développement réalisé, ce travail a permis la rédaction d'un rapport relativement complet sur KOS. Il explique en détail le fonctionnement de Karm et de la gestion de la mémoire virtuelle dans KOS, et donne des informations générales sur les caractéristiques de l'OS.

Téléchargement du rapport : [PDF]

Téléchargement des slides de la présentation des travaux : [PDF]

Introduction à l'architecture Intel 80x86

Ce document présente le fonctionnement des processeurs x86 au niveau de la gestion de la mémoire virtuelle (segmentation et pagination), ainsi qu'au niveau de la gestion des interruptions. Il n'est pas complet, mais comporte des informations intéressantes, plus abordables que dans les documentations officielles d'Intel.

Téléchargement : fr [PS] [PDF] [GZIPPED PS] [GZIPPED PDF] [HTML] [GZIPPED HTML TAR ARCHIVE]

Gestion des interruptions dans KOS, le module idt

Ce document présente de manière un peu incomplète la gestion des interruptions dans KOS, par le module idt. Bien qu'écrit il y a déjà quelques temps, il reste relativement à jour puisque le module idt n'a pas beaucoup changé.

Téléchargement : fr [PS] [PDF] [GZIPPED PS] [GZIPPED PDF] [HTML] [GZIPPED HTML TAR ARCHIVE]

Série d'articles SOS

David Decotigny et Thomas Petazzoni publient une série d'articles décrivant pas à pas la construction d'un petit système d'exploitation baptisé SOS. Ces articles sont publiés dans Linux Magazine France, mais les articles deviennent disponibles en ligne deux mois après leur parution sur le site officiel de SOS, http://sos.enix.org.

Ils constituent une excellente base pour comprendre le fonctionnement de l'architecture x86 et d'un système d'exploitation, et donc pour commencer à contribuer à des projets tels que KOS. Voici les articles disponibles jusqu'à présent :

Documents non mis à jour

Présentation de KOS, objectifs et organisation

Ce bref document en français rédigé en juillet 2002, et donc largement obsolète, présente rapidement l'origine du projet KOS et son organisation à l'époque.

Téléchargement : fr [PS] [PDF] [GZIPPED PS] [GZIPPED PDF] [HTML] [GZIPPED HTML TAR ARCHIVE]

KOS book

Le KOS book est un gros ouvrage rédigé au début du projet. Il concerne la version de KOS qui était en développement jusqu'en août 2000, et n'est donc plus à jour. Toutefois, il comporte des informations générales sur le fonctionnement d'un processeur x86 (segmentation, pagination, interruption), etc.

Téléchargement : fr [PS] [PDF] [GZIPPED PS] [GZIPPED PDF] [HTML] [GZIPPED HTML TAR ARCHIVE]

Module boostrap

Ce document incomplet présente le fonctionnement du module bootstrap, qui n'existe plus. Il est aujourd'hui remplacé par le module init.

Téléchargement : fr [PS] [PDF] [GZIPPED PS] [GZIPPED PDF] [HTML] [GZIPPED HTML TAR ARCHIVE]

Gestion de la mémoire dans KOS

Ce document est une ancienne documentation concernant la gestion de la mémoire dans KOS. Certaines informations sont encore valides, mais dans l'ensemble, le document n'est pas à jour.

Téléchargement : fr [PS] [PDF] [GZIPPED PS] [GZIPPED PDF] [HTML] [GZIPPED HTML TAR ARCHIVE]

Babel

Babel est un des projets de système permettant d'exporter des interfaces personnalisées vers les applications et bibliothèques utilisateur. Il a été abandonné au profit de Karm, voir la page des caractéristiques de KOS.

Téléchargement : fr [PS] [PDF] [GZIPPED PS] [GZIPPED PDF] [HTML] [GZIPPED HTML TAR ARCHIVE]

Le langage K

Ce document présente un ancien projet : le langage K. Ce sur-langage du C devait permettre la description d'interfaces et l'écriture de pilotes de périphériques utilisant ces interfaces dans le cadre de Babel. L'idée a été complètement abandonnée au profit du mécanisme Karm.

Téléchargement : fr [PS] [PDF] [GZIPPED PS] [GZIPPED PDF] [HTML] [GZIPPED HTML TAR ARCHIVE]

Modélisation de la VM de KOS

Ce schéma pseudo-UML présentait les principales structures de données de KOS qui jouaient un rôle dans la gestion de la mémoire virtuelle. Les notions de thread, team, address_space ou virtual_region sont toujours d'actualité, mais le schéma n'est plus à jour.

Téléchargemnt : fr [DIA] [EPS] [PDF]

Piles CPL0 dans KOS

Ce document présente une idée permettant d'agrandir les piles noyau dynamiquement sur architecture x86. L'idée était présente dans d'anciennes versions de KOS, mais présente des déficiences dans certains cas très précis qui nous ont obligé à l'abandonner.

Téléchargement, en français : fr [PS] [PDF] [GZIPPED PS] [GZIPPED PDF] [HTML] [GZIPPED HTML TAR ARCHIVE]

Téléchargement, en anglais : en [PS] [PDF] [GZIPPED PS] [GZIPPED PDF] [HTML] [GZIPPED HTML TAR ARCHIVE]