diff options
author | Ian Moffett <ian@osmora.org> | 2025-03-02 03:43:50 -0500 |
---|---|---|
committer | Ian Moffett <ian@osmora.org> | 2025-03-02 03:43:50 -0500 |
commit | ffc00cc614cd10e106389fba21a952b5c5fe7c62 (patch) | |
tree | 5cfd48a3fc254f6485e1286d7725eff52a422093 | |
parent | f70085028976dc73aa701583f2f7b827db6eec04 (diff) |
OAP: Add OAP-0002-DRAFT (OUSI)
Signed-off-by: Ian Moffett <ian@osmora.org>
-rw-r--r-- | kd/oap-0002.md | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/kd/oap-0002.md b/kd/oap-0002.md new file mode 100644 index 0000000..e8b8fef --- /dev/null +++ b/kd/oap-0002.md @@ -0,0 +1,73 @@ +--- +stand_alone: true +ipr: none +cat: info +area: Systems Engineering +wg: OSMORA Standards Group + +docname: OAP-0002-DRAFT + +title: OSMORA Uniform System Interface +abbrev: OUSI +lang: en +kw: + - oap + - amelioration +author: +- role: editor + name: Ian M. Moffett + org: OSMORA + city: Washington, DC + region: Southeast + code: 20020 + email: ian@osmora.org + +--- abstract + +OSMORA Uniform System Interface is a POSIX replacement for modern computing. + +--- middle + +# Introduction + +POSIX is a foundational standard and has evolved alongside the rapidly changing world of +computing. However as things increasingly advance, it is becoming growingly reasonable to +consider POSIX outdated. Despite its inherent challenges and limitations, the POSIX standard +is still an essential component within many operating systems today. The OUSI standard aims to +replace POSIX while still mantaining compatibility with legacy POSIX applications. + +## Purpose + +The goal of OUSI is to replace POSIX by being more flexible, intuitive and simplified while +still supporting legacy POSIX applications through compatibility mechanisms such as _POSIXSHIM. + + +# Requirements Language + +{::boilerplate bcp14-tagged} + +# Compatability + +OUSI maintains compatibility through its _POSIXSHIM layer. In order for legacy +POSIX applications to work with OUSI, they must link with the necessary compatibility +libraries and expose legacy POSIX mechanisms by defining "_POSIXSHIM" globally. + +# Standard C library headers + +Standard C library headers should be written with OUSI in mind while exposing +legacy POSIX mechanisms if requested. + +## Example of stdio.h + +~~~~~~~~~~~ +#ifndef _STDIO_BRIDGE_H_ +#define _STDIO_BRIDGE_H_ 1 + +#if !defined(_POSIXSHIM) +#include <ousi/stdio.h> +#else +#include <posixshim/stdio.h> +#endif +... +#endif /* !_STDIO_BRIDGE_H_ */ +~~~~~~~~~~~ |