Added some documentation

This commit is contained in:
2024-04-02 20:18:35 +02:00
parent 6064b7d406
commit fd002cdbe1
2 changed files with 47 additions and 0 deletions
+2
View File
@@ -7,6 +7,8 @@ Idk why i called it that it was 3am and i needed sleep
Kern is a 32-bit OS based on the x86 architecture written in NASM Assembly and C. Kern is a 32-bit OS based on the x86 architecture written in NASM Assembly and C.
I'm working on a basic command line as well as a custom filesystem (filetable for now). I'm working on a basic command line as well as a custom filesystem (filetable for now).
More info can be found in [The Docs](./docs/main.md)
_Since 32-bit switch, a lot of features have been removed because they were dependent on BIOS interrupts_ _Since 32-bit switch, a lot of features have been removed because they were dependent on BIOS interrupts_
## Usage ## Usage
+45
View File
@@ -0,0 +1,45 @@
# kern.
Kern is a 32-bit x86 based operating system.
What does that mean?
Well, 32-bit means that it can access $2^32$ different memory addresses.
x86 is the processor architecture it is built upon.
## Command Line
Kern uses a command line (for now), so you'll have to type commands to do stuff.
It is currently quite simple. It supports these commands:
- clear: Clears the screen
- echo <msg>: Prints msg to the screen
- exit: Shuts down the OS ***(QEMU only!)***
- help: Prints all available commands
- ls: Prints all files
- reboot: Reboots the system
You can also print/run files by typing their filename (More in **Filesystem**)
## Filesystem
Kern has a custom filesystem. This filesystem works as a simple filetable.
It doesn't support directories at the moment.
Here's a list of supported filetypes:
| Type | Description | CLI Behaivour |
| ---- | ----------- | ------------- |
| .bin | Executable binary | Executes file |
| .txt | Raw ASCII text file | Prints out file content |
| .tab | Filetable format | Prints files in filetable |
| .dat | Data Binary | Prints HEX content of file |
| .asm | Assembly source code | Prints out file content |
### Filetable format
The filetable format (.tab) is a binary file containing
| Byte(s) | Content |
| ------- | -------- |
| 0-9 | Filename |
| 10-12 | Filetype |
| 13 | Number of filetable entries |
| 14 | Starting sector |
| 15 | File Length (in sectors) |