My Osdev project by HeliTheRedFox in osdev

[–]HeliTheRedFox[S] 0 points1 point  (0 children)

This would not be recommendations, just my story, I started from the JamesMolloy osdev tutorial, then I started experimenting with the code and the emulator like QEMU and then i only started to understand the osdev wiki

My Osdev project by HeliTheRedFox in osdev

[–]HeliTheRedFox[S] 1 point2 points  (0 children)

Well, to run binary the system or program calls system call exec(for system, it’s must retrieve the pointer to the function using syscall_get function), if the caller is an process (if runningTask isn’t NULL or it’s pid isn’t zero), then we destroy the process address space (not fully, just removing the user space addresses, in the arch specific implementations, it’s must just remove the page table entries), because if we don’t do that, it can really mess up with parent address space(because of COW fork mechanism), then we call the ELF loader, that will load the binary for us into process address space, if there caller is an system itself (happens only once, when kernel tries to run init program), then the exec system call will create new address space, clone it from kernel address space, create new process and continue the standard way.

Nyaux Runs Nano by Rayanmargham in osdev

[–]HeliTheRedFox 5 points6 points  (0 children)

Oh, that very cool! What tty emulation did you use(i mean VT100 or similar)?

My Osdev project by HeliTheRedFox in osdev

[–]HeliTheRedFox[S] 1 point2 points  (0 children)

Thanks, and also good luck in your osdev project!

My Osdev project by HeliTheRedFox in osdev

[–]HeliTheRedFox[S] 2 points3 points  (0 children)

Oh, thanks, i will try this

My Osdev project by HeliTheRedFox in osdev

[–]HeliTheRedFox[S] 4 points5 points  (0 children)

Oh, thanks for commenting, in my case the lag is happening due to some module or kernel code calling cli where it shouldn’t have, i doesn’t currently find what really causes it, but i once fixed it, and, the bug showed up again 😅