Developing a dynamic library loader for SODIUM, an educational operating system

Resumen

The development of a dynamic program loader allows the processes to execute shared library functions across different memory segments. This research incorporates the use of shared memory, and the ability to link and invoke dynamic libraries into SODIUM, and educational operating system. Through the analysis of the Executable and Linking Format (ELF) generated by the GCC compiler, we were able to perform a runtime exchange of memory administrators, while showing the way that the shared memory is assigned, even with data segments, such as re-entering code. To this end, we made amendments to the implementation of a dynamic library for segmentation mode, also defining the changes for paging mode. These changes were made through adaptations to the memory loader of SODIUM, to allow it to recognize the ELF format in order to use for memory address assignment.