Coder Social home page Coder Social logo

wheelo / devos Goto Github PK

View Code? Open in Web Editor NEW

This project forked from samypesse/devos

0.0 2.0 0.0 1.45 MB

(Very) basic UNIX-like operating system built when I was younger

License: Apache License 2.0

Makefile 1.44% C++ 21.09% C 74.47% Assembly 2.94% Shell 0.07%

devos's Introduction

(Very) Basic Operating System in C++

This code was written several years ago as one of my first projects when I was in High School so it's normal if some parts of the code looks like "crap".

But some parts of the code are useful to learn how to create a bootable operating system with memory pagination, multitasking, virtual memory, EXT2, ...

Screen

Features :

* Code in C++
* x86 32bits
* Boot with Grub
* Kind of modular system for drivers (I was in High school so it's not really great)
* Kind of UNIX style (again: It's not great)
* Multitasking
* ELF executable in userland
* Modules (accessible in userland using /dev/...) :
	* IDE disks
	* DOS partitions
	* Clock
	* EXT2 (read only)
	* Boch VBE
* Userland :
	* API Posix
	* LibC
	* "Can" run a shell or some excutables like Lua, ...

Build & Run using Vagrant (for OS X and Linux users)

Make sure you have both Vagrant installed and this repo cloned (and an open terminal in it's folder)

Then run the following commands (ignore comment lines starting with #):

# Starts Vagrant VM
# This will start an ubuntu machine and install build-essential, make, Qemu ...
vagrant up

# SSH into machine
vagrant ssh

# Once SSHed
cd /vagrant

# Build kernel, userland ...
make all

# Run emulation
make emulate

Progress

  • Compiles ✅
  • Builds Image ✅
  • Boots ✅

devos's People

Contributors

aarono avatar freefull avatar samypesse avatar suriyaakudoisc avatar thethirdone avatar zsprackett avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.