Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Pinkuagrawal28/Osmygod

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

Osmygod

Practice Series for building your own Operating System

This repository contains a practice series dedicated to guiding you through the process of building your own operating system. It's designed for hands-on learning and understanding the fundamental concepts behind OS development.

Table of Contents

Introduction

Welcome to the Osmygod practice series! This project aims to demystify operating system development by breaking it down into manageable steps. Whether you're a seasoned developer curious about low-level programming or a beginner eager to learn how an OS works from the ground up, this series is for you.

We'll cover topics such as:

  • Bootstrapping and bootloaders
  • Memory management
  • Interrupt handling
  • Input/Output (I/O)
  • Process management
  • Filesystems

Getting Started

To get started with the Osmygod series, you'll need to clone this repository:

git clone https://github.com/your-username/Osmygod.git
cd Osmygod

Each part of the series will be organized into its own directory, with detailed instructions and code examples.

Series Structure

The series will be structured incrementally, with each part building upon the previous one. Here's a general outline:

  • Part 1: Bootloader Basics - Setting up the initial boot process.
  • Part 2: Protected Mode - Transitioning to 32-bit protected mode.
  • Part 3: Memory Management - Implementing basic memory allocation.
  • Part 4: Interrupts - Handling hardware and software interrupts.
  • Part 5: Kernel Development - Building a simple kernel.
  • Part 6: Beyond - Exploring more advanced topics.

Prerequisites

Before diving into this series, it's recommended to have a basic understanding of:

  • Assembly Language (x86): Familiarity with basic assembly concepts will be very helpful.
  • C Programming Language: The majority of the OS will be written in C.
  • Computer Architecture: Knowledge of how computer hardware works at a fundamental level.

Tools you'll need:

  • GCC/Clang: C compiler.
  • NASM/GAS: Assembler.
  • QEMU: Emulator for testing your OS.
  • Make: Build automation tool.

Contributing

We welcome contributions to the Osmygod project! If you have suggestions, improvements, or want to add new parts to the series, please feel free to open an issue or submit a pull request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

Practice Series for building own operating System

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published