Skip to content
forked from Ted-Chang/matrix

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

License

Notifications You must be signed in to change notification settings

kitan0516/matrix

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

***

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 95.1%
  • Makefile 2.1%
  • Assembly 1.7%
  • Other 1.1%