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

Documentations

Hardware
intelvol1.pdf.gz1.05 MBIntel Architecture Software Developer's Manual. Volume 1 : Basic Architecture.
intelvol2.pdf.gz2.41 MbIntel Architecture Software Developer's Manual. Volume 2 : Instruction Set Reference
intelvol3.pdf.gz2.58 MbIntel Architecture Software Developer's Manual. Volume 3 : System Programming Guide
vbe3_specs.pdf.gz224 KbLes specifications VESA. Une version light en texte disponible ici.
freebs12.zip240 KbUn projet de création de drivers graphiques, hardware specific. Cette archive peut donc contenir des informations intéressantes pour qui veut créer des drivers graphiques.
vgadoc4b.zip565 KbSpécifications des cartes graphiques de plusieurs constructeurs.
CP_interrupt.pdf.gz48 KbUne explication claire du fonctionnement des interruptions, des IRQ et du PIC sur les ordinateurs PC.
floppy-doc.tar.gz3 KbDeux petites documentations, la première concernant les commandes et les ports du contrôleur de disquettes, la seconde concernant les différents formats de disquettes existants.
spec_controller_fd.pdf.gz1.2 MbLes spécifications complètes du controleur de lecteur de disquettes : tous les ports, les commandes, le fonctionnement...
ATA2-FAQ.txt.gz27 KbUne FAQ concernant les normes IDE, EIDE et ATA.
8259A_PIC_Datasheet.pdf330kIntel 8259 (PIC) Datasheet
82C54_PIT_Datasheet.pdf239KDocumentation de référence du timer 82C54 (celui utilisé dans les PCs).
how_to_bring_smp.html16 KbBringing SMP to Your UP Operating System : ce document donne les principes de base pour rendre un système d'exploitation utilisable en environnement SMP (multi processeur). Bien s?r, cet article concerne uniquement les machines x86 SMP.
ide_tech.txt50 KbUn petit document texte donnant toutes les informations nécessaires à la programmation du contrôleur IDE.
multiproc_intel_spec.ps390 KbIntel Multiprocessor Specification : les spécifications du standard SMP, utilisé pour le multi processing des machines à base de x86. version pdf.
smp_linux.ps115 KbAn Implementation Of Multiprocessor Linux : ce document décrit l'implémentation du SMP dans le noyau Linux, et comment l'utiliser pour développer des noyaux Linux pour des architectures autres que l'architecture Intel MP v1.1. PDF.
d1410r3a.pdf.gz1.5 MSpécification ATA (ATA-ATAPI version 6), toute récente (décembre 2001). Les spécifications complètes des normes ATA et ATAPI pour pouvoir détecter/lire/ecrire/formater les disques durs et lecteurs de CD IDE. Très complet mais parfois un peu complexe.
d2008r7b.pdf.gz652 KbSpécification ATA (ATA-ATAPI version 3), un peu plus ancienne que la précédente, donc un peu moins complète, mais aussi plus simple.
fatformat.pdf.gz84 KbSpécification du système de fichier FAT, par Microsoft. Complet, mais pas vraiment très clair.
 
 
 
Boot
bootwrit.html12 KbWRITING A BOOTSECTOR, (c)1997 Jeff Weeks and Code X software.
grub.ps.gz102 KbLa doc de GRUB, l'ultime bootloader !
multiboot.ps.gz102 KbLa documentation du standard Multiboot, issu de Grub.
 
 
 
Compilation et éditions de liens
gcchowto.zip38 KbLe Howto GCC
ELF.pdf.gz102 KbUne documentation decrivant avec beaucoup de precision le format de fichier ELF, le linkage dynamique, la relocation ..
plainbin.pdf.gz56 KbUne documentation expliquant comment compiler et linker un programme écrit en C en "plain binary" avec GCC et Nasm. Nombreuses explications concernant le passage des arguments, avec analyse du code desassemblé généré par un compilateur.
 
 
 
Architecture et fonctionnement d'OS existants
ukernel-building.ps.gz88 Kb"On ukernel construction", par Jochen Liedtke. Une bonne introduction aux micro kernels.
l4refx86.ps.gz109 KbLa documentation de référence de L4, un micro noyau. Beaucoup de choses intéressantes à lire.
v2os_dev_docs.zip143 KbLes documentations "développeur" de V2_OS.
qnx_arch-html.tar.gz340 KbL'architecture du système QNX.
hurd.ps.gz192 KbArchitecture et fonctionnement du Hurd.
bebook.tar.bz21.3 MbBe Book : API de référence pour BeOS, et quelques aspects du fonctionnement interne.
lavanucleus_ref.ps.gz97 KbLava Nucleus Reference Manual : quelques explications intéressantes sur l'implémentation.
cache_kernel-html.tar.gz60 KbLe Cache Kernel de l'Université de Stanford.
osdi-slides.ps.gz55 KbUne série de slides exposant les avantages et le concept du Cache Kernel.
lki.ps.gz68 KbLinux Kernel Internals : une documentation extremement intéressante sur le fonctionnement du noyau Linux.
sosp97.ps.gz68 KbUne documentation concernant les performances des systèmes à micro-noyaux.
an-object-oriented-operating.pdf1 MbAn object oriented operating system : Une thèse concernant le développement d'un système d'exploitation orientée objet. L'auteur rappelle en premier lieu les caractéristiques d'un OS, et les possibilités offertes par la programmation orientée objet. Ensuite il étudie pour les deux parties les plus importantes du système (gestion mémoire, gestion processus), l'utilisation de l'orienté objet. Un document écrit dans un très bon anglais, facile à lire.
kernel-hacking.a4.ps.gz30 KbUnreliable Guide to Hacking the Linux Kernel : un guide connu, qui n'est pas gros, mais peut contenir des informations intéressantes pour comprendre le fonctionnement du noyau Linux, ou pour avoir des idées d'implémentations pour votre OS.
kernel-locking.a4.ps.gz27 KbUnreliable Guide to Locking : un document exposant le problème du "locking", et les solutions proposées aux programmeurs par le noyau Linux.
khalidi93implementation.pdf.gz34 KbAn implementation of UNIX on an object oriented system : ce document décrit comment il a été possible d'implémenter un système Unix au dessus d'un système orientée objet (Spring).
linux_kernel.pdf690 KbThe Linux Kernel : ce livre explique tous les aspects du fonctionnement du noyau Linux, depuis le fonctionnement d'un ordinateur jusqu'aux systèmes de fichiers, en passant par la gestion de la mémoire et des processus.
lki.ps.gz70 KbLinux Kernel Internals : ce document concerne le noyau 2.4, dont il explique le fonctionnement et les dernières nouveautés. Ce document s'adresse plut?t à un public averti, contrairement à The Linux Kernel, accessible à un large public.
mach_exception_handling.ps69 KbThe Mach Exception Handling Facility : Le problème du traitement des exceptions peut être résolue de diverses manières, exposées dans ce document. D'autre part, le design et l'implémentation de ce traitement des exceptions dans le système Mach sont spécifiquement expliquées.
vfs.txt19 KbOverview of the Virtual File System : ce document décrit brièvement le fonctionnement du Virtual File System de Linux.
vfssun.pdf78 KbSun VFS : cette série de slides expose le fonctionnement du Virtual File System sous SunOS.
 
 
 
Algorithmes
 
 
 
Gestion mémoire
diss.ps.gz400 KoDescription complète et précise par son auteur de UVM, le gestionnaire de mémoire virtuelle de NetBSD. 270 pages.
slaballocator.pdf.gz39 KoThe Slab Allocator : An object-caching kernel memory allocator par Jeff Bonwick, Sun Microsystems. Une idée d'implémentation pour le gestionnaire de mémoire du noyau (kmalloc/kfree) permettant de réduire la fragmentation, et la vitesse d'allocation/désallocation.
mmref.tar.gz279 KoMemory Management Reference. Une documentation contenant quelques points intéressants.
abrossim.pdf.gz152 KbGeneric Virtual Memory for Operating System Kernels : description précise du fonctionnement de la mémoire virtuelle dans le système d'exploitation Chorus.
gingell8.pdf60 KbVirtual Memory Architecture in SunOS : un document qui explique les modifications apportés au système de gestion de mémoire virtuelle de SunOS afin d'en améliorer les performances.
linux-vmm.html25 KbLinux Virtual Memory Management : ce court document explique le rôle des structures de données, et le fonctionnement de la mémoire virtuelle sous Linux.
sunos-vi.pdf78 KbSunOS Virtual Memory Implementation : ce document décrit tout l'implémentation de la gestion de la mémoire virtuelle dans SunOS.
uvm.ps.gz390 KbDesign and Implementation of the UVM Virtual Memory System : cette thèse décrit précisement l'implémentation d'UVM, le nouveau système de gestion de mémoire virtuelle pour 4.4 BSD.
 
 
 
Divers
vade.mecum.2.ps.gz800 KoAn Operating System Vade Mecum.
cpuserver.ps.gz8 KbUne idée : le serveur de CPU.
cvsbook.ps1.1 MbOpen Source Development with CVS : un livre complet sur CVS (plus de 200 pages), où tout est expliqué ! Le site officiel est : http://cvsbook.red-bean.com. (version html).