Download Latest Version os-kernel-2.4.tar.gz (379.8 MB)
Email in envelope

Get an email when there's a new version of Proximus OS Kernel

Home
Name Modified Size InfoDownloads / Week
os-kernel-2.4.tar.gz 2025-07-15 379.8 MB
README.md 2025-07-15 5.4 kB
os-kernel-2.3.tar.gz 2024-10-21 408.6 kB
os-kernel-2.2.tar.gz 2024-05-21 415.9 kB
os-kernel-2.1.tar.gz 2023-04-17 412.8 kB
os-kernel-2.0.tar.gz 2023-04-17 42.4 kB
os-kernel-1.2.2.tar.gz 2022-02-24 47.2 kB
os-kernel-1.0.tar.gz 2022-02-07 37.1 kB
Totals: 8 Items   381.1 MB 4

Proximus OS Kernel

ProximusDA OS Kernel project provides multi-threading communication between cores. It parallel distributed and implements tasks.

Introduction

This is the README file of Proximus OS kernel project, which is a library providing simple interface for user to define tasks/functions and connections/channels between them. The user-defined tasks are executed concurrently on CPUs using Sandia Qthreads https://www.sandia.gov/qthreads techniques for building lightweight threads.

Directory Structure

.
├── examples
│   └── adder                 # The example project which uses os_kernel library
│   └── gcd_proximus          # The example project which uses os_kernel library
│   └── gcd_pthread           # The example project which uses os_kernel library
│   └── pipeline_proximus     # The example project which uses os_kernel library
│   └── sop_proximus          # The example project which uses os_kernel library
│   └── sop_pthread           # The example project which uses os_kernel library
│   └── inc                   # Contains header files for example projects
│   └── aux                   # Contains os_kernel abstract OS API
│   └── inputs                # Contains input_generator.py which generates test-input files for examples
├── LGPL-3.0.txt              # GNU LESSER GENERAL PUBLIC LICENSE
├── LICENSE                   # Project license file
├── makefile                  # GNU make script which is used for building the project
├── README.md                 # This file
├── INFO                      # Detailed explanation how os_kernel works
├── ReleaseNotes              # Release notes
└── src
    └── os_kernel             # os kernel sources

Prerequisites Installation

To set up the proximus-os-kernel project, first download the latest instigate-mkf build system from this SourceForge link: https://sourceforge.net/projects/instigate-mkf Unpack the archive and open the instigate-mkf/README file. Follow the instructions there to: 1. Install any required packages (prerequisites). 2. Set up the build system by sourcing or copying the necessary script files as described.

Note You may need to run make or a similar command in the top-level instigate-mkf directory if instructed by the README.

$ tar -xvjf instigate-mkf-*.tar.bz2
$ cd instigate-mkf-*

Optional: libnuma, NUMA policy library can be used with os kernel, see https://man7.org/linux/man-pages/man3/numa.3.html

Project Setup

$ tar xf os-kernel-*.tar.gz
$ cd os-kernel-*

Run one of the below commands:

  • To build static library with debug information
$ make setup link_type=static build_type=debug
  • To build static library, without debug information, optimized
$ make setup link_type=static build_type=release

As a result the command will create _setup_ file, containing build configurations.

To delete build configurations run the following command

$ make clean_setup

Build

To build proximus-os-kernel project run the following commands:

$ make

As a result the command will create bin/, inc/, lib/, lib32/, lib64/, pkg/, obj/, obj32/, obj64/ directories, which can be deleted with command

$ make clean

Usage

Inputs Setup

  • Before running example projects it is required to generate input files for the examples.

To generate input files run the following commands:

$ cd examples/inputs
$ python3 input_generator.py

Adder Example

Adder example has - two file reader modules , reading input data from a.txt and b.txt correspondingly, - adder module, calculating the sum of two inputs - file writer module, saving the result received from adder into c.txt file

To compile and run adder example run the following commands:

$ cd examples/adder
$ make
$ make run

example/adder directory contains c.golden file used to check c.txt result file for validity.

If you want to force os kernel to use NUMA library API, you can un-comment NUMA related lines in example/adder makefile.

GCD Example | gcd_proximus vs gcd_pthreads

GCD example using proximus ./examples/gcd_proximus os_kernel and ./examples/gcd_pthread/ using Posix threads.

To compile and run examples run the following commands:

$ cd <example_dir>
$ make
$ make run

SOP Example | sop_proximus vs sop_pthreads

SOP example using proximus ./examples/sop_proximus os_kernel and ./examples/sop_pthread/ using Posix threads.

To compile and run examples run the following commands:

$ cd <example_dir>
$ make
$ make run_<type> :for example make run_int

Read more in => ./examples/sop_proximus/README
Read more in => ./examples/sop_pthread/README

Reference

Bug Reporting

ProximusDA web-site: http://www.proximusda.com

You can send the bug reports and suggestions to info@proximusda.com When reporting bugs please specify the following information:

  1. ProximusDA os-kernel version
  2. Platform, compiler, flags info
  3. Problem description
  4. Steps to reproduce the problem
  5. Compile warnings and errors
Source: README.md, updated 2025-07-15