Code Monkey home page Code Monkey logo

nop's Introduction

nopOS: A portable monolithic OS, from the ground up.

nopOS is meant to be a long-term hobby project, whose main goal is to provide a fully usable and self-hosting enviroment on many different architectures and devices, ranging from (hopefully) simple 8-bit microcontrollers to fast and modern x86_64 CPUs, to really obscure server-specific ISAs.

nopOS is divided into its main three parts, named after their matching folders:

  • nop: nopOS's kernel, written in GNU89-compliant C code.
  • lib: An alternative (yet largely overlapping) standard library for both nop and nopOS's userspace.
  • host: A complete suite of programs, ports and configuration files for nopOS's userspace.

nop, nopOS's kernel:

TODO

Progress:

  • nop
    • Device system (nop/device).
    • Tree system (nop/tree).
      • root
      • pci
      • net
      • mbr
      • gpt
      • nilfs2
      • fat12
      • fat16
      • fat32
    • Event system (nop/event).
    • Running unit system (nop/unit).
      • Kernel call handling (with BSON).
    • Make codebase SMP-friendly (sounds like a huge task to me, I have no idea how to...).
    • Platform-agnostic drivers and tasks
      • AHCI (nop/tasks/ahci).
  • i386
    • Entry point.
    • PCI (nop/arch/i386/tasks/pci).
      • Detect PCI presence instead of assuming it's there.
      • Write support.
      • Read support.
    • IDT event triggering (nop/arch/i386/tasks/idt).
    • VGA text mode (nop/arch/i386/tasks/text).
    • Serial ports (nop/arch/i386/tasks/serial).
  • x86_64
    • Entry point.
  • armv7/v8
    • Entry point.
  • aarch64
    • Entry point.
  • rv32* (RISC-V)
    • Entry point.
  • rv64* (RISC-V)
    • Entry point.
  • SH4A
    • Entry point.

lib:

TODO

Progress:

TODO

host:

TODO

Progress:

TODO

nop's People

Contributors

segfaultdev avatar dacousb 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.