Nothing much

This commit is contained in:
2025-04-27 22:05:58 +02:00
parent 1bc758f3c1
commit bbb3c131b3
4 changed files with 23 additions and 135 deletions
+1 -13
View File
@@ -10,19 +10,7 @@ Kern is broken at the moment. The last working commit is: '11feab5'
About
-----
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 unix-esque filesystem.
It has a simple shell with some commands (use 'help' for a list of available ones).
Features
--------
* Shell
* Filesystem
* Userspace
* Font support
* Graphics mode
* Physical memory manager
* Virtual memory manager
* System calls
It attempts to be a µ-kernel, although i have no clue what i'm doing.
Dependencies
------------
+16 -109
View File
@@ -1,113 +1,20 @@
TODO
====
Legend
------
- [ ] Not done
- [x] Done
- [_] Was done at some point, but isn't now
- [!] Important todo
- [?] Optional
Todos
-----
- [ ] Kernel
- [ ] Syscalls
- [ ] exit()
- [ ] fork()
- [ ] read()
- [ ] write()
- [ ] open()
- [ ] close()
- [ ] waitpid()
- [ ] creat()
- [ ] link()
- [ ] unlink()
- [ ] execve()
- [ ] chdir()
- [ ] time()
- [ ] mknod()
- [ ] chmod()
- [ ] chown()
- [ ] break()
- [ ] stat()
- [ ] mount()
- [ ] umount()
- [ ] alarm()
- [ ] pause()
- [ ] access()
- [ ] nice()
- [ ] sync()
- [ ] kill()
- [ ] rename()
- [ ] mkdir()
- [ ] rmdir()
- [ ] dup()
- [ ] pipe()
- [ ] Memory
- [x] Physical MM
- [x] Virtual MM
- [x] Paging
- [ ] Kernel Heap
- [ ] Drivers
- [x] tty
- [ ] ATA PIO
- [x] serial
- [ ] Timer
- [ ] VFS
- [ ] RAMFS
- [ ] FAT32
- [ ] DevFS
- [ ] /dev/std*
- [ ] /dev/tty
- [ ] /dev/sd*
- [ ] /dev/fb0
- [ ] /dev/null, /dev/zero, ...
- [ ] SysFS
- [ ] ProcFS
- [ ] Bootloader
- [ ] MBR
- [ ] EFI
- [ ] Libc
- [ ] assert.h
- [ ] complex.h (idk why we would need this)
- [ ] ctype.h
- [ ] errno.h
- [ ] fcntl.h
- [ ] float.h
- [ ] limits.h
- [ ] math.h
- [ ] setjmp.h (this plagues my mind)
- [ ] signal.h (we would need signals first)
- [ ] stdarg.h
- [ ] stdbool.h
- [ ] stddef.h
- [ ] stdint.h
- [ ] stdio.h
- [ ] stdlib.h
- [ ] string.h
- [ ] syscall.h
- [ ] time.h
- [ ] unistd.h (does POSIX need us?)
- [ ] wchar.h (we would need text support for wide chars ig?)
- [ ] wctype.h (same as above)
- [ ] Userspace
- [ ] sh
- [ ] as
- [ ] cc
- [ ] ld
- [ ] editor
- [ ] binutils
- [ ] coreutils
- [ ] minesweeper
- [ ] solitaire
- [ ] tetris
- [ ] doom
- [ ] Write an OS in kern.
- [ ] Paradox
- [ ] Finish all the TODOs
[x] Boot
[x] Multiboot 1
[x] IDT
[x] ISRs
[x] GDT
[x] Physical MM
[x] Virtual MM
[x] Paging
[x] Serial monitor
[ ] Timer interrupts
[ ] Task switching
[ ] IPC
[ ] Graphics
[ ] Networking :)
[ ] Finish all the TODOs
[ ] Run DOOM
-9
View File
@@ -1,9 +0,0 @@
#ifndef _KMALLOC_H
#define _KMALLOC_H
void* kmalloc(size_t size);
void* kzalloc(size_t size);
void* kcalloc(size_t count, size_t size);
void kfree(void* ptr);
#endif
+6 -4
View File
@@ -29,10 +29,12 @@ void kmain(void* ptr, uint32_t magic) {
if (tty_init() != 0) panic("Failed to initalize TTY driver.");
tty_puts("kern.\n\n");
debugf("[kernel] Basic initialization complete!\n");
// TODO: Init VFS
// TODO:
// TODO: Timer
// TODO: Scheduler
// TODO: Syscalls
// TODO: Interprocess communication
// TODO: Tasking
// TODO: Load & run /sbin/init
panic("kmain() reached end.");
}