Home
Name Modified Size InfoDownloads / Week
README.md 2024-10-21 3.5 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: 7 Items   1.4 MB 0

Proximus OS Kernel

[[TOC]]

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
├── 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
├── ReleaseNotes  # Release notes
└── src
    └── os_kernel # os kernel sources

Prerequisites Installation

The proximus-os-kernel project has a dependency from instigate-mkf build system. User needs to download the recent instigate-mkf from https://sourceforge.net/projects/instigate-mkf url, unpack it, and follow instigate-mkf/README instructions for installing prerequisites and script files.

$ tar xf instigate-mkf-2.0.tar.gz
$ cd instigate-mkf-2.0

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-2.2.tar.gz
$ cd os-kernel-2.2

Run one of the below commands:

  • To build shared library with debug information ``` $ make setup link_type=shared build_type=debug
- To build shared library, without debug information, optimized
 ```
$ make setup link_type=shared build_type=release
  • 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

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.

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 2024-10-21