2017-07-25 22:23:48 -04:00
2017-07-25 22:23:48 -04:00
2017-07-25 22:23:48 -04:00
2017-07-25 22:23:48 -04:00
2017-07-25 22:23:47 -04:00
2017-07-25 22:23:48 -04:00
2017-07-25 22:23:47 -04:00
2017-07-25 22:23:47 -04:00

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) VFS abstraction layer for a single file system

(P) ram disk driver

(P) devfs file system driver



(T) ext2 file system support

(T) vfat file system support

(T) Multitasking support

(T) Console Manager

(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



S
Description
Holtrop's Operating System - new version, really lacking content
Readme
3.7 MiB
0 Stars 1 Watchers 0 Forks
Languages
C 51.8%
Ruby 47.4%
Assembly 0.8%