| ▲ | reactordev 4 days ago | |||||||
virtual memory requires pages and this sucker doesn’t have them. Only a heap that you can use with heap_x.c Everything is manual. I get you people are trying to be cheeky and point out all modern OS’s don’t have this problem but C runs on a crap ton of other systems. Some of these “OS” are really nothing more than a coroutine from pid 0. I have 30 years experience in this field. | ||||||||
| ▲ | sph 4 days ago | parent [-] | |||||||
Yeah I think I get your problem. I am prototyping a message-passing actor platform running in a flat address space, and virtual memory is the only way I can do cleanup after a process ends (by keeping track of which pages were allocated to a process and freeing them when it terminates) Without virtual memory, I would either need to force the use of a garbage collector (which is an interesting challenge in itself to design a GC for a flat address space full of stackless coroutines), or require languages with much stricter memory semantics such as Rust so I can be safe everything is released at the end (though all languages are designed for isolated virtual memory and not even Rust might help without serious re-engineering) Do you keep notes of these types of platforms you’re working on? Sounds fun. | ||||||||
| ||||||||