http://kos.enix.org/docs.php?lang=en


Documentations
Hardware  
intelvol1.pdf.gz 1.05 MB Intel Architecture Software Developer's Manual. Volume 1 : Basic Architecture
intelvol2.pdf.gz 2.41 Mb Intel Architecture Software Developer's Manual. Volume 2 : Instruction Set Reference
intelvol3.pdf.gz 2.58 Mb Intel Architecture Software Developer's Manual. Volume 3 : System Programming Guide
vbe3_specs.pdf.gz 224 Kb The VESA specifications. A lighter version available here.
freebs12.zip 240 Kb The sources of a graphic cards drivers development project, very interesting informations.
vgadoc4b.zip 565 Kb Specifications of lot of graphic card from different manufacturers.
CP_interrupt.pdf.gz 48 Kb A clear and simple explanation of PIC, IRQ and interruption handling on PC.
floppy-doc.tar.gz 3 Kb Two small documentations. The first one concerns commands and I/O ports of the floppy controller. The second lists the different types of floppy disks.
spec_controller_fd.pdf.gz 1.2 Mb The complete specification of the floppy disk controller : all ports, commands ...
ATA2-FAQ.txt.gz 27 Kb A FAQ concerning IDE, EIDE and ATA.
8259A_PIC_Datasheet.pdf 330k Intel 8259 (PIC) Datasheet
82C54_PIT_Datasheet.pdf 239K Reference datasheet for the 82C54 timer (the one used in PC).
how_to_bring_smp.html 16 Kb Bringing SMP to Your UP Operating System : this document gives the basics to make an operating system usable in a SMP environnement (multi procesors). Of course, it only concerns x86 SMP computers.  
ide_tech.txt 50 Kb A small text document that gives all necessary informations to program an IDE controller.
multiproc_intel_spec.ps 390 Kb Intel Multiprocessor Specification : the SMP specifications. The SMP is used for multi processing in computers working with x86 processors.pdf version.
smp_linux.ps 115 Kb An Implementation Of Multiprocessor Linux : this document describes the implementation of SMP in the Linux kernel, and how to develop Linux kernels for architectures other than the Intel MP v1.1 architecture.PDF.
d1410r3a.pdf.gz 1.5 M ATA specification (ATA-ATAPI version 6), very recent (december 2001). This file contains the complete specifications of the ATA and ATAPI standards. This is very useful to know how to detect/read/write/format IDE hard drives and CD drives. A bit complex.
d2008r7b.pdf.gz 652 Kb ATA specification (ATA-ATAPI version 3), a little older than the previous one, so with less details, but also easier to understand.
fatformat.pdf.gz 84 Kb FAT file system specification, by Microsoft. Complete, but not very clear.
  
  
  



  
Boot  
bootwrit.html 12 Kb WRITING A BOOTSECTOR, (c)1997 Jeff Weeks and Code X software.
grub.ps.gz 102 Kb GRUB documentation, the best bootloader.
multiboot.ps.gz 102 Kb The multiboot standard documentation, created by Grub.



  
Compiling and linking  
gcchowto.zip 38 Kb The GCC Howto
ELF.pdf.gz 102 Kb A very precise documentation concerning the executable ELF format : dynamic linking, symbols, relocation.... everything's explained !
plainbin.pdf.gz 56 Kb A documentation which explains how to compile and link a program written in C in 'plain binary' with Gcc and Nasm. Analysis of generated code is given.
  



  
Architecture and functioning of existing OS  
ukernel-building.ps.gz 88 Kb "On ukernel construction", by Joche Liedtke. A good introduction to micro kernels.
l4refx86.ps.gz 109 Kb The reference documentation for L4, a micro kernel. A lot of interesting things to read.
v2os_dev_docs.zip 143 Kb The V2_OS developers documentations.
qnx_arch-html.tar.gz 340 Kb The QNX architecture.
hurd.ps.gz 192 Kb The Hurd Internals.
bebook.tar.bz2 1.3 Mb Be Book : API of BeOS, and some aspects of BeOS internals.
lavanucleus_ref.ps.gz 97 Kb Lava Nucleus Reference Manual : some interesting explanation of this system internals.
cache_kernel-html.tar.gz 60 Kb The Cache Kernel, Stanford University.
osdi-slides.ps.gz 55 Kb A slide show exposing advantages and concept of the Cache Kernel.
lki.ps.gz 68 Kb Linux Kernel Internals : very interesting doc !
sosp97.ps.gz 68 Kb A documentation concerning micro kernel performances.
an-object-oriented-operating.pdf 1 Mb An object oriented operating system : A thesis concerning the development of an operating system written in an object oriented way. First, the author explains the characterisic of an OS, and the possibilities offered by object oriented programming. Then he studies the use of object oriented programming for the two main parts of an OS : memory management and process management. A document written in a very good english, easy to read.
kernel-hacking.a4.ps.gz 30 Kb Unreliable Guide to Hacking the Linux Kernel : a famous guide, which isn't very big, but might have interesting informations to understand Linux kernel internals, or to have ideas to implement your own OS.
kernel-locking.a4.ps.gz 27 Kb Unreliable Guid to Locking : this document explains the problem of locking, and gives to programmers the solutions that have been implemented in the Linux kernel.
khalidi93implementation.pdf.gz 34 Kb An implementation of UNIX on an object oriented system : this document describe how the implementation of a Unix system over an object-oriented system (Spring) was possible.
linux_kernel.pdf 690 Kb The Linux Kernel : this book explains all the aspects of the Linux Kernel : computer functioning, process management, memory management, file systems...
lki.ps.gz 70 Kb Linux Kernel Internals : this document concerns the 2.4 kernel series, and explains its functioning and the last functionalities. This document is much more difficult to understand than the The Linux Kernel.
mach_exception_handling.ps 69 Kb The Mach Exception Handling Facility : The exception handling problem might be solved with differents solutions, exposed in this document. The design and the implementation of the solution used in Mach is precisely exposed in this document.
vfs.txt 19 Kb Overview of the Virtual File System : this document describe briefly the functioning of the virtual file system under Linux.
vfssun.pdf 78 Kb Sun VFS : this slide show explains the functioning of the virtual file system under SunOS.



  
Algorithms  



  
Memory management  
diss.ps.gz 400 Ko Complete and precise description of UVM, the virtual memory manager of NetBSD. 270 pages.
slaballocator.pdf.gz 39 Ko The Slab Allocator : An object-caching kernel memory allocator by Jeff Bonwick, Sun Microsystems. A idea for implementing kernel memory manager (kmalloc/kfree) that allows reduced fragmentation, and increased speed for allocation/desallocation.
mmref.tar.gz 279 Ko Memory Management Reference. Documentation containing some interesting aspects.
abrossim.pdf.gz 152 Kb Generic Virtual Memory for Operating System Kernels : a precise description of the virtual memory management part in the Chorus OS.
gingell8.pdf 60 Kb Virtual Memory Architecture in SunOS : a document which explains the modifications that have been made to the VMM of SunOS in order to improve performances.  
linux-vmm.html 25 Kb Linux Virtual Memory Management : this short document explains the role of data structures, and the functioning of the virtual memory management under Linux.
sunos-vi.pdf 78 Kb SunOS Virtual Memory Implementation : this document describe the implementation of virtual memory management in SunOS.
uvm.ps.gz 390 Kb Design and Implementation of the UVM Virtual Memory System : this thesis describe precisely the implementation of UVM, the new virtual memory management system for 4.4 BSD.



  
Divers  
vade.mecum.2.ps.gz 800 Ko An Operating System Vade Mecum.
cpuserver.ps.gz 8 Kb An idea : CPU server.
cvsbook.ps 1.1 Mb Open Source Development with CVS : a complete book about CVS (over 200 pages), in which everything is explained ! The official web site is : http://cvsbook.red-bean.com. (html version).  

'KB > 기타' 카테고리의 다른 글

How to: Debug With Code Center Premium Source  (0) 2006.06.23
Ralf brown BIOS interrupt  (0) 2006.06.14
설치형 블로그들  (0) 2006.05.29
AR(augmented Reality) and HMD(Head Mounted Display)  (0) 2006.05.17
특허 검색  (0) 2006.05.17

+ Recent posts