HOS - Holtrop's Operating System -------------------------------- HOS is (in the process of becoming) a 32-bit, protected mode, graphical, multitasking operating system. It was written by me, Josh Holtrop, with help from a few others along the way. Goals: (A = accomplished, P = in progress, T = todo) ---------------------------------------------------- (A) Custom bootloader to load kernel from FAT-formatted boot media, options for video mode/ram disk (A) Multiboot compliance - kernel can be loaded by GRUB (A) 32-bit protected mode environment (A) VESA Support for graphics modes (A) PS/2 keyboard & mouse drivers (A) Utilize x86's paging architecture for virtual memory management (P) Console Manager (P) VFS abstraction layer for a single file system (P) ram disk driver (P) devfs file system driver (P) ext2 file system support (T) vfat file system support (T) Multitasking support (T) HASH command shell (T) Window Manager (T) Various other utilities/applications (T) Hard Drive (ATA) driver (T) cdrom (ATAPI) driver Change Log ---------- 0.15 07/10/04 - Multiboot support added, loadable by GRUB 0.14 05/21/04 - C++ support in kernel, can use classes & templates 04/04/04 - video_line function for diagonal lines 03/16/04 - new VFS design with support for a loop device 03/01/04 - Thanks to Ben Meyer for helping me get a Makefile working and building on linux to work! 0.13 01/26/04 - functions added to read/write CMOS clock date and time 01/19/04 - fixed bug GDTR/IDTR pointing to physical rather than linear table base address 01/07/04 - fixed bug not reading sectors correctly from floppy 12/28/03 - fixed bug not storing eax on interrupt 12/25/03 - fixed bug in mm_palloc() 12/25/03 - incorporated output functions as regular functions rather than as part of a linked library 12/23/03 - re-written physical memory manager using bitmap instead of stack 12/22/03 - kernel relocated to 3gb linear / 1mb+24kb physical to allow for app. address space 0.12 12/21/03 - sample bmp loader tested, works (tests loading a kernel of size ~ 932kb) 12/20/03 - GDT/IDT now located at 1mb physical, before kernel 10/30/03 - turns floppy motor off 10/30/03 - keyboard LEDs working 10/29/03 - paging functions working 10/15/03 - physical memory management page allocators working 0.11 10/09/03 - PS/2 mouse driver 0.10 09/11/03 - Rewritten C and assembly kernel with VESA GUI mode support, keyboard driver 0.05 05/14/03 - HGUI24/HGUI32 commands finished for testing GUI on both 24bpp and 32bpp graphics cards 05/14/03 - first web release! 0.04 03/09/03 - added VM shortcut command 03/09/03 - press up to fill retrieve last inputted command for Nate Scholten 03/08/03 - press clear to clear console input 03/07/03 - added "shortcut" commands PC, IC, ? for Nate Scholten 03/06/03 - added PROMPTC, INPUTC commands 0.03 12/30/02 - Command Line Interface working, accepting basic commands 0.02 12/11/02 - Assembly bootsector can load stage2 ("console") 0.01 12/01/02 - Real mode assembly bootsector boots from floppy disk successfully