Snowdrop OS - my operating system from scratch, in assembly language
Snowdrop OS - my operating system from scratch, in assembly language
Snowdrop OS was born of my childhood curiosity around what happens when a PC is turned on, the mysteries of bootable disks, and the hidden aspects of operating systems. It is a 16-bit real mode operating system for the IBM PC architecture. I designed and developed this homebrew OS from scratch, using only x86 assembly language.
I have created and included a number of utilities, including a file manager, text editor, graphical applications, BASIC interpreter, x86 assembler and debugger. I also ported one of my DOS games to it. After all, what kind of an operating system doesn't have games?
The Snowdrop OS and the apps are distributed as both a floppy disk (1.44Mb) image, as well as a CD-ROM image. The images contain the following, all programmed from scratch:
- a boot loader which loads the kernel into memory
- a kernel which sets up interrupt vectors to be used by user apps, and then loads the startup app
- user apps, including a shell (command line interface), utilities, test apps, and aSMtris, my Tetris clone
Snowdrop OS can also be installed to a hard disk - prompting the user to do so during boot - if it detects one.
I hope that Snowdrop can serve other programmers who are looking to get a basic understanding of operating system functions. Like my other projects, the source code is fully available, without any restrictions on its usage and modification.


originally posted at

Stacker News
Snowdrop OS - my operating system from scratch, in assembly language \ stacker news
Snowdrop OS was born of my childhood curiosity around what happens when a PC is turned on, the mysteries of bootable disks, and the hidden aspects ...