| As an important application of embedded computer in aerospace field,space computer is responsible for data acquisition and transmission,attitude and orbit control on spacecraft.With the rapid development of the aerospace industry,the scale and complexity of space missions have increased,and the types and quantities of software on space computers have also increased.The application of space operating systems can efficiently manage hardware and software on computers,and provide users with more convenient to use.The application software in the space operating system runs under the kernel scheduling in the form of tasks.The online adjustment of the running tasks and the rapid changes of the external environment put forward higher flexibility and scalability requirements for the space operating system.The space computer is then able to dynamically load,unload,and maintain tasks during operation.Although various methods have been adopted to improve the scalability of the space operating system,the dynamic loading of tasks has not been realized,and the problems of limited storage and computing resources have not been considered.Therefore,it is urgent to design and verify a more effective dynamic loading mechanism for the space operating system.In this paper,the related research on dynamic loading mechanism is carried out on the basis of investigating the research status at home and abroad.Firstly,a dynamic loading framework oriented to the space operating system is proposed,the loading process of the files to be loaded from the ground to the space computer is described,and the functions and interrelations of each functional module are clarified,and the loading method of user software and function library are unified.secondly,an object file protocol SpaceELF and lossless compression algorithm LZRC suitable for the dynamic loading framework are proposed.The protocol reconstructs the symbol table,relocation table,etc.And it solves the problems of high memory occupation and complex symbol resolution of the ELF format.The lossless data compression algorithm based on double index further reduces the redundancy of the object file and the storage burden of the space computer.Both of them provide a more efficient way of data organization for the files to be loaded.Finally,a dynamic linking method suitable for the framework is proposed.This method adopts the relocation strategy during loading and the dependency analysis tool to solve the problem of module address fixation and task loading error in the manual loading mode,and provides 15 SPARC relocation types of calculation methods and module maintenance functions for the space operating system to ensures the correct loading and linking of object files.This paper implements related prototype tools such as the builder and linker of the object file,and tests and compares them in the experiment.The experimental results show that the function of the tool is correct and there is performance advantage in memory usage and link efficiency.It improves the flexibility and scalability of the space operating system,and provides a more convenient way for the testing and deployment of application software. |