Skip to content

Stphn-Jn/Simple_OperatingSystem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Simple_OperatingSystem_ASM (PingOS)

A simple operating system written in Assembly language. This project demonstrates the fundamentals of low-level programming, bootloaders, and interacting with computer hardware directly.


✨ Features

  • Custom Bootloader: A handcrafted 512-byte bootloader that resides in the first sector of the storage media.
  • Real Mode Execution: Runs in 16-bit Real Mode, interacting directly with BIOS interrupts (like int 0x10 for video services).
  • Hardware Direct Output: Bypasses standard operating systems to print text and characters directly to the screen.
  • Minimal Footprint: Optimized for size and performance, focusing on the core essentials of system startup.

🛠 Tools and Software Used

  • Language: Assembly (x86)
  • Assembler: NASM (Netwide Assembler) - Used to compile .asm source code into machine-readable .bin files.
  • Emulator: QEMU - Used to run and test the OS in a virtual environment.
  • Version Control: Git & GitHub - For source code management and tracking changes.
  • Editor: Visual Studio Code - The primary IDE for writing code and managing the project workflow.

🚀 Getting Started

Prerequisites

Ensure you have NASM and QEMU installed and added to your system's environment variables (PATH).

Compilation

To compile the source code into a binary file, run the following command in your terminal:

nasm -f bin main.asm -o main.bin

Running the OS

To boot the compiled binary using the QEMU emulator:

qemu-system-x86_64 -drive format=raw,file=main.bin

📁 Project Structure

  • main.asm: The primary source code containing the bootloader logic and OS entry point.
  • main.bin: The compiled binary output (executable by the CPU/Emulator).
  • .gitignore: Prevents compiled binaries and system files from being tracked by Git.

🛠 Progress Log

  • Initial Bootloader logic implemented.
  • Successful character output to screen.
  • Repository connected to GitHub.
  • Keyboard input handling (Upcoming).
  • Basic Shell/Command interface (Planned).

📜 License

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

About

Arch-PingOS is a hobbyist x86 operating system built from the "bare metal" up. It currently serves as a laboratory for exploring low-level systems architecture, boot protocols, and the complexities of cross-platform toolchain configuration

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors