summaryrefslogtreecommitdiffhomepage
path: root/SPECIFICATION.TXT
blob: 11ee62e34dd5a769e4906e30f533787e16a06539 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
===================================
0: General Information
===================================

- ABI and Format: PEF/PE32+.
- Kernel architecture: Microkernel.
- Language: C++/(Assembly (AMD64, X64000, X86S, ARM64))

===================================
1: The HCore Microkernel
===================================

- Drive/Device Abstraction.
- SMP, Preemptive Multi Threading.
- Separation of Files/Devices.
- Networking.
- Hardware Abstraction Layer.
- Native Filesystem support (NewFS, FAT32 and HCFS).
- Program Loaders.
- Thread Local Storage.
- Semaphore, Locks, Timers.
- Canary mechanisms.
- Dynamic Libraries.
- Cross Platform.
- Permission Selectors.

===================================
2: The Filesystem
===================================

- Catalog based with forks.
- Large storage support.
- Long file names.
- UNIX path style.

==================================
3: Common naming conventions:
==================================

- Kernel -> ke_init_x
- RunTime -> rt_copy_mem
- Hal -> hal_foo_bar

===================================
4: The HCore Bootloader
===================================

- Capable of booting from a network drive.
- Loads a PE file which is the kernel
- Sanity checks, based on the number of sections. 
- Handover compliant.
- Does check for a valid invalid of HCore (useful in the case of recovering)