forked from PoliEcho-holding-org/kern
Added some documentation
This commit is contained in:
@@ -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) |
|
||||
|
||||
Reference in New Issue
Block a user