Giter Site home page Giter Site logo

nexusoft / lx-os Goto Github PK

View Code? Open in Web Editor NEW
6.0 4.0 1.0 147.61 MB

Operating System focused on security, performance, and distributed computing.

License: Other

Makefile 0.69% C 84.42% Objective-C 0.05% Assembly 1.24% C++ 3.62% Shell 0.32% Python 3.57% CMake 1.61% HyPhy 0.51% Brainfuck 0.01% TeX 1.99% Vim Script 0.01% Perl 0.08% Lex 0.03% Yacc 0.08% Roff 0.81% Awk 0.03% Pawn 0.01% HTML 0.93% sed 0.01%

lx-os's Introduction

Quick Start

Building LX-OS

In order to build LX-OS's codebase:

  1. Read: https://wiki.sel4.systems/Getting_started#Setting_up_your_machine. Set up the environment (repo tool, cross compilers and build dependencies) as per the instructions on the page.

  2. Install the following packages (package named based on Ubuntu 14.04):

    sudo apt-get install python-tempita

  3. make help (to list the default configurations)

  4. make <config>, where <config> is one of the configurations listed with the <make help> command: eg. make kzm_debug_test_defconfig

  5. make silentoldconfig

  6. make

    You should now have a bootable system image (refos/images/refos-image).

  7. make simulate-kzm (or a different command depending on the configuration you chose, run <make help> to list the different configurations and how to run them)

Overview

The repository is organised as follows.

  • impl/apps: LX-OS system and userland applications
    • selfloader: Bootstrap application, which is responsible for starting user processes.
    • process_server: The process server, which runs as the root task and provides process and thread abstraction and initialises the entire system.
    • file_server: The cpio file server, which stores files and executables in a cpio archive and exposes them via a dataspace interface.
    • console_server: The console server, a system process which acts as the console device driver and manages serial input and output and EGA text mode output.
    • timer_server: The timer server, a userland driver process which manages the timer device and provides timer get time and sleep functionality.
    • terminal: The interactive terminal application.
    • test_os: LX-OS operating system level test suite, which tests the operating system environment.
    • test_user: LX-OS user-level test application, which is responsible for testing the operating system user environment.
    • snake: Example snake game.
    • tetris: Example tetris game.
    • nethack: Port of Nethack 3.4.3 roguelike game.
  • impl/libs: LX-OS system and userland applications
    • libdatastruct: LX-OS library that provides simple C data structures such as vectors, hash tables and allocation tables.
    • librefos: LX-OS user and server shared definitions, RPC specifications and generated stubs and low level helper libraries.
    • librefossys: LX-OS library that implements some POSIX system calls using low-level LLL-OS and thus allows the C library to work. This directory is intended to simplify LX-OS userland applications and facilitate porting.
  • impl/docs: LX-OS doxygen code documentation.
  • design: LX-OS protocol design document.

License

The files in this repository are released under standard open source licenses. LX-OS code is released under the BSD license where possible and GPL for some external software. Please see the individual file headers and LICENSE_BSD2.txt for details.

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.