doom is now using the native api, add a PEB + TEB to replace the dummy and the awkward argument passing to processes, all allocations are zeroed because i had enough, small readme changes and dedication.
This commit is contained in:
1 parent
ddb5d5f5d8
commit
f5fd7bdd75
28 files changed
+6334
-5722
No files matched your search
@@ -1,5 +1,7 @@
|
||||
# NT-Lite -- an x86-64 kernel
|
||||
|
||||
## The Monster From ~~Redmond~~ Kraków
|
||||
|
||||
Boots. Runs processes. Mimics Windows to some extent.
|
||||
|
||||
## what is it?
|
||||
@@ -17,7 +19,7 @@ The codebase is roughly 20k lines of C and assembly.
|
||||
- preemptive scheduler with priority levels
|
||||
- processes and threads
|
||||
- VFS with IRPs
|
||||
- drive-letter paths such as `0:\apps\shell.exe`
|
||||
- drive-letter paths such as `0:/apps/shell.exe`
|
||||
- INI-based boot and driver configuration
|
||||
- PE import resolution and dynamic driver loading
|
||||
- partial Win32 personality
|
||||
@@ -52,7 +54,7 @@ Currently shipping: AHCI (interrupts), IDE (PIO/DMA), and FAT32.
|
||||
|
||||
All file access flows through the VFS layer. That keeps disk access, filesystem parsing, and path translation separate instead of spreading storage logic across the rest of the kernel.
|
||||
|
||||
Paths are not interpreted as Windows paths by default. A drive such as `0:\` is a mounted namespace, while the Win32 and POSIX personalities translate their own path styles into the same underlying VFS.
|
||||
Paths are not interpreted as Windows paths by default. A drive such as `0:/` is a mounted namespace, while the Win32 and POSIX personalities translate their own path styles into the same underlying VFS.
|
||||
|
||||
### processes, threads, and syscalls
|
||||
|
||||
@@ -84,9 +86,9 @@ The Win32 personality supports programs that expect drive letters, familiar proc
|
||||
## paths
|
||||
|
||||
```text
|
||||
"apps\shell.exe" -> current working directory
|
||||
"0:\apps\shell.exe" -> drive 0
|
||||
"2:\data\config.ini" -> drive 2
|
||||
"apps/shell.exe" -> current working directory
|
||||
"0:/apps/shell.exe" -> drive 0
|
||||
"2:/data/config.ini" -> drive 2
|
||||
```
|
||||
|
||||
Drives 0-7 are available. A drive only works if a filesystem is registered on it. The Win32 personality translates drive letters to drive numbers, while the POSIX personality maps drives onto a tree.
|
||||
@@ -290,6 +292,9 @@ A: Learning. Fun.
|
||||
Q: Does it run Doom?
|
||||
A: `doom.exe`
|
||||
|
||||
Q: How often does it crash?
|
||||
A: Yes.
|
||||
|
||||
Q: Is the Win32 layer real?
|
||||
A: Real enough to load binaries that expect it. Not real enough to run Notepad.
|
||||
|
||||
@@ -299,7 +304,7 @@ A: No. But IPC is free.
|
||||
Q: Is this finished?
|
||||
A: No.
|
||||
|
||||
Will it corrupt my data?
|
||||
Q: Will it corrupt my data?
|
||||
A: It shouldn't.
|
||||
|
||||
Q: Why is the path syntax so weird?
|
||||
@@ -313,3 +318,5 @@ A: This document.
|
||||
|
||||
Q: Can I use this in production?
|
||||
A: Don't.
|
||||
|
||||
#### Projekt dedykowany dla szanownego Pana profesora Leszka Wójcika przez którego znienawidziłem Unixa.
|
||||
Reference in new issue
Block a user