You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I was playing with the idea about writing a simple loader for BareMetal OS so that it is possible to start another app while running (i.e. a shell starting a application or a application and a network stack running in paralell)
I have some ideas but i don't know which to try out first:
making apps PIE (position independent executables)
the loader is easy just read from memory and jump right into it, just like the cli currently does, bot can be loaded to any location
this needs support from the build tools i haven't found much about compilers supporting it
having a relocator
the relocator would disassemble the binary and translate all address that point into its own memory
for larger application the load time needs to be considered
don't build flat binaries, build some relocateable format (i.e. elf)
requires to build or port a tool that can read this format
use paging to let the applications appear all in the same location
i think this makes other things harder, ipc in a flat memory model could be done by just passing pointers with paging this isn't possible
If anyone has some advices or suggestion, feel free to post
I was playing with the idea about writing a simple loader for BareMetal OS so that it is possible to start another app while running (i.e. a shell starting a application or a application and a network stack running in paralell)
I have some ideas but i don't know which to try out first:
If anyone has some advices or suggestion, feel free to post