Aelix Operating System - Kernel Archive


[Entra nella versione italiana]


Welcome in the Aelix Operating System Official page. AOS is a micro kernel based system. This kernel is higly structured as modular. The system is designed to run on x86 machines ( Intel, Amd, Cyrix ). Kernel will work fine only on 586 or greater processors. This is the development team central site. If you want to be a team menber, please write to aelix@tiscalinet.it or aelix.os@libero.it. Kernel and the entire system are very youngs... an help is always needed. Thanks to Tiscalinet.it for the free web hosting and the email!


If you want to cantact system Aelix kernel hackers, or simply if youwant to chat about System programming join channel #aelix on irc.azzurra.net


Legal information

Team menbers that are programming the kernel cannot take any responsability abput some damage or data loss caused by the application. Menbers are working for a pure and bug free code as long as they can... so every error is to consider simply casual...

Everypne can freely download source and binaries of the kernel. There are no limitations of any sort about modifying or redistribution of the downloaded packages, integer or fragmented. The downloaded source code is of the public domain. Is forbidden any commercial use of AOS, absolutely forbidden.


Basic information about the kernel ( written for developers )

Aelix kernel has been written from scratch, without any bios call. Is structured to allow to include in future many modules without any modify of the basic kernel. The kernel works in protected mode. The Boot phase is structured in three parts: first of all, after the Bios POST the bootloader take control. This set the protected mode and a first GDT. Bootloader's goal is to charge and executethe sysloader. Sysl is a program that get environment parameters, like the amount of memory, the processor specifications, communication port's addresses and the parameters of fized/removable disks. When the enviroment check is finished we know that the machine can run fine the kernel. This is charged and executed. The kernel is structured as micro-modular... it handle only the memory protection, descriptors table and modules; they are charged after the first kernel booting. Everything else of the system is handled by specific modules. They can be included without a kernel recompile.

System is written on a LINUX platform, using two compilers:


Aelix file system general porpouses:

Aelix Os native filing system is Afs64. This fs is based on an allocation table that stands on the logic disk after boot tables. Is composed of 512 records, each one 64 byte long, where, a pa rt of the first, every entry represent a file on the disk. The first recor dcontains information about the media, filing system version and how many files it handles. All the others records contain informations about name, attributes, positions, size, date of creation and last modify. This table is also the root directory. In fact every Afs Table can be used also as directory table. So, in every table there is in the first record a LBA pointer to the parent directory table: naturally, in the Master FS table this pointer has 0x00000000 value.

First record of the Aelix Master File System Table ( For 1.44Mbytes floppy disk ) :

Name Length Description Value
Table_type QWord Allocation Table type "AMFT",0x00000000
FileSystem_type QWord File System Type "AFS "0x00000000
Parent_dir DWord LBA pointer to parent dir 0x00000000
FileSystem_revision Dword FS version 0x00000001
Max_files DWord Max number of files handable 0x000001FF
Number_of_files DWord Number of files in the table 0x00000000
Data_start DWord LBA pointer to Data Area Start 0x00000042
Byte_per_sect Word Bytes per sector 0x0200
Sect_per_track Byte Sectors per track 0x0012
Head_per_Cyl Byte Heads per Cylinder 0x01
Number_of_cyl Word Number opf Cylinder in the media 0x0050
Volume_label 11 Bytes Disk Label ""
Creator 11 Bytes Creator name "halphoenix",0x00

First record of a directory table:

Name Length Description Value
Table_type QWord Allocation Table type "FOLDER"0x0000
FileSystem_type QWord File System Type "AFS "0x00000000
Parent_dir DWord LBA pointer to parent dir 0x????????
Max_files DWord Max number of files handable 0x000001FF
Number_of_files DWord Number of files in the table 0x????????
Data_start DWord LBA pointer to Data Area Start 0x00000042
Folder_name 32 Bytes Folder name ""

Generic File record structure:

Name Length Description Value
File_name 32 Bytes File name ""
Type Word File type ( dir, device, normal ) 0x000?
Attributes Byte Attributes of the file ( read, sys, hidden ) 0x??
Sector DWord LBA pointer to the strart sector 0x????????
Sector_length DWord File length in sector 0x????????
Byte_length DWord File length in byte 0x????????
Parent_dir DWord LBA pointer to parent dir 0x????????
Create_day Byte Creation day of the file 0x??
Create_month Byte Creation month of the file 0x??
Create_year Word Creation year of the file 0x????
Create_hour Byte Creation hour of the file 0x??
Create_minute Byte Creation minute of the file 0x??
Create_second Byte Creation second of the file 0x??
Create_cent Byte Creation cent of the file 0x??
Modify_day Byte Last modify day of the file 0x??
Modify_month Byte Last modify month of the file 0x??
Modify_year Word Last modify year of the file 0x????
Modify_hour Byte Last modify hour of the file 0x??
Modify_minute Byte Last modify minute of the file 0x??
Modify_second Byte Last modify second of the file 0x??
Modify_cent Byte Last modify cent of the file 0x??

Download sources:

The kernel is developed using a linux platform running with a 2.4.3 kernel, gcc 2.96+ and nasm 0.98+. They are often included in the standard distributions. We don't assure source compatibility with older compiler versions, but you shouldn't encounter problems.


Running AOS:

If you want to directly try to run AOS, you can freely download a floppy disk image of the system, without recompiling the entire kernel and self-create the disk. In Fact in this site is possible to download a raw image of a Aelix Floppy SysDisk. If you working on a dos/Windows platform, you can create the disk with the Rawrite utility. If you are running with a unix-like system, you can use the console command "dd".


Basic Kernel version information ( Maior Release: 0.0 ) :


AnyBrowser.org
 
osdev.org

This site was published by:

Halphoenix ( halphoenix@galactica.it )