Coder Social home page Coder Social logo

toroos's Introduction

Toro Operating System

Introduction

ToroOS is an operating system for educational purposes for x86 that supports one core.

Features

  • Support for POSIX
  • Support for grub as bootloader
  • Support for multiboot
  • Support multitasking
  • Support preemption
  • Support Virtual File System
  • Support Realtime and RR scheduler
  • Support fat12 for filesystem

Work in progress

  • Support for Multicore
  • Support for Networking
  • Support for Ext2 filesystem
  • Support for IDE disk

Try it in QEMU/KVM

ToroOS is built by using fpc-3.2.0 and the embedded-i386 rtl. Also, we are currently relying on a modified version of Qemu/KVM. This is a temporal solution until we get rid of the floppy driver. To build Toro from master, please follow the next instructions to build a Docker image to work with ToroOS:

apt install x11-xserver-utils
xhost +
git clone https://github.com/torokernel/ToroOS.git
cd ToroOS/ci
docker build --no-cache -t toroos-dev .
cd ..
./make_all.sh

This launches ToroOS by using QEMU like in the following picture:

shell

Contributing

Contributions are very welcome! Do not hesitate to reach me at [email protected]. Also, you can simply create a new issue.

toroos's People

Contributors

matiasvara avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

toroos's Issues

Overflow when the keyb driver reads more than KEYBUFFLEN

This is a larger work since the current mechanism in the tty is completely broken. The current mechanism shares the buffer where the key is written with the reader. There are several issues in the current implementation, i.e., race conditions and deadlocks. We need to implement a ring buffer or a linked-list in which keys are added. Or maybe, a polling mechanism would be better.

Port sh

The shell (sh) needs to be ported by using the new rtl.

Rewrite ls

This issues has to rewrite ls in a more clear way.

Fix backspace

The backspace is introducing bad chars also is allowed when it shouldn't.

Add support ide disks

To do this, I should base on the ide disk drivers for toro. This driver should replace floppy driver.

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.