SecureLang™ Custom OS

Currently under heavy development and missing many features needed for primetime use, SecureLang™ Custom OS is my latest effort at building an integrated demo platform. Components from the OS can be used together or sometimes separately (such as on a Linux ecosystem) to provide modern infrastructure capabilities while minimising complexity.

SecureLang Custom OS was initially based on academic example code and was first intended as an xv6 port to test my RISC-V compiler backend. After rapid success with the initial port to the compiler, the kernel has now been mostly rewritten with more advanced capabilities.

Features

  • Kernel is now entirely new code (excluding unusual configurations) following a lengthy audit of old code
  • Advanced support for RISC-V CPUs
  • Tested on real hardware (Ky X1) as well as emulators
  • Supports multicore and large amounts of RAM using standard device tree files
  • Integrates with SecureLang™ C Toolchain (also buildable with GCC)
  • Newly developed C runtime with professional implementations of important malloc & printf functions
  • Reliable filesystem with multi-disk/multi-root support and in-progress support for large disks
  • Multitasking & multithreading
  • Priority-based scheduling algorithm
  • Code audit tool is included as an example, this can be modified for customised auditing requirements
  • Lightweight package manager, text editor, scripting etc. (work in progress)

Limitations

  • Lack of drivers for hardware peripherals (graphics, disk, network etc.), currently limited to command-line demos
  • Lack of support for multiple filesystems on a single disk (no partition manager)
  • Limited collection of userland tools (no easy-to-use system installer etc.)
  • Testing is currently limited to checking of features which are in development (proper quality control is starting to commenced now, see updates in the blog)