phenomeno / gros

Grace's operating system

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

gros

Grace's operating system :-)

What's in the box

This repository is intended to keep track of the process of learning to write an operating system. I know close to nothing on this subject matter so this should be fun.

Lecture material is mostly provided on an informal basis by stewartpark and reading materials from college courses, Wikipedia, and superuser/stackoverflow/other sources of information.

[WIP] The learning process

Learning Assembly

It helped a lot to write a simple program in C and then whiteboard the corresponding assembly instructions.

Execution Instructions:

nasm -f macho64 loop.asm
gcc loop.o
./a.out

Debugging:

lldb a.out
b main        ; breakpoint at main label
r             ; run
register read ; see values held in register

Bootloader

The system BIOS will load the bootloader program from an external source of memory into the RAM address: 0000:7c00. From there, our bootloader will run.

Execution Instructions:

nasm -f bin -o bootloader.bin bootloader.asm
dd if=bootloader.bin of=bootloader.flp
qemu-system-i386 -fda bootloader.flp

Resources:

Pending:

About

Grace's operating system


Languages

Language:Ruby 67.7%Language:Assembly 27.4%Language:C 4.9%