| With the development of computer hardware and software technology,computer equipment is developing towards network,intelligence,integration,which requires the operating system to have higher security,reliability and scalability,the mainstream macro kernel operating system and embedded operating system can not meet such needs.By simplifying kernel design,microkernel operating system decouples most services and runs in user mode as independent components.Such a design can achieve high security,reliability and scalability,and can be well adapted to intelligent networked vehicles and other scenarios.Dynamic loading and linking is an important function of general operating system and a key supporting factor of software engineering modular design.However,there are few researches and applications of dynamic loading and linking in microkernel operating systems.In terms of engineering implementation,many microkernel operating systems adopt the static construction mode of selecting required system services and application programs when compiling,which lacks flexibility and may destroy the isolation between system services and application programs.In this thesis,the ELF format program file based on Cortex-M and Cortex-A research and implementation of dynamic loading and linking technology,improve the microkernel operating system’s scalability,development convenience,system services and isolation between applications.On the Cortex-M platform,it implements dynamic loading,dynamic linking and runtime relocation technologies of ELF programs based on position independent code.For the platform of random access memory resource shortage,it researches and implements separation of code and data,sharing position independent code and other technologies,and carries out specific and representative functional testing and verification for each technology.The scalability and development convenience of the microkernel operating system on the Cortex-M platform are improved,and a solution to the shortage of random access memory resources is researched and realized.On the Cortex-A platform that supports virtual memory technology,this thesis studies the implementation of the executable file,dynamic link library,position independent executable object support,and on the basis of functional testing,some open source software porting attempts.The dynamic loading and linking technology based on microkernel proposed in this thesis has certain universality and sustainability for the construction of microkernel operating system software ecosystem. |