All Projects → pflab-ut → mcube

pflab-ut / mcube

Licence: BSD-2-Clause license
Mcube Kernel: Operating System Supporting Dynamically Switchable Kernel Models

Programming Languages

c
50402 projects - #5 most used programming language
assembly
5116 projects
C++
36643 projects - #6 most used programming language
python
139335 projects - #7 most used programming language
Makefile
30231 projects
objective c
16641 projects - #2 most used programming language

Projects that are alternatives of or similar to mcube

Sigma
Abandoned overcomplicated Microkernel using modern x86_64 features
Stars: ✭ 36 (-14.29%)
Mutual labels:  kernel, os, microkernel
OpenHarmony
华为鸿蒙分布式操作系统(Huawei OpenHarmony)开发技术交流,鸿蒙技术资料,手册,指南,共建国产操作系统万物互联新生态。
Stars: ✭ 373 (+788.1%)
Mutual labels:  kernel, os, microkernel
poplar
Microkernel and userspace written in Rust exploring modern ideas
Stars: ✭ 217 (+416.67%)
Mutual labels:  kernel, os, microkernel
fpos
Free Pascal Operating System (FPOS) is a operating system consists of a minimal kernel built on FreePascal. It contains a Scheme implementation of a hard drive (ATA) driver, keyboard (PS2), serial (8250 UART), FAT32 filesystem and a small real time clock manager. The project was built to experiment with developement of operating system using a h…
Stars: ✭ 36 (-14.29%)
Mutual labels:  kernel, os, microkernel
Unikraft
Unikraft is an automated system for building specialized POSIX-compliant OSes known as unikernels. (Core repository)
Stars: ✭ 183 (+335.71%)
Mutual labels:  kernel, os
Cyjon
A simple, clean code, multi-tasking operating system written in pure assembly language for 64-bit processors from the AMD64 family.
Stars: ✭ 184 (+338.1%)
Mutual labels:  kernel, os
SnowFlake
Technology is free, SnowFlakeOS
Stars: ✭ 38 (-9.52%)
Mutual labels:  kernel, os
MoonOS
MoonOS (just a kernel atm) is a micro kernel designed for the x86_64 and arm architecure.
Stars: ✭ 82 (+95.24%)
Mutual labels:  os, microkernel
Mbp Fedora
Stars: ✭ 129 (+207.14%)
Mutual labels:  kernel, os
Frosted
Frosted: Free POSIX OS for tiny embedded devices
Stars: ✭ 194 (+361.9%)
Mutual labels:  kernel, os
Cardinal
Operating system designed to be fast and secure.
Stars: ✭ 20 (-52.38%)
Mutual labels:  kernel, os
Pebble
Microkernel and userspace written in Rust exploring modern ideas
Stars: ✭ 184 (+338.1%)
Mutual labels:  kernel, os
Mollenos
MollenOS/Vali is a modern operating system that is built with focus on abstraction and a modular design, allowing anyone to port it to any architecture. It currently targets the x86-32 and x86-64 platform.
Stars: ✭ 182 (+333.33%)
Mutual labels:  kernel, os
Snowflakeos
"It is very special"
Stars: ✭ 190 (+352.38%)
Mutual labels:  kernel, os
Zen
Experimental operating system written in Zig
Stars: ✭ 177 (+321.43%)
Mutual labels:  kernel, os
Kernel
The Stupid Operating System
Stars: ✭ 217 (+416.67%)
Mutual labels:  kernel, os
biefircate
Running x86-16 or x86-32 code from x86-64 UEFI; _very experimental_ • mirror of https://gitlab.com/tkchia/biefircate • developer notes at https://gitlab.com/tkchia/biefircate/-/blob/main/doc/NOTES.asciidoc
Stars: ✭ 47 (+11.9%)
Mutual labels:  kernel, os
SynapseOS
SynapseOS - модульная операционная система на языке C.
Stars: ✭ 93 (+121.43%)
Mutual labels:  kernel, os
Macaron
A sweet hobby made operating system written in C++ for x86 CPUs with GUI
Stars: ✭ 34 (-19.05%)
Mutual labels:  kernel, os
DuckOS
Such OS; Very Duck!
Stars: ✭ 16 (-61.9%)
Mutual labels:  kernel, os

Mcube Kernel

Operating System Supporting Dynamically Switchable Kernel Models

Description

Mcube Kernel is an operating system for Micro/Monotlithic/MultiKernels. Dynamically switchable kernel models can avoid unnecessary recompile and reboot.

Mcube Kernel

Supporting Compilers and ISAs

  • LLVM-6.0.0/GCC-7.3.0 (or later) for X86_64, ARM64 (AARCH64), and SIM (user-level) ISAs
  • LLVM-6.0.0/GCC-4.8.4 Extension for AXIS ISA
  • Python 3.6.5 (or later)

Set up Build Environment (Ubuntu 18.04 LTS)

Please execute the following command (root privilege required).

$ make setup

Set up Configuration

Please edit configure file or execute the following command.

$ cp docs/config/ARCH_configure configure

where ARCH_configure is aarch64_raspi3_configure, axis_configure, sim_configure, or x86_64_configure.

ARCH of ARCH_configure is changed to an architecture name of small characters. Details of configure file are explained in Kconfig.

How to Build

First of all you check and modify configure file. If CONFIG_XXX=y, enable the configuration. If CONFIG_XXX=n, disable the configuration. Then please execute the following command.

$ make configure

Please execute the following command.

$ make

Otherwise if you would like to use docker, please execute the following command.

$ make docker

If cleaning build files, please execute the following command.

$ make clean

How to Execute

Without Arguments

Please execute the following command in CUI.

$ make run

Please execute the following command in GUI.

$ make grun

With Arguments in SIM Architecture

Please execute the following command in CUI.

$ make run ARGS="arg1 arg2 arg3"

Please execute the following command in GUI.

$ make grun ARGS="arg1 arg2 arg3"

Documentations

License

  • 2-clause BSD License
  • See LICENSE

Copyright

2018-2019 Hiroyuki Chishiro

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].