wiki:PortingSoftware

Version 2 (modified by Vojtech Horky, 10 years ago) ( diff )

WIP - libposix

Porting Software to HelenOS

This page shall contain a brief guide for porting software (e.g. from GNU/Linux) to HelenOS. Currently, it only contains assorted links to existing resources.

POSIX emulation layer

HelenOS is not another Unix-like OS and thus it needs an emulation for applications that were written for Unix systems. This emulation is currently in HelenOS provided by libposix library that provides implementation of functions that are part of POSIX standard but were considered inappropriate for HelenOS.

libposix provides an (incomplete) illusion that the application has access to standard POSIX headers and functions. The ported application is then linked with libposix which translates the calls to HelenOS specific implementations in libc.

Implementation detail: some of the functions in libc have the same name as standard POSIX ones or they offer slightly different behaviour. To prevent naming clashes, symbols in libc.a are renamed to avoid the need to rename the POSIX versions (which was an older approach where renaming was done during preprocessing, however this approach has various disadvantages).

Note: See TracWiki for help on using the wiki.