Skelix OS Tutorial
   
Tutorial 00: Requirements Next


GCC
Skelix is written in C with very specific small pieces are written in assembly, and complied with GCC under Linux,
gcc and linux version
I provide source code and compiled floppy disk images after each tutorial, so you can use those images directly. For those people want to compile from source, please make sure you use correct compliers and correct compiler options, or it definitely won't work.

Source code might not be complied with compilers other than GCC because I use some GCC extended features like __asm__, __attribute__, __extention__ and some GCC inline assembly in source code, and unsigned long long (in C99), so other compliers might not work or you have to find substitutions of those keywords and modify the source code by yourself. The compiler must be 32-bit, because I make some assumptions about bit length to make the code simple and clear, 16-bit compilers like TC will never work.

For windows users you might need Cygwin which provides a Linux-like environment for Windows, but I didn't try because I don't have Windows installed on my computer. Or there is an alternative way, install a virtual machine software on you Windows, and set up a Linux just will GCC installed in it, then you can compile source code in virtual machine (you are going to to use this virtual machine software anyway).

VMWARE

For demonstrating these tutorials, a PC emulation software is necessary unless you want to mess up your own system, I use vmware workstation, you can try any other applications available to you.
vmware

vmware-about

Things Are Good To Know

Some knowledge about how to write Makefile and if you are familiar with memory addressing, interrupts, exceptions, GDT, IDT, LDT, paging, accessing ports etc will be great helpful, maybe you can help me out actually. Three volumes Intel Architecture Software Developer's Manual and Intel 80386 Programmer's Reference Manual should be on hand, you can download it through Intel website or search HTML version at Internet, or download the PDF format files at here.

IA-32 Intel Architecture Software Developer's Manual Volume1: Basic Architecture
IA-32 Intel Architecture Software Developer's Manual Volume2A: Instruction Set Reference: A-M
IA-32 Intel Architecture Software Developer's Manual Volume2B: Instruction Set Reference: N-Z
IA-32 Intel Architecture Software Developer's Manual Volume3A: System Programming Guide Part1
IA-32 Intel Architecture Software Developer's Manual Volume3B: System Programming Guide Part2

Anyway, I will try to explain those scary stuff through tutorials, but some knowledge about C languages still will be essential and I presume you know how to use assembly in 16-bit real mode at least you should familiar with basic instructions and the stack changes during a far call or interrupt return etc. There are tons of books about C, but books about assembly programming under protected mode is sort of like Halley Comet, only can be seen every 76 years, meet once is lucky enough.

And you'd better got some feeling about *nix-like system, like know about inode, super block etc, that will be helpful, but not necessary.

Color Convention
filename File name of source code
code Block of source code
inlinecode Keywords or function names from source code, but appears in normal context
register Registers of the processor

Subject:

Your Name:

Your Email Address:

Comments:


   
Home Next
Up