summaryrefslogtreecommitdiffhomepage
path: root/SPECIFICATION.TXT
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2024-01-29 22:38:43 +0100
committerAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2024-01-29 22:38:43 +0100
commita8c17ccd6d97cc78830917dc6282b040b21ba16c (patch)
tree2181e96ccf9c89c677d2208661bce5584a667470 /SPECIFICATION.TXT
parent78861f1b16f18a85e9f6890e16eb320412b6ab80 (diff)
Kernel: Update SPECS and TODO list.
Cleaned up the SPECS to get into the point. Current Task: Load kernel into memory. Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'SPECIFICATION.TXT')
-rw-r--r--SPECIFICATION.TXT59
1 files changed, 17 insertions, 42 deletions
diff --git a/SPECIFICATION.TXT b/SPECIFICATION.TXT
index 504e1278..0b2238e7 100644
--- a/SPECIFICATION.TXT
+++ b/SPECIFICATION.TXT
@@ -2,55 +2,30 @@
0: Generic Information
===================================
-- ABI/Format: Portable Executable Format.
+- ABI/Format: PEF/PE32+.
- Architecture: Microkernel.
-- Language: C++/C/Assembly (AMD64, X64000, X86S, ARM64)
+- Language: C++/(Assembly (AMD64, X64000, X86S, ARM64))
===================================
1: The HCore Microkernel
===================================
-HCore mounts NewFS by default, a journal filesystem meant for GUI use.
-It makes use of a concept named 'Fork'
-It contains data about a specific 'Catalog'
-
-Programs are load using the PEF. PEF is a multiplatform container
-for executables/shared libraries. Dwarf is used for debugging.
-
-HCore has SMP in it's core with a preemptive multi-threaded scheduler.
-It also supports dynamic loading of symbols and has a rich driver system.
-
-====================================
-2: The GUI Kit
-====================================
-
-We have a Look and Feel system, to support custom application themes.
-CWindowLookAndFeel interface takes care of that.
-
-===================================
-3: The System Kit
-===================================
-
-We use C++ for this API, use it when dealing with C++ code. For C use RTKit.
-It is the unstable APIs with RTKit, they change a lot.
-
-Use the App Subsystem to create apps.
-
-===================================
-4: The RunTime Kit
-===================================
-
-It is a C API, they're mostly system calls, use this to make hCore
-optimizations.
-
+- Drive Abstraction.
+- SMP, Preemptive MT.
+- Separation of Files/Devices.
+- Networking.
+- Hardware Abstraction Layer.
+- Native Filesystem support (NewFS).
+- Program Loader.
+- TLS.
+- Dynamic Libraries.
+- Cross platform code (it has to work for each platform)
===================================
-5: The New Filesystem
+2: The Filesystem
===================================
-Based on HFS+ design of catalogs and forks, it is designed with journaling and recovery in mind.
-It's going to take advantage of the disk hardware.
-
-Such as RAID for NVME.
-
-SPECS:
+- Catalog based with forks.
+- Large storage support.
+- Long file names.
+- UNIX path style.