Here is our technical report.
We developed a full function kernel. We hope to decorate it with Advanced Feelings(高级感), so we will try hard to refactor again and again to make every loc perfect.
Read CONTRIBUTING first when you start to develop.
Our Framework is inspired from Linux, as below:
.
├── docs # documentary
├── linker # riscv link scripts for kernel and user program
├── output # building output
├── scripts # shell scripts as development assistance
├── src # OS source code
│ ├── arch # architecture specified code
│ │ └── riscv # riscv64
│ │ ├── include # including directories referenced by kernel and implementd by arch-code
│ │ │ ├── asm # asm headers including definations or macros
│ │ │ └── uapi # uapi for outsiders' usage, like syscall number
│ │ ├── kernel # kernel related arch-specified code
│ │ └── sbi # sbi codeimplementation
│ ├── drivers # drivers
│ ├── fs # file system, as independent module from kernel
│ ├── include # arch-independent headers
│ │ ├── common # common data structure headers
│ │ ├── lib # library functions headers
│ │ └── os # OS/kernel headers
│ ├── init # initiate process
│ ├── kernel # kernel core code
│ │ ├── irq # deal with interrupt and exeptions
│ │ ├── mm # deal with memory management
│ │ ├── socket # deal with socket function
│ │ ├── sync # deal with synchronize operations like semaphores
│ │ ├── sys # deal with system core functions like pcb management
│ │ └── users # deal with user management
│ ├── libs # libraries for kernel use only, like string and print
│ └── tests # kernel related tests, built into kernel
│ └── user # temp compromise
├── target # build target location
├── tests # non-kernel related tests, mainly for language features using host compiler and env
├── tools # OS-none-related tools
└── userspace # userspace programs
Copyrights belong to Contributors, you must include the copyright announcement when citing this work or use its codes.
We use Apache 2.0 License for source code, and CC-BY-SA 4.0 License for documentary.