Author: Amlal El Mahrouss (amlal at nekernel dot org)

Abstract:

This page includes additional notes about NeKernel and Nectar.
It compiles the notions and methodology used behind NeKernel and Nectar.

Papers:

Here are the compiled version of WG01 and WG02 -- generated from their respective TeX files. Which are available on GitHub.
WG01 WG02

Theories:

These are the theories behind the NeKernel system -- authored by Amlal El Mahrouss. (amlal at nekernel dot org)

Generalized Harvard Separation/Generalized Domain Separation:

Generalized Domain Separation is the theoretical framework that extends the classic Harvard architecture by separating execution semantics,
authority, and interpretation across abstract execution domains rather than physical instruction/data memory.

Execution Domains Theory:

Abstract:

An execution domain defines a boundary for execution semantics, resource visibility, and control flow. - Let C denote an execution domain in an execution context E. - Let D be of same type of C but of a different execution context.

Properties:

- C shall be not equal to D, as C has a different execution context than D. - C may be composed of sub-programs within the execution context E.

Note: On Execution Contexts:

Execution contexts are treated as abstract semantic parameters, and execution domains as abstract structures indexed by those parameters.

Execution Authority Theory:

Abstract:

An execution domain is defined as previously stated [here](/blog/execution_domain.mdx). An execution authority is responsible for defining whose semantics may be used for an [execution context](/blog/execution_domain.mdx). A trait is a set of formal rules defining the semantic concepts of an execution context. Let A be an execution authority of type T where T is an traits of an execution context.

Properties:

Let C denote an execution domain in an execution context E. Let Z denote an execution domain in an execution context X. If C does not equal or is not semantically substitutable with Z -- or vice versa. Then -- C shall not equal to Z. If Z or C are defined as null execution context. Then -- the said context -- defined as N is not equal to (!N).

Author: Amlal El Mahrouss - amlal@nekernel.org