A source library xPack with the µOS++ files specific for running on POSIX platfroms.
The project is hosted on GitHub as micro-os-plus/architecture-synthetic-posix-xpack.
This page is addressed to developers who plan to include this source library into their own projects.
For maintainer info, please see the README-MAINTAINER file.
As a source library xPacks, the easiest way to add it to a project is via xpm, but it can also be used as any Git project, for example as a submodule.
A recent xpm, which is a portable Node.js command line application.
For details please follow the instructions in the xPack install page.
Note: the package will be available from npmjs.com at a later date.
For now, it can be installed from GitHub:
cd my-project
xpm init # Unless a package.json is already present
xpm install github:micro-os-plus/architecture-synthetic-posix-xpack
When ready, this package will be available as
@micro-os-plus/architecture-synthetic-posix
from the npmjs.com
registry:
cd my-project
xpm init # Unless a package.json is already present
xpm install @micro-os-plus/architecture-synthetic-posix@latest
ls -l xpacks/micro-os-plus-architecture-synthetic-posix
If, for any reason, xpm is not available, the next recommended
solution is to link it as a Git submodule below an xpacks
folder.
cd my-project
git init # Unless already a Git project
mkdir -p xpacks
git submodule add https://github.com/micro-os-plus/architecture-synthetic-posix-xpack.git \
xpacks/micro-os-plus-architecture-synthetic-posix
Apart from the unused master
branch, there are two active branches:
xpack
, with the latest stable version (default)xpack-develop
, with the current development version
All development is done in the xpack-develop
branch, and contributions via
Pull Requests should be directed to this branch.
When new releases are published, the xpack-develop
branch is merged
into xpack
.
This xPack provides the implementation for the µOS++ scheduler, running on a synthetic POSIX platform, as an user mode process under macOS and GNU/Linux.
The µOS++ synthetic POSIX scheduler port is fully functional.
When running on a synthetic POSIX platform, the µOS++ scheduler runs in cooperative mode only.
Implementing the preemptive mode seems quite dificult and was not addressed.
To include this µOS++ port in a project, consider the following details.
include
src
_XOPEN_SOURCE=700L
TBD
TBD
- none
TBD
TBD
The original content is released under the MIT License, with all rights reserved to Liviu Ionescu.