With pure C and Assembly. This is very quirky, I had to change a lot of stuff moving it onto replit.
Due to the way I did gdt setup and other things I couldn't actually get paging or switching to user mode to work. I still made what was essentially a "user program" but it cant even be loaded on replit!
Im not going to be improving this any more due to its inability to enter user mode. After I failed paging I intended to just use segmentation but without being able to enter user mode users could just change their own segments to anything they wanted. The only way to implement user programs now is some kind of interpreter embedded into the kernel.
@sugarfi Im not talking about running speed, im talking about the extra steps it takes to do things C comes built in with.
You could try to add memory management into python, but it isn't built for that and C is, so when something goes wrong you might be questioning whether your doing something wrong or if the memory management itself is buggy