diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2025-12-28 09:23:05 +0100 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal@nekernel.org> | 2025-12-28 09:24:36 +0100 |
| commit | 9012c6fb7c040be92aa8f950bad4f49c5be264d8 (patch) | |
| tree | 581b9aaf6f372bf62c81d9626c63e835ea65736c /doc/specs/SPECIFICATION_OS.md | |
| parent | 42d321d36c8922de043bb65693fd427c51f89f14 (diff) | |
feat! rename docs to doc.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'doc/specs/SPECIFICATION_OS.md')
| -rw-r--r-- | doc/specs/SPECIFICATION_OS.md | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/doc/specs/SPECIFICATION_OS.md b/doc/specs/SPECIFICATION_OS.md new file mode 100644 index 00000000..08c2b326 --- /dev/null +++ b/doc/specs/SPECIFICATION_OS.md @@ -0,0 +1,82 @@ +=================================== + +# 0: General Information: + +=================================== + +- ABI and Format: PEF/PE32+. +- Kernel architecture: Portable hybrid Kernel. +- Used Languages: C++, and Assembly Assembly (AMD64, X64000, X86S, ARM64, POWER, RISCV) +- 32-bit is not supported as of 12/25/2025. + +=================================== + +# 1: The Kernel (NeKernel) + +=================================== + +- Drive/Device Abstraction. +- SMP, Preemptive Multi Threading. +- Separation of Files/Devices. +- Networking Support. +- Hardware Abstraction Layer. +- Native Filesystem support (NeFS, FAT32 and ffs2). +- Program Loaders interfaces. +- TLS (Thread Local Storage) support. +- BinaryMutex, Locks, Timers. +- Canary mechanisms. +- Dynamic Loader. +- Cross Platform. +- Permission Selectors. +- Modular and Security focused. + +=================================== + +# 2: The Filesystem (NeFS, or OpenHeFS) + +=================================== + +- Catalog object with associated forks. +- Large storage support. +- Long file names. +- UNIX path style. +- Can be formated under 8mb. + +================================== + +# 3: Common conventions: + +================================== + +- Kernel -> ke_init_x +- RunTime -> rt_copy_mem +- Hal -> hal_foo_bar +- Class methods -> Class::FooBar +- Internals function shall be formated as such: (hali, rtli, rti...) + +=================================== + +# 4: The Bootloader (BootZ) + +=================================== + +- Capable of booting from a network drive. +- Loads a PE file which is the Kernel, or any modules. +- Sanity checks, based on the number of sections. +- Handover compliant. +- Does check for a valid partition (useful in the case of recovering) +- Modular, and Security focused. + +=================================== + +# 5: The IFS + +================================== + +- Filesystem to mountpoint interface abstraction. +- VFS-like subsystem inspired by NT/OS2 IFS. +- Multi-drive support (A, B, C, D indices). +- Ext2 support via IFS layer. +- Packet-based I/O operations. +- Separation of read/write operations per drive. + |
