Giter Site home page Giter Site logo

os's Introduction

OS

1. Goal of this project

The goal of this project is to make a modularized, universal operating system, which can emulate various operating system, without any virtual machine. This project is the experience of figuring whether it is possible to make the universal operating system, thus, two goal that this project should accomplish is:

  1. Modularizing (mostly) everything except for kernel core
  2. Capability of implementing various operating system's executable files.

The operating system will be capable of implementing various driver and other operating system's library, architecture and system call. This would allow embedded system to easily customize operating system without making completely new operating system.

2. Specification & Progress

Architecture      : Intel x86_64
Compiled Language : C++, Assembly
Booting Method    : Legacy (Considering developing UEFI kernel)
Multicore Support : O
File System curently develpoing:                    Storage Driver currently developing:
- [X] FAT16                                         - [ ] PCI (Currently in progress)
- [ ] FAT32                                         - [X] IDE
- [ ] ISO9660 (Currently in progress)               - [ ] SATA
- [ ] NTFS                                          - [ ] NVME
- [ ] Ext4                                          - [ ] USB

3. Compiling & Running

Prerequisits :
  1. x86_64-linux-gnu-gcc
  2. x86_64-linux-gnu-binutils
  3. x86_64-elf-g++
  4. x86_64-elf-binutils
  5. i686-gnu-linux-binutils
  6. make
  7. nasm
  8. wine(For oscdimg)
  9. any virtual machine

Note : You should compile in Linux System. If you want to compile on Windows System, you should install all prerequisits in Linux bash subsystem.

Compile :

Go to the directory and type :

make clean all

Use this command if you are on Windows System :

make --makefile WindowsMakefile clean all

You should get the target file "OS.iso". Boot it to your virtual machine.

4. Future Plan

I am planning to make a document containing detail information of this operating system, especially focused on structure, module, kernel service and executable file. Currently the components and drivers are very scattered across the source of the operating system, but in future the system will be integrated to a sort of module, made of file inside the disk of the operating system. I am hoping that this operating system solves the problem of different platform between various operating system, and even integrates different operating systems in developer's taste.

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.