GithubHelp home page GithubHelp logo

kitan0516 / matrix Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ted-chang/matrix

0.0 0.0 0.0 791 KB

Matrix, the name originated from the film "The Matrix", is a personal operating system project.

License: GNU General Public License v2.0

Makefile 2.12% C 95.10% Assembly 1.68% C++ 0.44% Shell 0.57% Objective-C 0.09%

matrix's Introduction

How to build?
Clone the source repo and install the dependency tool chain.
$ cd matrix && make
To get available make options, run the following command.
$ make help

How to test matrix?
I only tried it with bochs 2.4.6 and boot it with grub installed. 
You need to install grub and boot from the kernel file. Also a initrd 
is needed. You can generate the initrd with the make_initrd tool. To 
build make_initrd tool, just build the source file in tools directory.

What architecture does matrix support now?
At this moment matrix only support the x86 architecture.

How to debug matrix?
When matrix booting it will config the serial port and write logs to 
the serial port. If you are debugging with physical machine, you can 
use a serial line. If you are debugging with bochs, you can redirect 
the output to a file.

How to create a bochs vm using the image?
Create a file bochsrc.bxrc and write the configuration into the file. 
You can refer to the documents on bochs site. Also there is a bochs 
configuration file in tools directory.

***

Organization of the Matrix sources

The sdk\ directory contains a number of shared user mode startup code
for applications. sdk\include contains all the headers shared between
user mode and kernel mode components. sdk\libc contains the standard C
library code that don't need runtime environments(i.e. no memory related
stuff).

The uspace\ directory contains code for all the applications

The drivers\ directory contains all the drivers for Matrix

The kernel\ directory contains the Matrix kernel sources.

The primary Matrix source components are organized as follows:

    hal\    - Hardware abstract layer
    mm\	    - Memory management stuff
    proc\   - Process, thread management and also scheduler
    sys\    - System call, timer, utility, etc
    fs\	    - File System related stuff
    loader\ - ELF loader, load the ELF file to process' address space
    time\   - Time management code
    libc\   - Place holder, actual code is in sdk\libc directory
    dbgk\   - Kernel debugger support

    include\- Kernel-only include files
    rtl\    - Kernel run-time support
    init\   - Kernel startup code

***

matrix's People

Contributors

ted-chang 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.