Skip to content

My personal learning journey for building a simple operating system from scratch.

License

Notifications You must be signed in to change notification settings

katistix/simple-os

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Simple OS by Paul Tal / @katistix

"Readme generated by ChatGPT 😅"

Welcome to the Simple OS repository! This project serves as a personal learning journey for building a simple operating system from scratch, with a primary focus on the x86_64 architecture. While the primary goal is not to provide comprehensive OS-building tutorials, the repository will showcase the author's skills and serve as a portfolio project.

Project Overview

The primary objectives of this project include:

  1. Learning Bootsectors: Starting with a basic "Hello World" bootsector, the project will provide increasingly complex code for boot sectors. The initial bootsector, hello_world.asm, demonstrates how to print "Hello World!" on the screen using BIOS interrupts.

  2. Kernel Development: As the project evolves, you will find code for developing a kernel. This will involve more advanced topics such as memory management, multitasking, and device drivers.

  3. Building a Simple OS: Ultimately, the project aims to develop a basic operating system. This involves integrating the boot sector and kernel to create a functioning OS environment.

Getting Started

If you're interested in exploring the code or following along with the project's development, you can clone the repository to your local machine:

git clone https://github.com/katistix/simple-os.git

Prerequisites

For the recommended development environment, we suggest using Visual Studio Code with Dev Containers. To set up this development environment, follow these steps:

  1. Make sure you have Visual Studio Code installed on your system.

  2. Install the Visual Studio Code Remote - Containers extension if you haven't already.

  3. Inside the repository, you will find a Dockerfile in the root directory. This Dockerfile contains instructions for the Dev Containers extension to build a Docker container for development.

  4. Open the repository in Visual Studio Code and accept the prompt to "Reopen in Container" when asked. This will build a Docker container with the necessary tools, including NASM, and provide a consistent development environment.

Usage

Once you have set up the development environment using Dev Containers, you can work with the code within the container. The development environment will include all the required tools and dependencies.

Feel free to explore and run the code snippets provided in the repository. You can build and test them in the Dev Container for a smooth development experience.

Scripts

There's a scripts folder in the repository that contains some scripts for building and running the code. You can find more information about the scripts in the scripts README.

Contribution

Contributions to this repository are not the primary focus. However, if you discover issues or have suggestions for improvements, please feel free to create an issue or a pull request.

License

This project is open-source, and the code is available under the MIT License.

Happy coding! 👨‍💻🌟

About

My personal learning journey for building a simple operating system from scratch.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published